Intereting Posts
шаблоны pathauto, показывающие пустую страницу drupal 7 Различные платежные настройки PayPal для оплаты на сайтах dev и live Как добавить товар в корзину, используя коммерческие услуги Поле поиска бликов VIews как отдельный блок? Drupal 7: поле объекта как одно / многозначное на основе типа содержимого D7 Search API и повторы даты Игрок VideoJS не загружается должным образом при использовании Ajax В листинге просмотра, как я могу указать, будет ли дата узла текущей, текущей или прошлой? Получение страниц книг на том же уровне, что и получение дочерних страниц Добавление целевой _blank в ajax-форму на основе ответа доступ запрещен при просмотре профилей других пользователей Ссылка меню структуры неверна после использования команды «drush rr» Как просмотреть SQL-запрос для обновления объекта для написания модульного теста? Как интегрировать ctool Modal с VBO Изменить текст в Commerce Kickstart «упорядочить общий» динамически

Как получить доступ к значениям в объекте узла?

Привет, я не могу получить доступ к значениям из объекта узла внутри preprocess_views_view . Ниже приведен снимок экрана моего объекта, и я хочу получить доступ к выделенному значению. Как я могу это сделать? введите описание изображения здесь

Solutions Collecting From Web of "Как получить доступ к значениям в объекте узла?"

Отладка объекта объекта контента не очень полезна. Вместо этого отлаживайте представление массива ($ node-> toArray ()), вы можете получить доступ к этим данным, а именно:

$ Node-> Get ( 'поле') -> свойство. Например, $ node-> get ('nid') -> значение.

Для базовых полей, таких как идентификатор, обычно есть методы, в этом случае $ node-> id (), как упоминалось другими.

Дополнительную информацию см. В « Чертежном листе API сущности» .

Чтобы получить идентификатор узла, вы можете использовать $node->id() . Любой объект, расширяющий ContentEntityBase, имеет этот метод.

Вы можете посмотреть класс Node, чтобы узнать, какие общедоступные методы getter доступны (также ContentEntityBase и Entity).

Обратите внимание, что защищенные значения не могут быть перезаписаны без метода setter – так что вам нужно будет создать новую переменную из вашего обработчика preprocess для этого.

Существует несколько вариантов:

Вы можете использовать метод getter, который разрезал узел (доступен для всех объектов):

 $node->id() 

Вы можете использовать магические методы для доступа к любому полю любого объекта контента:

 $node->nid->value 

Вышеприведенный кофе фактически вызывает следующее:

 $node->get('nid')->get(0)->get('value')->getValue()