Как вывести nid материала, в анонсе с помощью php без использования токенов?

Главные вкладки

Аватар пользователя engenes engenes 27 марта 2017 в 13:57

В каталоге выводятся анонсы материалов.
Создаю пользовательское поле с кодом в котором нужно через php вывести nid этого материала, но не знаю, как это сделать.
Это нужно для дальнейшей работы с переменной, чего токены не позволяют.
Для теста вывел

<?php
echo 'hallo';
?>

... работает
но как извлечь текущий nid не знаю

Лучший ответ

Аватар пользователя engenes engenes 28 марта 2017 в 7:05

Выводятся анонсы материалов через views без использования полей, нашёл решение включил display suite format, добавил в управлении отображением пользовательское поле с кодом в формате ds написал код.
Оказалось, что этот формат подходит как раз для таких случаев так как при редактировании уже содержит в себе объект.
Мне не просто нужно было вывести nid, это нужено было для дальнейшей работы с ним, к примеру для вывода представления в анонсе, в аргумент которого поставлялся бы nid.

Комментарии

Аватар пользователя OldWarrior OldWarrior 28 марта 2017 в 1:33

engenes wrote:

нужно через php вывести nid этого материала

Прям избыточная информация. )

1. Вывести откуда (темплейт или именно из поля c php-фильтром)?
2. Как именно выводятся анонсы каталога (views или штатная таксономия)? Если views, то есть views'овское поле типа "NID материала".
3. Если из темплейта, то есть объект $node
4. Наконец, если из body поля, то читайте из аргументов запроса. И тут тоже есть варианты:

<?php
...
$node menu_get_object("node"1);
$nid $node->nid;
...
?>

or (исчо проще):

<?php
...
$nid arg(1);
print 
$nid;
...
?>

PS:
5. В следующий раз потрудитесь описать всё подробнее. Способов что-либо сделать в Drupal'е часто с десяток и обычно никто не будет перечислять всё-всё-всё или заниматься телепатией. Спасибо.

Аватар пользователя engenes engenes 28 марта 2017 в 7:05

Выводятся анонсы материалов через views без использования полей, нашёл решение включил display suite format, добавил в управлении отображением пользовательское поле с кодом в формате ds написал код.
Оказалось, что этот формат подходит как раз для таких случаев так как при редактировании уже содержит в себе объект.
Мне не просто нужно было вывести nid, это нужено было для дальнейшей работы с ним, к примеру для вывода представления в анонсе, в аргумент которого поставлялся бы nid.