Вывод ссылки модуля Flags в Drupal 7 Views

Есть замечательный модуль для Drupal - Flag. Он позволяет добавлять неограниченное количество гибконастраиваемых флагов для материалов, с помощью которых пользователь пожет помечать нужные ему материалы. Это удобно, если, например, Вы хотите сделать на сайте интернет магазина Избранное, или например сравнение товаров. С помощью модуля Flag, можно добавить ссылку ко всем товарам, и потом, с помощью Views вывести все помеченные пользователем товары для, например, сравнения.

Но, у модуля есть один минус. Если нужно добавить например ссылку "Добавить в избранное" к каждому товару, выводимому в сетке с помощью views, то стандартными средствами модуля Flag это сделать не получится. Поэтому предлагаю решение, которое я нашёл в сети.

Инструкция по выводу ссылки Flag в Drupal Views:

  • Установить модуль Views PHP и включить его.
  • В представлении (view), где нужно выводить ссылку, добавить поле: Содержимое: Nid, и в его настройках установить опцию Исключить из вывода/Exclude from display, чтобы отобразить его как скрытое.
  • Поле Содержимое: Nid должно быть самым первым в списке выводимых полей. Это важно.

flag-views.png

Теперь необходимо добавить еще одно поле Глобальный: PHP/Global: PHP field и в поле Output code добавить следующий php код (вводить с php тегами <?php ?>):

<?php print flag_create_link("машинное_имя_вашего_флага", $row->nid); ?>

Здесь, вместо машинное_имя_вашего_флага, нужно ввести машинное имя нужного флага. У меня, например, это favorites:

flag-settings.png

Всё, дальше ножно сохранить вьюшку и ссылка должна отображаться и работать.