Выводите ссылку в блоке, а сам блок показывайте только зарегистрированным пользователям. Незарегистрированным (и только им) вместо этого блока показывайте приглашение к регистрации.
я себя поправлю, чтобы гости не видели ссылку в ноде
У вас ссылка прямо в тексте ноды или вы готовы сделать её отдельным полем cck? Если второе, тогда вы можете воспользоваться советом из второго комментария — настроить права доступа так, чтобы анонимы не видели этого поля. Или поправить шаблон своего типа содержимого так, чтобы это поле отображалось по условию. Будет что-то вроде этого:
<?php if ($user->uid > 0) {
// Если пользователь, не аноним, показываем содержимое поля
print $node->field_mylink;
} else {
print "К сожалению, вы не можете видеть ссылку до тех пор, пока не зарегистрируетесь";
}
?>
Если вы полный нуб, лучше это пока никуда не пишите Это не рабочий код, а просто пример логики, которая должна использоваться. Почитайте сперва про темизацию типов содержимого. Скорее всего, вам всё равно придётся с ней разбираться. Примерное направление работы для вас в таком случае: почитать про темизацию содержимого -> свой шаблон для вашего типа содержимого (поместить его в папку темы) -> поправить шаблон так, как вы хотите + вставить код вроде того, что привёл я, туда.
А что можно написать вместо ваштипсодержимого. Это просто нужно создать файл и написать туда
<?php if ($user->uid > 0) { // Если пользователь, не аноним, показываем содержимое поля print $node->field_mylink; } else { print "К сожалению, вы не можете видеть ссылку до тех пор, пока не зарегистрируетесь"; } ?>
Я же говорю — почитайте про темизацию, пригодится в любом случае. Сразу будет понятно, как называть файлы в вашем конкретном случае и что оставлять в качестве его содержимого. Удачи!
Комментарии
http://api.drupal.org/api/drupal/modules--user--user.module/function/use...
например CCK и Content Permissions
А что именно надо сделать только начал изучать друпал
всё зависит от того как вы выводите ссылку
Я В CKEditor ссылку делаю
CCK сделает Вам приятно.
Выводите ссылку в блоке, а сам блок показывайте только зарегистрированным пользователям. Незарегистрированным (и только им) вместо этого блока показывайте приглашение к регистрации.
я себя поправлю, чтобы гости не видели ссылку в ноде
У вас ссылка прямо в тексте ноды или вы готовы сделать её отдельным полем cck? Если второе, тогда вы можете воспользоваться советом из второго комментария — настроить права доступа так, чтобы анонимы не видели этого поля. Или поправить шаблон своего типа содержимого так, чтобы это поле отображалось по условию. Будет что-то вроде этого:
<?php if ($user->uid > 0) {
// Если пользователь, не аноним, показываем содержимое поля
print $node->field_mylink;
} else {
print "К сожалению, вы не можете видеть ссылку до тех пор, пока не зарегистрируетесь";
}
?>
Как я понял я полный нуб. Куда это нужно вписать?
Если вы полный нуб, лучше это пока никуда не пишите Это не рабочий код, а просто пример логики, которая должна использоваться. Почитайте сперва про темизацию типов содержимого. Скорее всего, вам всё равно придётся с ней разбираться. Примерное направление работы для вас в таком случае: почитать про темизацию содержимого -> свой шаблон для вашего типа содержимого (поместить его в папку темы) -> поправить шаблон так, как вы хотите + вставить код вроде того, что привёл я, туда.
Спасибо буду читать. Я просто думал есть какой-нибудь модуль для этого
А это будет работа для всех ссылок или только к каким этот код пропишу.
Это надо в node.tpl.php прописать этот код, да? Или я что0то не понимаю?
Возможно, есть и модуль, который делает то, что вам нужно. Я не знаю.
Если вы вписываете ссылку в отдельное поле cck, то это будет работать для всех ссылок, которые вписываются в это поле в любом экземпляре этого поля.
Желательно в node-ваштипсодержимого.tpl.php
А что можно написать вместо ваштипсодержимого. Это просто нужно создать файл и написать туда
<?php if ($user->uid > 0) {
// Если пользователь, не аноним, показываем содержимое поля
print $node->field_mylink;
} else {
print "К сожалению, вы не можете видеть ссылку до тех пор, пока не зарегистрируетесь";
}
?>
Я же говорю — почитайте про темизацию, пригодится в любом случае. Сразу будет понятно, как называть файлы в вашем конкретном случае и что оставлять в качестве его содержимого. Удачи!