Cách đặt tên lượt xem-lộ-form.tpl.php cho mỗi lượt xem


8

Tôi đã thử views-exposed-form--"view_name"--"display_name".tpl.phpnhưng nó không hoạt động. Có thể tạo một tệp mẫu chỉ áp dụng cho bộ lọc hiển thị của màn hình hiển thị không?

Tôi có hai bộ lọc được hiển thị từ hai màn hình khác nhau trong cùng một chế độ xem và tôi muốn tạo chủ đề cho hai bộ lọc được hiển thị khác nhau bằng hai tệp mẫu.


Không, tôi đang cố gắng. Nhưng nó không hoạt động.

Đây không thực sự là một câu trả lời cho câu hỏi. Có lẽ sẽ tốt hơn nếu hỏi lại câu hỏi và giải thích làm thế nào và tại sao giải pháp hiện tại không hiệu quả với bạn '?
Neograph734

Điều này không cung cấp một câu trả lời cho câu hỏi. Một khi bạn có đủ danh tiếng, bạn sẽ có thể nhận xét về bất kỳ bài đăng nào ; thay vào đó, cung cấp câu trả lời không yêu cầu làm rõ từ người hỏi . - Từ đánh giá
Shawn Conn

Câu trả lời:


2

Mọi thứ đều có thể ở Drupal;)

Có lẽ Chế độ xem không tự động cung cấp đề xuất mẫu cho bộ lọc được hiển thị, giống như đối với các trường. Vì vậy, bạn sẽ cần phải làm thêm một chút công việc cho cái này:

  1. Sử dụng mô-đun devel_themer để tìm hiểu chức năng / mẫu nào theo chủ đề bộ lọc tiếp xúc.
  2. Tạo một bộ tiền xử lý cho chức năng / mẫu chủ đề đó. Trong bộ tiền xử lý của bạn, sau đó bạn có thể chèn các đề xuất mẫu động sẽ tắt theo bất kỳ điều kiện nào bạn muốn. Bạn có thể tạo bộ tiền xử lý này trong tệp template.php của chủ đề tùy chỉnh hoặc trong một trong các mô-đun tùy chỉnh của bạn. Bài viết DO này sẽ hướng dẫn bạn tạo đề xuất mẫu động.

Tôi sẽ cho rằng bạn sẽ hiển thị các màn hình Lượt xem khác nhau dựa trên đường dẫn URL. Nếu đây là trường hợp, thì bạn có thể sử dụng arg()chức năng của Drupal trong bộ xử lý trước để tìm ra màn hình View mà bạn hiện đang hiển thị và xây dựng đề xuất mẫu của bạn bằng cách sử dụng thông tin đó.

Khi bạn đã thiết lập các đề xuất của mình đúng cách, thì Drupal sẽ tự động gọi mẫu thích hợp và voilá, bạn có các mẫu bộ lọc khác nhau dựa trên đường dẫn (hoặc bất kỳ điều kiện nào khác mà bạn chỉ định trong bộ xử lý trước).


25

Đối với Drupal 7, bạn có thể sử dụng dạng hiển thị lượt xem - view_name - display_name.tpl.php (Thay thế dấu gạch dưới bằng dấu gạch ngang trong tên xem và tên hiển thị.)

Nó làm việc cho tôi theo cách đó.


Điều này làm việc cho tôi. Dưới đây là một ví dụ về tên mẫu biểu mẫu được hiển thị của tôi: lượt xem-lộ-mẫu - trunk_shows - panel-pane-1.tpl.php
albertski

Mặc dù dạng hiển thị lượt xem của bạn - view_name - display_name.tpl.php có thể không được liệt kê khi bạn thực hiện việc này, khi thêm tệp mẫu mới của bạn, bạn cũng nên chỉnh sửa chế độ xem, nhấp vào Nâng cao-> Khác-> Chủ đề -> Thông tin, rồi bấm vào nút Quét lại tệp mẫu.
kbrinner

Bạn không cần tên hiển thị, nếu bạn không cần phải cụ thể. Đối với chế độ xem khối của tôi, "Chế độ xem sự kiện", đặt tên tệp mẫu của tôi "dạng xem được hiển thị - event-view.tpl.php" hoạt động với tôi. Cảm ơn, @kaimlaluno. Đây có lẽ nên là câu trả lời được chấp nhận.
ProGrammar

3

trong drupal8

/ quản trị / cấu trúc / lượt xem / lượt xem / sự kiện_related

sẽ là

dạng xem tiếp xúc - event_related.html.twig


1

Đối với drupal 8, chế độ gỡ lỗi chủ đề không hiển thị các đề xuất mẫu có sẵn. Bạn có thể tìm ra cái nào có sẵn bằng cách sử dụng kint () hoặc tạo cái mới trong hook này:

/**
 * Implements template_theme_suggestions_node_HOOK_alter().
 * Add theme suggestions to the view exposed forms.
 */
function YOUR_THEME_theme_suggestions_views_exposed_form_alter(&$suggestions, $vars, $hook) {
  kint($vars['form']['#theme']);
  //$suggestions[] = 'views__exposed__form__' . $anything; 
}
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.