Tôi đang tạo một trường chế độ xem tùy chỉnh và cần nó có JS được đính kèm với chức năng nhấp chuột. Khi tôi nhận được một kết quả lượt xem, nó hoạt động hoàn hảo, nhưng khi tôi có nhiều kết quả, nó chỉ đính kèm với một trong số chúng. Làm cách nào để đính kèm điều này vào tất cả các hàng kết quả?
Dưới đây là mã để hiển thị trường và js được đính kèm. Bất kỳ trợ giúp được đánh giá cao.
<?php
/**
* @tập tin
* Chứa \Drupal\msul_views_alert_manager\Plugin\views\area\alertManagement.
*/
không gian tên Drupal\msul_views_alert_manager\Plugin\views\field;
sử dụng Drupal\Core\Form\FormStateInterface;
sử dụng Drupal\views\Render\ViewsRenderPipelineMarkup;
sử dụng Drupal\views\ResultRow;
sử dụng Drupal\views\ViewExecutable;
sử dụng Drupal\views\Plugin\views\field\FieldPluginBase;
/**
* Xác định plugin trường xem.
*
* @ingroup lượt xem_field_handlers
*
* @ViewsField("alertFieldManagement")
*/
lớp alertFieldManagement mở rộng FieldPluginBase {
/**
* {@inheritdoc}
*/
chức năng công khai kết xuất (ResultRow $values) {
$ đầu ra = mảng();
$uuid=((mảng)($values->_entity))[chr(0).'*'.chr(0).'values']['uuid']['x-default'];
$body=((array)($values->_entity))[chr(0).'*'.chr(0).'values']['body']['x-default'];
if(!isset($_COOKIE['EUA-'.$uuid]) || $_COOKIE['EUA-'.$uuid]!="Ẩn"){
$ đầu ra = [
'thông báo người dùng' => [
'#type' => 'thùng chứa',
'#thuộc tính' => [
'lớp' => ['cảnh báo người dùng'],
],
'userAlertClose' => [
'#type' => 'thùng chứa',
'#thuộc tính' => [
'uuid' => $uuid,
'lớp' => ['nút đóng cảnh báo người dùng'],
],
'tempButton' => ['#markup' => 'X'],
],
'văn bản cảnh báo' => [
'#markup' => check_markup($body[0]['value'],$body[0]['format']),
],
],
'#đính kèm' => [
'thư viện' => ['msul_views_alert_manager/alert_field_man Quản lý-js'],
'drupalSettings' => [
'msul_views_alert_man Quản lý' => [
'uuid' => $uuid,
],
],
],
];
}
trả lại đầu ra $;
}
//... mã khác ở đây ...
}
(hàm ($, Drupal, drupalSettings){
uuid = drupalSettings.msul_views_alert_man Quản lý.uuid;
while($('[uuid="'+uuid+'"]').length > 1){
$('[uuid="'+uuid+'"]').last().closest(".views-row").remove();
}
$('[uuid="'+uuid+'"]').on('click',
chức năng() {
$(this).gần nhất(".views-row").remove();
document.cookie = "EUA-"+uuid+"=Hidden;path=/;";
}
);
})(jQuery, Drupal, drupalSettings)