Можно использовать анализ адреса хранимый Drupal в $_GET[‘q’] и/или анализ частей адреса, получаемых функцией arg(N).
Оба варианта по сути делают одно и тоже — анализ внутреннего адреса, который для публикации имеет вид: node/%NID%.
Я использую функцию вида:
|
|
function currentNid() { if (arg(0) == 'node' && is_numeric(arg(1)) && arg(2) == '') { return arg(1) + 0; } return 0; } |
Она вернет код текущей публикации или ноль, если страница не является публикацией (или вы находитесь в редакторе публикации и т.п.).
Дальше можно загрузить объект ноды для работы с ним:
|
|
if ($nid = currentNid() && $node = node_load($nid)) { //в nid - код публикации //в node - объект публикации //... } |
Drupal 7
Данная запись опубликована в 08.11.2016 19:33 и размещена в рубрике Drupal.
Вы можете перейти в конец страницы и оставить ваш комментарий.
Мало букафф? Читайте есчо !
Декабрь 23, 2020 г.
Время от времени продолжаю кодить под drupal 7, публикую еще один пример для работы EntityFieldQuery, на этот раз с фильтром по полю типа term reference.
Основная логика точно такая же как и при работе с data полями (где у нас хранятся тексты или ...
Читать
Апрель 10, 2021 г.
Стандартный шаблон страницы термина таксономии taxonomy-term.tpl.php не позволяет управлять выводом публикаций, он лишь служит как обертка для полей термина.
Единственная настройка CMS, которая влияет на вывод списка - это переменная default_nodes_main, ...
Читать
Апрель 13, 2021 г.
Рассмотрим технику того, как выполнить node_save во время hook_node_insert.
Проблема в том, что во время данного хука мы еще находимся в транзакции и выполнить сохранение ноды прямо тут коде функции - не получится. Т.е. следующий код работать не ...
Читать
Май 28, 2021 г.
Небольшой сниппет (snippet) по удалению сущностей nodequeue из кода. Может быть полезно при миграции данных.
Удобно оперировать с машинным именем нод-кью, но функция удаления требует ID, потому код обычно обретает следующие формы:
[crayon-69d42566e1b1a818324371/] ...
Читать