Небольшой сниппет (snippet) по удалению сущностей nodequeue из кода. Может быть полезно при миграции данных.
Удобно оперировать с машинным именем нод-кью, но функция удаления требует ID, потому код обычно обретает следующие формы:
|
|
$nq = ['nq_name1', 'nq_name2', ... , 'nq_nameN']; foreach ($nq as $qname) { $Q = nodequeue_load_queue_by_name($qname); if (!empty($Q)) { nodequeue_delete($Q->qid); } } |
Возможно попутно что то требуется сделать с нодами, которые хранятся в удаляемых nodequeue. Для этого казалось бы правильным имплементировать в модуле хук — hook_nodequeue_delete($qid), но хук вызывается уже после удаления данных.
А потому мы грузим вновь объект nodequeue, читаем список node и выполняем с ними нужные операции:
|
|
$nodeQ = nodequeue_load_queue_by_name('nodeq_name'); $nodes = nodequeue_load_nodes($nodeQ->qid, NULL, NULL, NULL, FALSE); if (!empty($nodes)) { foreach($nodes as $item) { // $item->nid - это node->nid // TODO ... } } |
Drupal 7
Данная запись опубликована в 28.05.2021 12:52 и размещена в рубрике Drupal.
Вы можете перейти в конец страницы и оставить ваш комментарий.
Мало букафф? Читайте есчо !
Август 27, 2015 г.
В семерке поменяли кое что в плане отправки писем, и то что работало в 6ке, в 7ке уже «не катит». Разберем два аспекта отправки писем:
HTML формат письма ...
Читать
Январь 4, 2019 г.
Конструирование запросов через Drupal DB API необходимо для поддержки совместимости кода для разных источников данных.
Друпал предоставляет и более прямые средства для написания запросов вроде db_query, и никто не может запретить вам применить функционал ...
Читать
Март 20, 2019 г.
При возникновении ошибок, во время проверки формы друпал выполняет две вещи, которые отражаются на фронт-энд - добавляет сообщение об ошибке в стек сообщений и маркирует классом error поле, содержащее ошибку.
Если форма находится далеко от места вывода ...
Читать
Декабрь 23, 2020 г.
Время от времени продолжаю кодить под drupal 7, публикую еще один пример для работы EntityFieldQuery, на этот раз с фильтром по полю типа term reference.
Основная логика точно такая же как и при работе с data полями (где у нас хранятся тексты или ...
Читать