У меня эта задача возникла при работе с формами, где формы содержат поля ‘#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.
Вы можете перейти в конец страницы и оставить ваш комментарий.
Мало букафф? Читайте есчо !
Февраль 4, 2021 г.
Если нужно использовать db_select вместо db_query, но не ясно как правильно составить SQL условие с оператором LIKE, читайте далее.
Здесь вам пригодится хелпер функция db_like, которую нужно применить к аргументу сравнения.
Небольшой пример ...
Читать
Август 10, 2021 г.
Link - это штатный диалог, который используется в CKeditor для редактирования ссылок. И выглядит он как показано на картинке сверху. Он хорошо выполняет ...
Читать
Май 27, 2020 г.
Если вам программно нужно изменить настройки поля в Drupal, то на помощь приходит Field CRUD API. Это набор функций из файла modules/field/field.crud.inc. ...
Читать
Июнь 28, 2019 г.
Привычное для пользователей поведение модального окна изначально не реализовано в ctools. Давайте добавим немного js, реализующего нужный функционал.
Код универсален для модального окна создаваемого ctools, т.к. привязан к верстке окна:
[crayon-695ddb98f03cf240504048/] ...
Читать