Изменения настроек поля программно Drupal 7

Если вам программно нужно изменить настройки поля в Drupal, то на помощь приходит Field CRUD API. Это набор функций из файла modules/field/field.crud.inc.

Подробное описание всех функций смотрите вот тут.

А далее я покажу типовой пример кода, который можно использовать для вашего случая как шаблон. Задача изменения поля обычно реализуется через написание hook_update вашего модуля, т.к. настройки типично меняются один раз при выполнении процедуры ‘run updates’ (/update.php).

Настройки представляют собой сложный ассоциативный массив, пример можете посмотреть ниже. Некоторые параметры, например длина поля, не достаточно изменить в настройках, чтобы они применились к структуре базы данных. Может потребоваться выполнить ряд запросов непосредственно на языке sql.

Пример кода, меняющий длину поля программно, вы можете посмотреть в другой статье.

Мало букафф? Читайте есчо !

Ошибка запуска Cron в Drupal 7

Апрель 16, 2020 г.

Если запуск Cron в Drupal 7 постоянно выдаёт такую ошибку - "Cron run failed.", как исправить ситуацию? Подобная статья у меня уже была, но посвященная аналогичной проблеме в Drupal 6. Решение точно такое же - нужно удалить из базы данных ...

Читать

Выполнение действий после сохранения ноды – обход стандартных ограничений

Май 22, 2026 г.

Поговорим о ситуациях, когда hook_node_insert, hook_node_update гибки не на столько хорошо, и нужны альтернативные способы выполнения кода после полного завершения транзакций или даже после отправки ответа браузеру. Проблема Стандартные хуки ...

Читать

Удаление nodequeue программно

Май 28, 2021 г.

Небольшой сниппет (snippet) по удалению сущностей nodequeue из кода. Может быть полезно при миграции данных. Удобно оперировать с машинным именем нод-кью, но функция удаления требует ID, потому код обычно обретает следующие формы: [crayon-6ac3669aeec41372632147/] ...

Читать

Получить имя поля ключа entity в Drupal 7

Апрель 6, 2021 г.

У меня эта задача возникла при работе с формами, где формы содержат поля '#entity' и '#entity_type'. Нужно было найти универсальный способ прочитать ID объекта, т.к. для каждого объекта имя этого поля может отличаться (для node - nid, для file - fid и ...

Читать
 

Комментарии к «Изменения настроек поля программно Drupal 7»

Понравилась статья? Есть вопросы? - пишите в комментариях.



Комментарий: