Небольшой сниппет (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.
Вы можете перейти в конец страницы и оставить ваш комментарий.
Мало букафф? Читайте есчо !
Октябрь 20, 2019 г.
Столкнулся со следующим неприятным багом, при использовании модуля pathauto, совместно с модулем транслитерации: Drupal генерирует "обрезанные" синонимы адресов страниц.
Длина получаемого синонима плавала от 40-70 символов, и я никак не мог понять ...
Читать
Ноябрь 15, 2019 г.
Типичная проблема при использовании модуля views - как вывести результат группировки, т.е. столбец вроде COUNT(*).
Это можно сделать штатными средствами ...
Читать
Май 13, 2020 г.
Как получить полный список зарегистрированных типов публикаций в Drupal 7. Задача типична для бек-енда при создании форм страниц настроек. Потому покажу в статье пример реализации поля для формы с выбором типов публикаций.
В API Drupal существует ...
Читать
Март 22, 2021 г.
Проявляется как не прогружающиеся wysiwyg редактор (ckeditor, например) или элементы поля, обрабатываемые модулем media, при добавлении параграфа (entity модуля parapraphs). Это по-крайней мере два примера с которыми я лично сам сталкивался.
Характерно, ...
Читать