Рейтинг:0

Просмотр массовой операции с пользовательским действием

флаг cn

У меня есть настраиваемое действие для обновления некоторых значений таблицы на основе выбора содержимого узла. Мои настраиваемые действия правильно указаны в поле выбора массового обновления. Но я могу выполнить операцию только с некоторым случайным содержимым узла. Есть идеи!! почему это позволяет выполнять действия только с некоторым содержимым.

Просмотр массовой операции: 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]

За работой

Не работает

Рейтинг:0
флаг de

Эта строка означает, что вы можете использовать свое действие только с узлами, а не с любым другим типом объекта:

* тип = "узел",

Удалите эту строку, очистите реестр, и вы сможете применить свое действие и к другим типам сущностей.

Ответить или комментировать

Большинство людей не понимают, что склонность к познанию нового открывает путь к обучению и улучшает межличностные связи. В исследованиях Элисон, например, хотя люди могли точно вспомнить, сколько вопросов было задано в их разговорах, они не чувствовали интуитивно связи между вопросами и симпатиями. В четырех исследованиях, в которых участники сами участвовали в разговорах или читали стенограммы чужих разговоров, люди, как правило, не осознавали, что задаваемый вопрос повлияет — или повлиял — на уровень дружбы между собеседниками.