Небольшой сниппет (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.
Вы можете перейти в конец страницы и оставить ваш комментарий.
Мало букафф? Читайте есчо !
Апрель 8, 2020 г.
Популярный административный модуль admin_menu, собирает всё самое нужное и важное для управления сайтом. И хотя в 7 версии в ядре вы найдете модуль tool, обладающий похожим функционалом, ему не удалось заменить admin_menu.
Далее, разберем код, добавляющий ...
Читать
Ноябрь 23, 2025 г.
В Webform для Drupal 7 нет отдельного типа элемента, который отвечал бы за одиночный чекбокс. Если возникает задача добавить в форму знакомую всем галочку ...
Читать
Июнь 6, 2019 г.
С помощью drush и такой то матери (bash) обойдем все сайты и создадим одного и того же юзера на каждом из сайтов.
Долго тянуть не стану - вот текст скрипта:
[crayon-6ab6c8e8d0e6b210890540/]
В начале вы задаёте нужные переменные (задайте свои ...
Читать
Январь 10, 2020 г.
Обычно такой код требуется писать в файлах .install, для модификации структуры ваших полей при обновлении модуля, чтобы не проделывать эту операцию вручную. Также предварительно стоит подумать о переносе данных из удаляемого поля в какое то новое место. ...
Читать