Trong Drupal 6, một khung nhìn có thể được nhúng vào một nút như sau:
$viewName = 'LatestNews';
print views_embed_view($viewName);
Điều này không hoạt động cho drupal 7. Chức năng để nhúng các khung nhìn trong drupal 7 là gì?
Trong Drupal 6, một khung nhìn có thể được nhúng vào một nút như sau:
$viewName = 'LatestNews';
print views_embed_view($viewName);
Điều này không hoạt động cho drupal 7. Chức năng để nhúng các khung nhìn trong drupal 7 là gì?
Câu trả lời:
Trong Drupal 7, bạn có thể sử dụng mã này.
Đối với một trang xem
print views_embed_view('name_of_view','page_1', $node->nid);
Đối với một khối xem
print views_embed_view('faculty_core','block_1', $node->nid);
Để hiển thị chế độ xem trong mẫu nút, bạn sử dụng mã sau đây.
// Load the view.
$view = views_get_view('machine_name_of_view');
// Set the active display.
$view->set_display('your_view_display_name');
// Set any needed argument.
$view->set_arguments(array(arg(0), arg(1)));
// Execute the view.
$view->execute();
// Render the view.
print $view->render();
pre_execute()
trước execute()
.
Tại sao không:
print views_embed_view($view_machine_name, $view_display_name, $arg1, $arg2);
trong đó $ arg, $ arg2, v.v. là tùy chọn.
Hoặc sử dụng mô-đun Viewfield để nhúng chế độ xem dưới dạng trường.
Một giải pháp là sử dụng Panelizer để ghi đè nội dung của nút tương ứng.
Ví dụ, hãy nói rằng bạn có rất nhiều trang một lần cần một chế độ xem được đính kèm.
1) Bạn có thể sử dụng loại nội dung Trang hoặc có thể tạo một loại nội dung mới sẽ được điều chỉnh cụ thể.
2) Kích hoạt Trình điều khiển cho loại nội dung đó, đảm bảo thiết lập nó thành "Cho phép lựa chọn hiển thị theo bản ghi" theo cách bạn có thể thiết lập nhiều màn hình trình điều khiển sẽ được điều chỉnh theo từng trang. (mỗi màn hình trình điều khiển có thể có tập hợp các khung nhìn riêng được đính kèm)
3) Từ đây bạn chỉ cần tạo chế độ xem (Tôi thích sử dụng Content Panes cho việc này) và thêm nó vào màn hình hiển thị nội dung của Panelizer.
Điều này cho phép bạn sử dụng lại một loại nội dung duy nhất không thực sự cần tập hợp các trường của riêng nó, nhưng có thể có khả năng được sử dụng để tham chiếu các thực thể khác (dưới dạng một trường) hoặc tham chiếu các chế độ xem.
Ném vào mô-đun Đoạn văn và bạn có loại nội dung Swiss Army Knife. Nói về điều đó, nó sẽ tạo nên một cái tên hoàn hảo cho loại nội dung tùy chỉnh được sử dụng cho mục đích này ... Hmm ....
Chúng ta chỉ đề cập đến tham số đầu tiên là tên xem, tên hiển thị thứ hai và sau đó bạn có thể truyền tham số bộ lọc theo ngữ cảnh.
Vì vậy, "$ node-nid", tham số thứ ba phụ thuộc vào bạn xem ... những gì nó mong đợi cho bộ lọc theo ngữ cảnh đầu tiên - id không phải là id nút. Tất nhiên, bạn không bị giới hạn ở một tham số - vượt qua số lượng bạn có trong chế độ xem ... hoặc không vượt qua nếu chế độ xem của bạn không có bộ lọc theo ngữ cảnh.
Một mô-đun Drupal 7 và 8 rất có thể định cấu hình là Views_field_formatter cho phép bạn nhúng chế độ xem dưới dạng định dạng trường