По разным причинам нам может понадобится информация объекта текущей публикации (ноды) внутри модуля.Если код модуля вызывается из шаблона, то достаточно передать локальную переменную $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.
Вы можете перейти в конец страницы и оставить ваш комментарий.
Мало букафф? Читайте есчо !
Декабрь 17, 2011 г.
В wordpress, к примеру, такая возможность уже есть в базовой комплектации движка. А что касается drupal-a, в 7й версии хоть и интегрировали в движок что ...
Читать
Декабрь 20, 2014 г.
Как подключить CKeditor к Drupal 7 я рассказывал ранее.
После настройки модуль подключит редактор CKeditor к полям редактирования публикаций. А как подключить wysiwyg к собственным формам? В 6-й версии Drupal редактор с помощью модуля CKeditor подключался ...
Читать
Сентябрь 8, 2021 г.
Продолжаю публиковать сниппеты кода для drupal 9, на этот раз несколько полезных вещей, связанных с рендерингом меню.
Рендер меню по известному id меню
Вы знаете идентификатор, вам нужен рендер:
[crayon-69caf62a5efb0829995213/]
Рендер ...
Читать
Март 20, 2017 г.
Для программных переходов (переадресаций) в drupal используется функция drupal_goto(). Как с её помощью отправить пользователя на главную страницу?
Синоним вроде '<front>', или путь '/' не сработают, так как они не являются внутренними маршрутами ...
Читать