Как я могу перечислить поля или таксономию узлов?
Я работаю над сайтом, которому требуется массовая маркировка на узлах. Порт D8 core Bulk Operations Port «прост» ( https://www.drupal.org/node/1823572 ) и он не имеет «изменить значения сущности», которые я использовал для этого случая пользователя в D7. Не существует D8-помеченной версии Contrib VBO, которую я могу найти.
Мой конкретный случай использования - мне нужно, чтобы группы массовых тегов сообщений в блоге были одинарными. У меня есть объем, импортированный около 2000 узлов из wordpress, и вам нужно применить к ним новые теги. Как только идентификатор backlog idged, мне больше не нужно массовое редактирование. (Но я уверен, что многие люди имеют аналогичные варианты использования, такие как объемные поля редактирования или теги, которые не являются одноразовыми задачами)
Действия являются частью ядра, поэтому возможно написать индивидуальные действия для моего варианта использования (узел Tag с таксономическим термином X, Y или Z). Эта документация представляется наиболее перспективной. https://www.drupal.org/node/2020549
Может ли кто-нибудь подтвердить, что это лучший способ для массового редактирования узлов или есть ли другой подход, который я должен рассмотреть?
3 ответа
Ядро Drupal не предоставляет эту функциональность, поэтому да, вам нужно реализовать ее самостоятельно.
Да, вы можете реализовать свой собственный плагин действий для этого. Вы также можете иметь форму для выбора тега, который вы хотите применить. Посмотрите на плагин действий удаления узла, который использует форму подтверждения, но вы можете реализовать любую функциональность, которая вам нужна в этой форме.
Имейте в виду, что в ядре Drupal отсутствует другая важная функция для вашего варианта использования. Возможность применить массовое действие к нескольким страницам. Лучшее, что вы можете сделать, пока не появится порт модуля contrib, чтобы увеличить количество строк на странице, чтобы вам нужно было повторять это меньше раз.
Ответ Бердира верен, вы должны написать свое собственное действие.
Я нашел эта статья чрезвычайно полезна для быстрого достижения этой цели.
В основном при создании и регистрации нового действия вы можете указать «подтверждающую форму», например «Вы уверены, что хотите это сделать?». Вы можете предоставить форму для этого этапа, которая принимает больше информации, а затем использует эту информацию для выполнения пакетной операции на узлах /судах, чьи идентификаторы были переданы через.
Обратите внимание, что, как заявил Бердир, действие для выполнения операции над несколькими страницами по-прежнему (насколько мне известно) отсутствует.
просматривает объемные операции ( https://www.drupal.org/project/views_bulk_operations ) дает специальное поле просмотра, которое позволит вам изменять масштаб полей
bulk_update_fields также обещает именно это. Его новый модуль для drupal 8 и, похоже, работает с некоторыми предупреждениями (в моем случае)
вы можете установить его отдельно и перейти к content/node
и использовать его как действие bulk update fields to another value
, или если у вас есть view bulk operations
установленное переопределение content/node
, вы можете редактировать представление и будет доступно новое действие (которое необходимо будет активировать)