У меня эта задача возникла при работе с формами, где формы содержат поля ‘#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.
Вы можете перейти в конец страницы и оставить ваш комментарий.
Мало букафф? Читайте есчо !
Октябрь 12, 2018 г.
Drupal 7 поддерживает работу с таксономией на уровне ядра (модуль taxonomy), предоставляя богатый арсенал функций.
Здесь мы рассмотрим только функции, ...
Читать
Август 29, 2022 г.
При обновлении модуля s3fs с ветки 7.x-2.x -> 7.x->3.x друпалу не удаётся найти указанный класс. Все необходимые шаги по апгрейду сделаны, как описано в readme.txt модуля.
Это проблема инициализации библиотеки awssdk в s3fs_libraries_info(). Drupal ...
Читать
Март 31, 2019 г.
Модуль Views - мощный инструмент в копилке друпалера. Конструктор позволяет создавать условия, перекрывающие большую часть потребностей в практических ...
Читать
Февраль 5, 2020 г.
Drupal views позволяют сконфигурировать сообщение на случай если результат запроса пуст и нельзя срендерить какой либо контент для данного представления.
Данная опция находится во вкладке 'advanced' вашего представления. Но в данной статье я покажу ...
Читать