У меня есть настраиваемое действие для обновления некоторых значений таблицы на основе выбора содержимого узла. Мои настраиваемые действия правильно указаны в поле выбора массового обновления. Но я могу выполнить операцию только с некоторым случайным содержимым узла. Есть идеи!! почему это позволяет выполнять действия только с некоторым содержимым.
Просмотр массовой операции: https://www.drupal.org/project/views_bulk_operations
Пробная версия: 8.x-3.13, 4.0.0-rc1
<?php
пространство имен Drupal\пользовательский_пользователь\Плагин\Действие;
используйте Drupal\node\Entity\Node;
используйте Drupal\views_bulk_operations\Action\ViewsBulkOperationsActionBase;
используйте Drupal\Core\Session\AccountInterface;
использовать Drupal\Core\StringTranslation\StringTranslationTrait;
используйте Drupal\Core\Entity\ContentEntityInterface;
/**
* Узел публикации модерации контента.
*
* @Действие(
* id = "уведомление_читать",
* label = @Translation("Обновить уведомление как прочитанное"),
* тип = "узел",
* подтвердить = ИСТИНА
* )
*/
класс NotificationRead расширяет ViewsBulkOperationsActionBase {
использовать StringTranslationTrait;
/**
* {@inheritdoc}
*/
выполнение публичной функции (ContentEntityInterface $entity = NULL) {
$nid = $entity->id();
$uid = \Drupal::currentUser()->id();
если ($нид) {
$connection = \Drupal::database();
$connection->удалить('уведомления')
->условие('entity_id', $nid)
->условие('entity_uid', $uid)
->выполнить();
}
}
/**
* {@inheritdoc}
*/
доступ к общедоступной функции ($ объект, AccountInterface $ учетная запись = NULL, $ return_as_object = FALSE) {
\Drupal::logger('test')->warning(print_r("test", TRUE));
если ($ объект экземпляра узла) {
вернуть Истина;
}
вернуть ЛОЖЬ;
}
}[![введите здесь описание изображения][1]][1]