Всем привет.
Хочу вывести ссылки на редактирование/удаление документа его автором. Сейчас они у меня в обычных вкладках. Я знаю что в шаблоне ссылки выводит переменная $tabs.
Хотелось бы выводить отдельно и обернуть в свои "div"-ы, потом изменяя в css. Так вот... например в шаблоне node.tpl.php что нужно написать чтобы автору записи выводились ссылки на редактирование и удаление? Php знаю совсем плохо, самому тяжело пока писать.
Комментарии
А стандартная настройка прав доступа к материалам вам чем не угодила? Даете пользователю возможность Изменять/редактировать/удалять собственные материалы нужного вам типа и все - отобразятся ему те же табы. И только в тех материалах которые он сам же и создал.
Табы по умолчанию выводятся не форматированным списком. Его можно в CSS темизировать как угодно - зачем вам Дивы не ясно.
Если дивы все же нужны, то вот:
http://api.drupal.org/api/drupal/includes--menu.inc/function/theme_menu_...
и вот:
http://api.drupal.org/api/drupal/themes--garland--template.php/function/...
и вот еще:
http://api.drupal.org/api/drupal/includes--menu.inc/function/theme_menu_...
Можно просто в ноде:
<?php if($node->uid==$user->uid): ?>
<a href='/node/<?=$node->nid?>/edit'>Редактировать</a>
<?php endif; ?>
и оборачивайте в дивы это.
<a href='/node/<?=$node->nid?>/delete'>Удалить</a>
<a href='/node/<?=$node->nid?>/edit'>Редактировать</a>
<?php endif; ?>
а то любой неавторизированный сможет удалить любую ноду, созданную неавторизированным пользователем.
Я знаю что можно в правах доступа поставить галочки. Но хотел узнать как сделать через шаблон, поэтому нужны свои "div"-ы.
Спасибо большое! Вот вроде так просто а сам не могу додуматься. В шаблоне ссылки были нерабочими, но условие я понял и переделал.
Вот так у меня заработало:
<?php if($node->uid==$user->uid): ?>
<?php print '<a href="/drupal-6.22/node/'.$node->nid.'/delete">Удалить</a>'?>
<?php print '<a href="/drupal-6.22/node/'.$node->nid.'/edit">Редактировать</a>'?>
<?php endif; ?>
</div>
Я только не совсем понял ваш вариант, а именно вот этот кусок:
Можете объяснить что это значит?
Это id (nid) ноды. Вбейте в шаблоне print_r($node); и посмотрите из чего она состоит.
Это я знаю)) Просто меня ввело в заблуждение символы "?" и "=" вокруг нее)) Обычно ведь точками разделяются)
Это краткая запись print $node->nid;