• урок
  • pantey

Вывод ссылок редактирования/удаления контента в ноду в Drupal 7.

28.11.2012

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

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

  1. node.tpl.php

Именно в нём кроется вёрстка того, как должны выглядеть статьи на сайте. И именно в нём происходит формирование ссылок для редактирования контента. Понятно, что при создании своего шаблона вы всё подстраиваете именно под макет, который у вас уже свёрстан, но как правило вывод ноды происходит обёрнутым в блок и ни как иначе. Теперь ближе к сути, за формирование данных ссылок отвечает

  1. $title_suffix;

Но вывод ссылок определяется определённым классом CSS

  1. .contextual-links-region

Данный класс формируется вместе со всеми классами в

  1. $classes;

Т.е. для вывода ссылок нам необходимо добавить к блоку ноды определённый класс и вывести формирование ссылок. Приступим, я продемонстрирую работу данного способа на стандартном шаблоне Garland, разумеется что для примера я из файла

  1. node.tpl.php

Для данного шаблона всё удалю, оставлю лишь один блок и какой ни-будь текст

Мой код внутри файла ноды

  1. <div>Это новое формирование ноды на сайте!!!</div>

На сайте это выглядит ужасно, но для примера самое то:

Как вы можете заметить, при наведении мышки ни какие ссылки у вас не появляются. Теперь исправим всё это дело, для начала добавим класс для блока ноды

  1. <div class="<?php print $classes;?>">Это новое формирование ноды на сайте!!!</div>

Проверим Firebug, ом на сайте, какие классы теперь имеет наш блок

Помимо всего прочего подгрузился и необходимый нам класс. Теперь сформируем ссылки

  1. <div class="<?php print $classes;?>"><?php print render($title_suffix);?> Это новое формирование ноды на сайте!!!</div>

И смотрим результат на сайте

Как мы видим, всё работает так, как нам нужно!

-->
Узнавай о новых статьях сайта - первым. Просто подпишись на рассылку.

Комментарии (8)

Profile picture for user 1541
Дмитрий
12.08.2013

Спасибо! Урааааа! Я нашёл то, что мне нужно! :)

Profile picture for user 1541
Yury
16.11.2013

Отличный материал, спасибо!
Однако у меня данный код выводит ссылку на редактирование и удаление только при просмотре тизера, если же я просматриваю полный материал, то ссылка при наведении на ноду не появляется.
Для полной каким то иным образом реализуется данный момент?

Profile picture for user pantey
pantey
17.11.2013

для полной реализуется через табы

<?php print $tabs;?>
Profile picture for user 1541
Yury
17.11.2013

Почему то у меня не срабатывает если я подставляю в код данную конструкцию

Profile picture for user pantey
pantey
17.11.2013

а в рендер обернули?

<?php print render($tabs); ?>
Profile picture for user 1541
Yury
17.11.2013

да, абсолютно так же прописал

Profile picture for user pantey
pantey
18.11.2013

а вы точно его в page.tpl.php добавляете? Чудес не бывает!

Profile picture for user 1541
Yury
18.11.2013

нет, по аналогии пытался добавить в node,tpl.php, теперь все работает, спасибо!