Điểm:1

Làm cách nào để thêm lớp vào nhiều khối xem bằng twig?

lá cờ br

Tôi có bốn khối để xem. Tôi muốn thêm lớp 'fancy-body' vào cả bốn khối. Làm thế nào tôi có thể thêm điều đó.

view_id : Thể loại

display_id's khối: khối_1, khối_2, khối_3, khối_4

Tôi biết, tôi có thể thêm các lớp bằng cách tạo tệp mẫu cành cây riêng lẻ cho từng khối. như thế này,

khối--lượt xem-chặn--danh mục-khối-1.html.twig
khối--lượt xem-chặn--danh mục-khối-2.html.twig
khối--lượt xem-chặn--danh mục-khối-3.html.twig
khối--lượt xem-chặn--danh mục-khối-4.html.twig

Có thể đạt được trong tệp mẫu twig đơn lẻ không? Làm thế nào tôi có thể đạt được điều đó?

Cần giúp đỡ, Cảm ơn bạn!

Akshay avatar
lá cờ us
Điều gì sẽ xảy ra nếu bạn thêm lớp vào tất cả các khối hiển thị trong chế độ xem theo cách thủ công trong phần Nâng cao? Bạn có định tạo một tệp twig chỉ để thêm các lớp không?
Steve Siddu avatar
lá cờ br
Tôi muốn thao tác cấu trúc của tất cả các khối của một chế độ xem cụ thể.
Akshay avatar
lá cờ us
Vâng. Sau đó, bạn sẽ cần tạo một tệp twig để sửa đổi cấu trúc HTML. Vui lòng sửa đổi câu hỏi của bạn, vì nó chỉ cho biết thêm một lớp.
Điểm:3
lá cờ cn

Nếu đó chỉ là các lớp bạn cần, thì các mô-đun được đề cập trong câu trả lời của Joseph là đủ.

Nếu bạn cần thực hiện nhiều thay đổi hơn và chắc chắn cần một tệp mẫu tùy chỉnh, bạn có thể triển khai hook_theme_suggestions_HOOK().

Cái gì đó như:

chức năng module_theme_suggestions_block(mảng $variables) {
  $suggest = [];

  if ($variables['elements']['#base_plugin_id'] == 'views_block') {
    if (preg_match('/views_block:categories-block_[0-9]+/', $variables['elements']['#plugin_id'])) {
      $suggestions[] = 'block__views_block__categories_all_blocks';
    }
  }

  trả lại đề xuất $;
}

Với ví dụ trên, tệp mẫu đơn của bạn sẽ được đặt tên chặn--lượt xem-chặn--categories-all-blocks.html.twig.

Steve Siddu avatar
lá cờ br
tên hàm nên là gì, nếu tên mô-đun là "XYZ", `XYZ_theme_suggestions_block()` có đúng không?
lá cờ cn
Vâng đúng vậy
Steve Siddu avatar
lá cờ br
các lớp và id được thêm vào trong `block--views-block--categories-all-blocks.html.twig` đang phản ánh trong trang web drupal. bạn có thể cho tôi biết chính xác vị trí, trong tệp nào hoặc trong thư mục nào tôi cần thêm mã đó không. Tôi đã thêm tệp đó vào tệp `XYZ.module`. cảm ơn !
Steve Siddu avatar
lá cờ br
Là mọi thứ nên giống nhau hoặc cần phải được thay đổi? giống như `#base_plugin_id` và `#plugin_id` là gì
lá cờ cn
Bạn không cần phải thay đổi bất cứ điều gì, nó khớp với id chế độ xem và id hiển thị từ các tệp mẫu trong câu hỏi
Điểm:2
lá cờ in

Có một số mô-đun cho phép bạn thêm các lớp vào các khối thông qua quản trị viên, tùy thuộc vào nơi bạn thêm các khối:

Mô-đun Thuộc tính Thành phần Trình tạo Bố cục cho phép người chỉnh sửa thêm Thuộc tính HTML cho các thành phần Trình tạo bố cục (khối). thuộc tính có thể được thêm vào 1) phần tử khối (bên ngoài), 2) tiêu đề khối và 3) phần tử nội dung khối (bên trong).

Block Classes cho phép người dùng thêm các lớp để chặn tiêu đề, nội dung và trình bao bọc của bất kỳ khối nào thông qua giao diện cấu hình của khối. Cái này mô-đun mở rộng các tính năng của mô-đun Block Class.

Đă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.