Puncte:0

Vizualizați operațiunea în bloc cu o acțiune personalizată

drapel cn

Am o acțiune personalizată pentru a actualiza unele valori de tabel pe baza selecției conținutului nodului. Acțiunile mele personalizate sunt listate corect în caseta de selectare a actualizării în bloc. Dar pot efectua operațiuni numai un conținut de nod aleatoriu. Orice gânduri!! de ce permite acțiunilor să se efectueze numai asupra anumitor conținuturi.

Vedeți operațiunea în bloc: https://www.drupal.org/project/views_bulk_operations

Versiunea încercată: 8.x-3.13, 4.0.0-rc1

<?php

spațiu de nume Drupal\custom_user\Plugin\Action;

utilizați Drupal\node\Entity\Node;
utilizați Drupal\views_bulk_operations\Action\ViewsBulkOperationsActionBase;
utilizați Drupal\Core\Session\AccountInterface;
utilizați Drupal\Core\StringTranslation\StringTranslationTrait;
utilizați Drupal\Core\Entity\ContentEntityInterface;

/**
 * Nodul de publicare pentru moderarea conținutului.
 *
 * @Acțiune(
 * id = "notification_read",
 * label = @Translation ("Actualizați notificarea ca citire"),
 * tip = "nod",
 * confirma = ADEVĂRAT
 * )
 */

clasa NotificationRead extinde ViewsBulkOperationsActionBase {

  utilizați StringTranslationTrait;

  /**
   * {@inheritdoc}
   */
  funcția publică execute(ContentEntityInterface $entity = NULL) {
    $nid = $entitate->id();
    $uid = \Drupal::currentUser()->id();
    dacă ($nid) {
      $conexiune = \Drupal::database();
      $connection->delete('notificări')
      ->condition('entity_id', $nid)
      ->condition('entity_uid', $uid)
      ->execute();
    }
  }

  /**
   * {@inheritdoc}
   */
  acces la funcția publică ($obiect, AccountInterface $cont = NULL, $return_as_object = FALSE) {
   \Drupal::logger('test')->warning(print_r(„test”, TRUE));
   if ($obiect instanceof Node) {
    returnează Adevărat;
  }

  returnează FALSE;
}
}[![introduceți descrierea imaginii aici][1]][1]

Lucru

Nu funcționează

Puncte:0
drapel de

Această linie înseamnă că vă puteți folosi acțiunea numai pe Noduri, și nu orice alt tip de entitate:

* tip = "nod",

Eliminați această linie, ștergeți registrul și veți putea aplica acțiunea și altor tipuri de entități.

Postează un răspuns

Majoritatea oamenilor nu înțeleg că a pune multe întrebări deblochează învățarea și îmbunătățește legătura interpersonală. În studiile lui Alison, de exemplu, deși oamenii își puteau aminti cu exactitate câte întrebări au fost puse în conversațiile lor, ei nu au intuit legătura dintre întrebări și apreciere. În patru studii, în care participanții au fost implicați în conversații ei înșiși sau au citit transcrieri ale conversațiilor altora, oamenii au avut tendința să nu realizeze că întrebarea ar influența – sau ar fi influențat – nivelul de prietenie dintre conversatori.