На моем сайте я установил модули Entity API и Entityform. Модуль Entityform позволяет мне создавать формы, которые может отправить любой пользователь, и поля форм доступны для использования в представлениях, аналогично тому, как будет работать тип содержимого.
Обычно, чтобы вытянуть значение поля из узла в мой шаблон с помощью php, я бы сделал следующее:
<?php echo $node->field_name[$node->language][0]['value']; ?>
Однако это не работает с формами сущностей / сущностями.
Кто-нибудь знает способ сделать это для поля внутри формы объекта? Некоторые люди предлагают использовать devel и функцию dpm (), но я тоже не знаю, как их использовать.
Некоторые конкретные примеры того, как я могу получить значение этого поля, действительно очень мне помогут.
:)
Не используя модуль Entity API, чтобы получить значение поля, связанного с сущностью, вы используете field_get_items () ; Вы просто передаете тип сущности, объект сущности и имя поля.
Например, чтобы получить текст комментария, используйте следующий код.
Чтобы получить тело узла, вы можете использовать следующий код.
Объект-сущность - это объект, возвращаемый из entity_load () или специальной функции загрузки для этой сущности, такой как node_load () , comment_load () или taxonomy_term_load () . В Drupal 8 эти функции являются обертками для
entity_load()
.Если вы хотите показать содержимое поля, вам следует использовать field_view_field () .
источник
Обычно вы можете получить свойства $ node, потому что вы или какой-то код, который вы используете, предварительно вызывают node_load ().
Вам нужно полностью загрузить объект, прежде чем вы сможете получить его свойства.
Используйте entity_load () http://api.drupal.org/api/drupal/includes%21common.inc/function/entity_load/7
Тогда у вас действительно будет загруженный объект, который вы можете получить в полях.
Использование dpm () аналогично любой другой функции, вам просто нужно установить модуль devel.
Итак, сделайте что-то вроде этого:
источник
Пытаться:
Это должно напечатать значение поля.
Если это массив, попробуйте это:
Помните, что это необработанный вывод, и, в зависимости от того, откуда взято значение, вам, возможно, придется очистить значение вручную здесь.
Смотрите: функция field_get_items
источник
Поместите это в один из ваших модулей и перейдите на страницу формы, и вы найдете информацию, которую вы ищете.
источник
Вместо использования dpm и установки этого модуля я использую:
Надеюсь, это поможет вам найти значение.
источник