Điểm:0

Xem hoạt động hàng loạt với hành động tùy chỉnh

lá cờ cn

Tôi có một hành động tùy chỉnh để cập nhật một số giá trị bảng dựa trên lựa chọn nội dung nút. Hành động tùy chỉnh của tôi được liệt kê chính xác trên hộp chọn cập nhật hàng loạt. Nhưng tôi chỉ có thể thực hiện thao tác với một số nội dung nút ngẫu nhiên. Mọi suy nghĩ!! tại sao Nó chỉ cho phép các hành động thực hiện trên một số nội dung.

Xem hoạt động hàng loạt: https://www.drupal.org/project/views_bulk_operations

Phiên bản đã thử: 8.x-3.13 , 4.0.0-rc1

<?php

không gian tên Drupal\custom_user\Plugin\Action;

sử dụng Drupal\node\Entity\Node;
sử dụng Drupal\views_bulk_operations\Action\ViewsBulkOperationsActionBase;
sử dụng Drupal\Core\Session\AccountInterface;
sử dụng Drupal\Core\StringTranslation\StringTranslationTrait;
sử dụng Drupal\Core\Entity\ContentEntityInterface;

/**
 * Nút xuất bản kiểm duyệt nội dung.
 *
 * @Hoạt động(
 * id = "thông báo_đọc",
 * label = @Translation("Cập nhật thông báo khi đã đọc"),
 * gõ = "nút",
 * xác nhận = ĐÚNG
 * )
 */

class NotificationRead extends ViewsBulkOperationsActionBase {

  sử dụng StringTranslationTrait;

  /**
   * {@inheritdoc}
   */
  chức năng công khai thực thi (ContentEntityInterface $entity = NULL) {
    $nid = $entity->id();
    $uid = \Drupal::currentUser()->id();
    nếu ($nid) {
      $connection = \Drupal::database();
      $connection->delete('thông báo')
      ->điều kiện('entity_id', $nid)
      ->điều kiện('entity_uid', $uid)
      ->thực thi();
    }
  }

  /**
   * {@inheritdoc}
   */
  truy cập chức năng công cộng($object, AccountInterface $account = NULL, $return_as_object = FALSE) {
   \Drupal::logger('test')->warning(print_r("test", TRUE));
   if ($object instanceof Node) {
    trả về Đúng;
  }

  trả về SAI;
}
}[![nhập mô tả hình ảnh tại đây][1]][1]

Đang làm việc

Không làm việc

Điểm:0
lá cờ de

Dòng này có nghĩa là bạn chỉ có thể sử dụng hành động của mình trên các Nút chứ không phải bất kỳ loại thực thể nào khác:

* gõ = "nút",

Xóa dòng này, xóa sổ đăng ký của bạn và bạn cũng sẽ có thể áp dụng hành động của mình cho các loại thực thể khác.

Đăng câu trả lời

Hầu hết mọi người không hiểu rằng việc đặt nhiều câu hỏi sẽ mở ra cơ hội học hỏi và cải thiện mối quan hệ giữa các cá nhân. Ví dụ, trong các nghiên cứu của Alison, mặc dù mọi người có thể nhớ chính xác có bao nhiêu câu hỏi đã được đặt ra trong các cuộc trò chuyện của họ, nhưng họ không trực giác nhận ra mối liên hệ giữa câu hỏi và sự yêu thích. Qua bốn nghiên cứu, trong đó những người tham gia tự tham gia vào các cuộc trò chuyện hoặc đọc bản ghi lại các cuộc trò chuyện của người khác, mọi người có xu hướng không nhận ra rằng việc đặt câu hỏi sẽ ảnh hưởng—hoặc đã ảnh hưởng—mức độ thân thiện giữa những người đối thoại.