По разным причинам нам может понадобится информация объекта текущей публикации (ноды) внутри модуля.Если код модуля вызывается из шаблона, то достаточно передать локальную переменную $node. Если такой возможности нет, то код ноды можно получить из текущего системного пути drupal, который хранится в переменной $_GET[‘q’].
|
|
if (preg_match('#^node/([\d]+)#', $_GET['q'], $m)) { $node = node_load($m[1]); //загружаем объект } |
Но этот метод оставляет ощущение, что мы обманули drupal и получили объект каким то окольным путем. Действительно есть и прямой путь — вызов функции menu_get_object();
|
|
$node = menu_get_object(); |
Функция работает как в drupal 6 так и в семерке.
Данная запись опубликована в 20.04.2014 14:18 и размещена в рубрике Drupal.
Вы можете перейти в конец страницы и оставить ваш комментарий.
Мало букафф? Читайте есчо !
Март 24, 2020 г.
Для отладки или выполнения какого то разового кода иногда требуется выполнить php код в системном окружении вашего сайта на Drupal.
Без drush приходится добавлять код вроде следующего в файл темы (а в последствии его удалять от туда):
[crayon-69452260bf223213945481/] ...
Читать
Сентябрь 6, 2023 г.
Пример кода, реализующий endpoint скачиваемого файла.
[crayon-69452260bf46d373294343/]
Кроме контроллера, вам потребуется еще задать маршрут. Пример описания маршрута:
[crayon-69452260bf475324990328/]
Читать
Июль 24, 2014 г.
Есть такая больная мозоль у drupal - это модуль комментариев.
Ситуация как в анекдоте - прислали индусам из России танк. Как ни собирают - получается комбайн. Перечитывают инструкцию по сборке - "после сборки доработать напильником".
С комментариями ...
Читать
Июль 14, 2023 г.
Как без хуков preprocess в Drupal добавить, например, атрибут target для ссылки в шаблоне?
Например, возьмем штатный шаблон file-link.html.twig:
[crayon-69452260bf87d430068612/]
Используем фильтр merge, добавляя нужные атрибуты:
[crayon-69452260bf885928085476/]
Читать