Часто бывает, что нужно сделать некоторые элементы блога видимыми только зарегистрированным пользователям. Например, только для зарегистрированных показывать голосование или какой-нибудь виджет. Есть один очень простой способ, который я и сам иногда применяю, когда особо не хочется разбираться в тонкостях кода шаблонов, который позводяет с помощью CSS и простого условия делать невидимые для незарегистрированных пользователей элементы – его могут применять даже новички.
Сначала создадим глобальное условие, которое будет выполняться на всех страница блога, разделяющее зарегистрированных от незарегистрированных в блоге пользователей – воспользуемся в CSS директивой display. Ддя этого откроем файл header.php, и добавим в него до тега body такой код:
#for-user { display:none !important; } #for-user {display:inline-block !important; }
Мы создали оформление id=”for-user”. Если пользователь не зарегистрирован, то элемент с этим оформлением ему не виден, если же он зарегистрирован, то элемент становится видимым.
Теперь, если вам нужно скрыть какой-то элемент, вы открываете шаблон, находите в его в нем, и добавляете к нему id=”for-user”. Например:
<div id="for-user">код элемента</div>
Этот способ может работать и в обратную сторону – если поменять оформление местами, то элементы будут видны только незарегистрированным пользователям:
#for-user {display:inline-block !important; } #for-user { display:none !important; }
Например, таким образом можно скрывать рекламные блоки от зарегистрированных, показывая рекламу только незарегистрированным пользователям.
Хорошо :) !
только этот способ всего лишь скрывает информацию с экрана.
Стоит лишь посмотреть сорцы страницы.
На то он и простой способ.
Ну а если посмотреть исходный код страницы, то навряд ли это поможет. Например, я скрыл возможность незарегистрированным пользователям оценивать комментарии. Даже если посмотреть исходный код, пользы от этого будет мало – видно лишь javascript:Karma в обрамлении указателей на картинки – не думаю, что это как-то поможет :)
Но вообще да, лучше условие вставлять напрямую в шаблон, а вместо стилей использовать коды элементов.