Как сделать часть конкретного материала доступным только для зарегистрированных пользователей?

голоса: 0

Здравствуйте.

Помогите, пожалуйста. Мне нужно сделать выборочно несколько материалов на сайте доступными только для зарегистрированных пользователей. Вернее даже, не весь материал полностью, а только часть его. Сейчас объясню более подробно.

Надо сделать так, чтобы текст в нужном мне материале оставался виден всем, а табы с видео, которые содержат несколько вкладок, были доступны только зарегистированным. То есть, скрыть нужно вот это:

Чтобы человек зашел на сайт, прочитал текст, а вместо табов с видео увидел изображение с надписью о том, что просмотр доступен только зарегистрированным пользователям.

Вот как это должно выглядеть (увидела на одном из сайтов Юкоз)

| Автор: | Категория: Каталоги

Ответов: 1

Голоса: +1
 
Лучший ответ

Делается примерно так, тот текст который должен быть скрыт от гостя заворачиваем например в код:

<span class="user-reg">здесь текст или что нужно скрыть</span>

далее прописываем в шаблон страницы комментариев модуля перед </body> скрипт:

 <?if(!$USER_LOGGED_IN$)?> 
<script type="text/javascript"> 
$('.user-reg').after('<a href="/register/">Доступно только для зарегистрированных пользователей</a>').remove(); 
</script> 
<?endif?>

далее в стилях задаем для класса в который завернули фон или что нужно:

.user-reg {пишем стили и прописываем фон}

| Автор:
Выбор ответа лучшим | | Автор: Катя
Так если я пропишу в шаблон комментариев, то у меня тогда ВЕСЬ материал во всем модуле не будет доступен, а мне нужно выборочно, отдельный материал спрятать. Условно говоря, если в модуле 100 страниц с материалом, но нужно страницы 2-3 из них сделать доступны только для зарегистрированных, а остальные не трогать. А у вас тут общий код для всех.  Видимо, я изначально плохо объяснила и вы меня не поняли. Или я плохо поняла то, что мне только что тут написали.  И еще, мне не ясно, о каком фоне идет речь? Мне не нужно менять фон, нужно спрятать табы с видео и все.

На тестовом сайте только что попробовала без стилей и без фона (вообще не поняла, о чет тут речь, если честно), прописать вот так

<span class="user-reg">Здесь скрипт с табами</span>

перед боди поставила это

 <?if(!$USER_LOGGED_IN$)?> 
<script type="text/javascript"> 
$('.user-reg').after('<a href="/register/">Доступно только для зарегистрированных пользователей</a>').remove(); 
</script> 
<?endif?>

И ничего не изменилось. Как были табы с видео, так и есть.

Катя,

Выше в примере описано, редактируем материал в котором нужно скрыть и завертываем нужную часть которую хотите скрыть. Ссылку на пример предоставьте где вы применили скрипт и не удалили еще.

  • В примере выше можно вместо кода:

<a href="/register/">Доступно только для зарегистрированных пользователей</a>

прописать код:

<img src="ссылка на фото которое вывести для гостей">

Вот ссылка http://akulaz.at.ua/publ/igry/mat_i_ditja_mama/1-1-0-12  Использую Фаерфокс. Уже раз 10 обновляла страницу и ничего.  P.S. Ничего не понимаю, в Гугле и Яндексе данный метод работает, а в Мозиле нет?  Или это только у меня так? Вы видите картинку вместо табов в Фаерфоксе?
Катя,

Все работает, в момент подгрузки страницы видно вкладки, после подменяется скриптом:

Вот в мозиле, выше смотрел в хроме:

отключите расширения блокираторы рекламы и java script, возможно они блокируют.

Вы через какой браузер смотрели? Посмотрити через Мозилу. У меня в ней почему-то данный способ не работает.
У меня нет блокироторов рекламы. Подскажите, как кэш очистить?  И еще такой вопрос, как сделать так, чтобы при нажатии на картинку появлялась форма регистрации? А  то не ясно будет людям, как регистрироваться?
Катя,

Заверните код фото:

<img src="">

в ссылку:

<a href="/register/"><img src="ссылка на фото которое вывести для гостей"></a>

чтобы форма, то вместо ссылки /register/ прописать код $REGISTER_LINK$ либо же сразу форму - $LOGIN_FORM$

/register/ выдает ошибку 404. Почему?
Катя,
Пропишите ссылку полностью - http://akulaz.at.ua/register тогда будет нормально.
Да, если полностью, то работает, а если прописать $REGISTER_LINK$ либо же сразу форму - $LOGIN_FORM$, то как правильно прописывать?
Катя,
Проверяйте как лучше, пробуйте по очереди.
Если прописываю вот так <a href="$REGISTER_LINK$"><img src="ссылка на фото которое вывести для гостей"></a>, то вообще не работает и табы снова становятся видны.  И если так, то тоже не работает <a href="$LOGIN_FORM$"><img src="ссылка на фото которое вывести для гостей"></a>  Так что, остается только 1 способ с ссылкой на регистрацию.  Огромное спасибо вам за помощь, Юрий! Получилось как раз то, что было нужно!
...