Как сделать чтобы гости не видели ссылку?

Главные вкладки

Аватар пользователя ermoha ermoha 28 августа 2011 в 19:29

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

Комментарии

Аватар пользователя ingumsky@drupal.org ingumsky@drupal.org 28 августа 2011 в 22:28

Выводите ссылку в блоке, а сам блок показывайте только зарегистрированным пользователям. Незарегистрированным (и только им) вместо этого блока показывайте приглашение к регистрации.

Аватар пользователя ingumsky@drupal.org ingumsky@drupal.org 28 августа 2011 в 23:02

"ermoha" wrote:
я себя поправлю, чтобы гости не видели ссылку в ноде

У вас ссылка прямо в тексте ноды или вы готовы сделать её отдельным полем cck? Если второе, тогда вы можете воспользоваться советом из второго комментария — настроить права доступа так, чтобы анонимы не видели этого поля. Или поправить шаблон своего типа содержимого так, чтобы это поле отображалось по условию. Будет что-то вроде этого:
<?php if ($user->uid > 0) {
// Если пользователь, не аноним, показываем содержимое поля
print $node->field_mylink;
} else {
print "К сожалению, вы не можете видеть ссылку до тех пор, пока не зарегистрируетесь";
}
?>

Аватар пользователя ingumsky@drupal.org ingumsky@drupal.org 28 августа 2011 в 23:27

Если вы полный нуб, лучше это пока никуда не пишите Smile Это не рабочий код, а просто пример логики, которая должна использоваться. Почитайте сперва про темизацию типов содержимого. Скорее всего, вам всё равно придётся с ней разбираться. Примерное направление работы для вас в таком случае: почитать про темизацию содержимого -> свой шаблон для вашего типа содержимого (поместить его в папку темы) -> поправить шаблон так, как вы хотите + вставить код вроде того, что привёл я, туда.

Аватар пользователя ingumsky@drupal.org ingumsky@drupal.org 29 августа 2011 в 0:14

"ermoha" wrote:
Спасибо буду читать. Я просто думал есть какой-нибудь модуль для этого

Возможно, есть и модуль, который делает то, что вам нужно. Я не знаю.
"ermoha" wrote:
А это будет работа для всех ссылок или только к каким этот код пропишу.

Если вы вписываете ссылку в отдельное поле cck, то это будет работать для всех ссылок, которые вписываются в это поле в любом экземпляре этого поля.
"ermoha" wrote:
Это надо в node.tpl.php прописать этот код, да? Или я что0то не понимаю?

Желательно в node-ваштипсодержимого.tpl.php

Аватар пользователя ermoha ermoha 29 августа 2011 в 0:36

А что можно написать вместо ваштипсодержимого. Это просто нужно создать файл и написать туда

<?php if ($user->uid 0) {
// Если пользователь, не аноним, показываем содержимое поля
  
print $node->field_mylink;
} else {
  print 
"К сожалению, вы не можете видеть ссылку до тех пор, пока не зарегистрируетесь";
}
?>
Аватар пользователя ingumsky@drupal.org ingumsky@drupal.org 29 августа 2011 в 1:24

Я же говорю — почитайте про темизацию, пригодится в любом случае. Сразу будет понятно, как называть файлы в вашем конкретном случае и что оставлять в качестве его содержимого. Удачи!