Điểm:2

Pathauto alias full path for hierarchical taxonomy terms

lá cờ nr

My client has content tagged by a hierarchical taxonomy of arbitrary depth.

Currently the maximum depth is three, but that could change:

ParentTerm
└── ChildTerm
    └── GrandchildTerm

Each Term has a unique TID (of course), but many Terms (especially descendants) share identical strings for Name.

However, the full Taxonomy tree path to each term is guaranteed to be unique (two adjacent Terms will never be identically named.)

All nodes tagged with GrandchildTerm of TID = 42 appear in a View at /taxonomy/term/42.

I would like to use Pathauto to generate aliases for each Term at the full taxonomy tree path, like so:

/ParentTerm/ChildTerm/GrandchildTerm

I was looking for Tokens to accomplish this.

I found instead that the paths are set by a View which generates the list of Nodes tagged with the Term ID.

The View has a contextual filter which accepts {{ arguments.tid }}.

Under Page Settings, the value for Path is /taxonomy/term/%.

Someone on this forum said setting up two contextual filters would help, but that does not apply here.

I do not want /taxonomyname/taxonomyterm as the path; I want /ParentTerm/ChildTerm/GrandchildTerm as the path (or, if necessary, /tags/ParentTerm/ChildTerm/GrandchildTerm).

It is possible to set a contextual filter Content: Has taxonomy term ID (with depth) but I haven't been able to get the path I seek this way.

Also, I would like a ParentTerm taxonomy page to return results for its descendants, but the current View only displays items for the specific TID. (The Views Tree module would help here, but it does not work with Drupal 9 yet.)

If this were not a requirement, I might try flattening the taxonomy and using term names like ParentTerm-ChildTerm-GrandchildTerm to differentiate identically named descendant terms. (This would solve another problem the client has: the ambiguity of selecting the correct term from the "Tags" vocabulary when tagging content.)

Điểm:2
lá cờ in

Tôi nghĩ rằng bạn sẽ thực sự gặp khó khăn để làm cho điều này hoạt động bằng cách sử dụng chế độ xem trang thuật ngữ phân loại mặc định. Tuy nhiên, bạn có thể tắt chế độ xem và sau đó sử dụng chế độ hiển thị nội dung đầy đủ của thực thể mặc định cho các điều khoản và thực hiện bất kỳ điều gì bạn muốn đối với chế độ xem đó (giống như trang nút).

  1. Vô hiệu hóa hiển thị thuật ngữ phân loại kiểm soát /taxonomy/term/%tid. Điều này sẽ cho phép tuyến chính tắc của thực thể của thuật ngữ tự kiểm soát.
  2. Tạo bí danh pathauto cho các điều khoản của bạn với mẫu bạn muốn. Tôi nghĩ bạn có thể sử dụng các mã thông báo hiện có cho phần gốc của đường dẫn, chẳng hạn như [thuật ngữ:cha mẹ:url:đường dẫn]/[thuật ngữ:tên]. (Hoặc chỉ tạo mã thông báo tùy chỉnh nếu mã thông báo hiện tại không hoạt động.)
  3. Sao chép màn hình bị tắt ở bước 1 (dưới dạng khối hoặc nhúng - tùy thuộc vào cách bạn muốn đặt nó) và đặt nó trên các trang thuật ngữ phân loại của bạn (thông qua bố cục khối, ngữ cảnh, tiền xử lý, nhánh hoặc bất kỳ thứ gì). Tôi không nghĩ rằng đó sẽ là một vấn đề, nhưng nếu bạn gặp sự cố khi đặt tid chính xác cho bộ lọc theo ngữ cảnh bằng cách sử dụng các tùy chọn mặc định của chế độ xem, thì bạn có thể sử dụng hook_views_pre_view() để lấy thông tin từ tuyến đường và chuyển nó đến chế độ xem theo chương trình.
hotwebmatter avatar
lá cờ nr
Cảm ơn @sonfd, tôi sẽ thử và chấp nhận câu trả lời của bạn nếu nó hoạt động. Điều gì về việc trả lại kết quả cho con cháu - tôi có nên đăng câu hỏi đó dưới dạng một câu hỏi riêng không?
sonfd avatar
lá cờ in
@hotwebmatter - rất tiếc, tôi đã bỏ lỡ phần đó. Đó là những gì _Content: Has taxonomy term ID (with depth)_ bộ lọc theo ngữ cảnh dành cho, vì vậy bạn sẽ có thể sử dụng nó. Tôi nghĩ rằng nếu bạn làm cho phần còn lại hoạt động và gặp sự cố với phần đó thì bạn nên hỏi như một câu hỏi riêng.
hotwebmatter avatar
lá cờ nr
Tôi chưa bao giờ có phân loại phân cấp hoạt động theo cách tôi muốn và cuối cùng đã thực hiện một cách tiếp cận khác, nhưng tôi chấp nhận câu trả lời này vì nó hữu ích.

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