У меня эта задача возникла при работе с формами, где формы содержат поля ‘#entity’ и ‘#entity_type’. Нужно было найти универсальный способ прочитать ID объекта, т.к. для каждого объекта имя этого поля может отличаться (для node — nid, для file — fid и т.п.).
К нашей удаче, entity API содержит специальные методы, для получения названия primary key поля.
Применяя эти методы к значениям массива-описателя $form, которые передаются в callback функции form API, получим следующий шаблон кода:
|
|
$entity_wrapper = entity_metadata_wrapper($form['#entity_type'], $form['#entity']); // имя ключевого поля $primaryKeyField = $entity_wrapper->entityKey('id'); // значение ключа $entity_id = $entity_wrapper->$primaryKeyField->value(); |
Drupal 7
Данная запись опубликована в 06.04.2021 20:59 и размещена в рубрике Drupal.
Вы можете перейти в конец страницы и оставить ваш комментарий.
Мало букафф? Читайте есчо !
Апрель 8, 2020 г.
Популярный административный модуль admin_menu, собирает всё самое нужное и важное для управления сайтом. И хотя в 7 версии в ядре вы найдете модуль tool, обладающий похожим функционалом, ему не удалось заменить admin_menu.
Далее, разберем код, добавляющий ...
Читать
Декабрь 7, 2017 г.
Один раз начав работать с EntityFieldQuery, вы уже не захотите городить SQL запросы с джойнами таблиц полей сущностей. Что то сложное, возможно, сделать будет слишком трудно на этом конструкторе, но типовые выборки данных делать приятно, быстро и удобно. ...
Читать
Июнь 19, 2026 г.
Когда прав очень много, не удобно смотреть через админку, что же там выдано в роли. Особенно, если роль точечно добавляет несколько разрешений.
Вот небольшой спиппет кода, который выводит список разрешений (permissions) для указанной роли.
[crayon-6aaafc11e7b14136380560/] ...
Читать
Июль 22, 2026 г.
В процессе разработки на Drupal иногда возникает необходимость проанализировать, какие SQL-запросы выполняются при обработке того или иного запроса. Стандартный интерфейс Devel (например, панель внизу страницы) отлично справляется с этой задачей для обычных ...
Читать