По разным причинам нам может понадобится информация объекта текущей публикации (ноды) внутри модуля.Если код модуля вызывается из шаблона, то достаточно передать локальную переменную $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.
Вы можете перейти в конец страницы и оставить ваш комментарий.
Мало букафф? Читайте есчо !
Сентябрь 23, 2016 г.
Что делать, если запуск Cron в Drupal 6 постоянно выдаёт такую ошибку - "Cron run failed."?
Смотрим, как возникает данная ситуация в библиотеке /includes/common.inc . Функция drupal_cron_run() использует флаг для блокировки одновременного запуска:
[crayon-69c786522fb46557373872/] ...
Читать
Июль 23, 2016 г.
Нужна ли HTML карта сайта или нет - это науке не известно. Как минимум она нужна SEO - специалистам. :)
В простейшем случае, карта сайта - это портянка урлов всех публикаций, т.н. плоский список. Иерархическая карта (в виде дерева) обычно базирует ...
Читать
Август 26, 2013 г.
Кроме отсутствия гибкого управления (явно не хватает ряда hook-ов), о чем я говорил ранее, таксономия в 6-м Drupal еще и делает по два запроса на каждый node_load, а не хранится в кеше контента cache_content (это хорошо показывает devel).
При ...
Читать
Сентябрь 12, 2025 г.
В Drupal контроллеры чаще всего возвращают Renderable-массивы. Такие массивы автоматически проходят через систему рендеринга и подставляются в базовый шаблон темы (page.html.twig). Но иногда бывает нужно получить полный Response с темизацией вручную — ...
Читать