it-swarm-vi.com

Làm thế nào để thực hiện tham chiếu nút hai chiều?

Mô-đun tham chiếu nút (một thành phần của CCK) cung cấp một cách tuyệt vời để tạo một nút tham chiếu từ một nút khác. Cách tốt nhất để phơi bày mối quan hệ hai chiều giữa hai người là gì? Ví dụ dưới đây:

Chẳng hạn, trong hệ thống theo dõi vé có hai vé (nút) A & B, bạn có thể tạo tham chiếu nút từ vé A -> B và đánh dấu B là con. Khi xem vé A, việc hiển thị thông tin này sẽ không quan trọng. Tuy nhiên, tôi cũng muốn hiển thị mối quan hệ này khi xem vé B và hiển thị vé A với tư cách là cha mẹ của nó.

Yêu cầu tương tự này cũng sẽ được áp dụng trong các tình huống không phân cấp (vé C & D) với tham chiếu từ C -> D, mối quan hệ phải được phơi bày trên vé D cũng như trên C.

20
markdorison

Có nhiều mô-đun có sẵn, milage của bạn có thể thay đổi:

BackReference (Chỉ dành cho Drupal 6)

NodeReferrer (Bản phát hành beta 7 bản Drupal)

Mối quan hệ nút (Chỉ dành cho Drupal 6)

Tham chiếu nút tương ứng (Phát hành ổn định 7 Drupal)

Tham chiếu thực thể tương ứng (Phát hành Drupal 7 dev)

Phụ thuộc nội dung (Phát hành ổn định 7 Drupal)

25
tim.plunkett

Mô đun tham chiếu thực thể hiện hoạt động với Tham chiếu thực thể tương ứng . Điều này là lý tưởng cho tất cả các nút và các thực thể nút không.

7
tmsimont

Với Drupal 6, tùy chọn tốt nhất có lẽ là mô-đun NodeReferrer . For Drupal 7, Relation phù hợp với hóa đơn nhưng chưa sẵn sàng.

4
Pierre Buyle

Nếu bạn đang sử dụng Drupal 7/Lượt xem, bạn có thể tạo mối quan hệ 'đảo ngược' để có danh sách các nút tham chiếu đến một nút nhất định (hoặc, có lẽ, người dùng tham chiếu đến một nút đã cho nút). Kiểm tra bản vá trong vấn đề này: http://drupal.org/node/104326

Theo tôi, trừ khi bạn cần mối quan hệ ngược rõ ràng, được xây dựng sẵn được lưu trữ trong cơ sở dữ liệu (điều này đôi khi có thể hữu ích vì lý do hiệu suất), sử dụng một trong những giải pháp khác là quá mức cần thiết. Bạn luôn có thể tìm kiếm một mối quan hệ trong truy vấn SQL của riêng bạn nếu bạn cần ...

[Chỉnh sửa: Kể từ khi viết bài đăng này, bản vá trong vấn đề trên đã được cam kết cho Tài liệu tham khảo cho D7 và nên là cách thức phản hồi ưa thích (hoạt động tuyệt vời khi chỉ cần danh sách các nút hoặc người dùng tham khảo một nút hoặc người dùng khác) .]

[Chỉnh sửa 2: Nếu bạn đang sử dụng Tham chiếu thực thể, có vẻ như giải pháp ưa thích là sử dụng Tham chiếu thực thể tương ứng , và cũng có sử dụng ít hơn Đồng bộ hóa trường tham chiếu thực thể .]

4
geerlingguy

Trong Drupal 7 (mà bạn đã chỉ định) có vẻ như giải pháp là sử dụng Mô-đun tham chiếu thực thể kết hợp với - (Thực thể) Mô-đun đồng bộ hóa trường tham chiế có thêm chức năng cần thiết để giữ cho các mối quan hệ được đồng bộ hóa.

Điều tương tự cũng có thể đạt được với Mô-đun tham chiế với mô-đun cnr - giải pháp này hoạt động (Tôi đang sử dụng nó trên một Drupal 7 trang web hiện tại ), nhưng đang trở nên lỗi thời/không được ủng hộ cho giải pháp đầu tiên tôi đưa ra.

Tất cả các giải pháp khác được đề cập trong các câu trả lời trên chỉ có liên quan cho Drupal 6 (ngoại trừ Quan hệ có tiềm năng trở thành một mô-đun tuyệt vời, nhưng ngay bây giờ, không thực sự làm được gì nhiều và có nhiều vấn đề).

3
Moshe Eshel

Ngoài ra, nếu bạn đang thực hiện triển khai tùy chỉnh và muốn có cách tham chiếu thẳng về phía trước, bạn có thể nối vào nodeapi, lắng nghe thao tác save và hơn là lập trình cập nhật nút được tham chiếu.

2
enikola

Bạn cũng có thể thử mô-đun Reverse Node Tham khảo .

1
user580

Chỉ cần sử dụng Quy tắc và quy tắc này http://drupal.org/node/183624

0
giorgio79

Bạn có thể sử dụng mô đun Phụ thuộc nội dung .

Nó cung cấp cho bạn các tham chiếu ngược thông qua tab và hỗ trợ các mô-đun sau: tham chiếu nút/tham chiếu thực thể.

0
drupal