Làm cách nào để nhúng chế độ xem bên trong nút?


7

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ì?


Theo liên kết tài liệu này của mô-đun lượt xem, chức năng này có sẵn như nhau trên Drupal 6 và 7. Hãy thử với tham số thứ hai là $ display_id của chế độ xem của bạn.
Shoaib Nawaz

Câu trả lời:



5

Các EVA mô-đun cũng có thể đính kèm xem để nút.


5

Để 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();

1
Bạn phải luôn gọi $ view-> pre_execute (); trước $ view-> exec ();
Teegan

@Teegan - Không biết rằng, chỉ sử dụng thực thi dường như hoạt động, nhưng tôi sẽ xem xét sử dụng pre_execute()trước execute().
Cyclonecode

4

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.


XEM !!!! CHÚA ƠI!!! Tôi đã tìm kiếm nhiều ngày cho chức năng này, thử nhiều mô-đun, điều này giúp tôi tiết kiệm! : D cảm ơn!
DrCord

@DrCord, cũng thấy các mô-đun Eva và view_field_view, chúng khá giống nhau.
timofey.com

Tôi không thể có được eva để làm những gì tôi muốn.
DrCord

1

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


0

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.


0

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

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.