Небольшой сниппет (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.
Вы можете перейти в конец страницы и оставить ваш комментарий.
Мало букафф? Читайте есчо !
Январь 21, 2019 г.
Theme API к сожалению не даёт прямого метода, чтобы прочитать это значение. Как его получить?
Иногда программно нужно установить, что именно видит пользователь на фронт-енд (какую тему использует движок).
Необходимость возникает из-за того, ...
Читать
Август 10, 2021 г.
Link - это штатный диалог, который используется в CKeditor для редактирования ссылок. И выглядит он как показано на картинке сверху. Он хорошо выполняет ...
Читать
Апрель 6, 2021 г.
У меня эта задача возникла при работе с формами, где формы содержат поля '#entity' и '#entity_type'. Нужно было найти универсальный способ прочитать ID объекта, т.к. для каждого объекта имя этого поля может отличаться (для node - nid, для file - fid и ...
Читать
Декабрь 23, 2020 г.
Время от времени продолжаю кодить под drupal 7, публикую еще один пример для работы EntityFieldQuery, на этот раз с фильтром по полю типа term reference.
Основная логика точно такая же как и при работе с data полями (где у нас хранятся тексты или ...
Читать