Làm cách nào tôi có thể sử dụng pathauto để tạo URL cho các từ vựng được lồng sâu?


6

Tôi đang tạo mẩu bánh mì từ các đối số URL như được mô tả ở đây .

Tôi có một từ vựng giống như thế này:

Nghệ thuật-> Biểu diễn-> Khiêu vũ-> Múa ba lê

Tôi muốn url của mình trông như thế này: nghệ thuật / biểu diễn / nhảy / múa ba lê

Sử dụng mô-đun pathauto, tôi có thể làm điều này cho các thuật ngữ phân loại:

[term:parent]/[term:name]

Mà, trên trang Ba lê, cho tôi những điều sau đây; không phải những gì tôi muốn:

dancing/ballet 

Nếu tôi sử dụng cha mẹ thay vì cha mẹ, ( [term:parents]/[term:name]); Điều này gần nhưng không hoàn toàn:

arts-performing-dancing/ballet

Làm thế nào tôi có thể nhận được từ arts-performing-dancingđến arts/performing/dancing?

Câu trả lời:


9

Hãy thử một cái gì đó như thế này như mẫu từ vựng của bạn:

[term:parent:parent:parent:name]/[term:parent:parent:name]/[term:parent:name]/[term:name]

Và câu hỏi cuối cùng của bạn sẽ biến mất.

Chỉ cần chắc chắn lặp lại parent:phần ít nhất nhiều lần độ sâu tối đa dự kiến ​​trong vốn từ vựng của bạn. Pathauto sẽ thông minh bỏ qua các mục trên đầu.

Tôi biết nó không phải là siêu có thể mở rộng, nhưng nó hoạt động với tôi.


Điều đó đã làm nó! Nếu hiệu suất trở thành một vấn đề tôi sẽ tìm kiếm một cách tốt hơn, nhưng điều này chắc chắn là đủ tốt cho bây giờ.
Patrick Kenny

5

Tìm thấy một cách tốt hơn mà quy mô

[node:menu-link:parents:join-path]/[node:title] 

Đã đồng ý. Mã thông báo này không có sẵn tại thời điểm tôi đề xuất giải pháp không thể mở rộng của mình :)
Artur

4

Tất cả những câu trả lời này đều đúng nhưng bạn cũng có thể sử dụng mô đun chỉ mục thực thể phân loại cung cấp mã thông báo phân loại. Vấn đề bắt đầu khi thuật ngữ của bạn có dấu gạch chéo.

Mô-đun chỉ mục thực thể phân loại duy trì một chỉ mục chuẩn hóa của tất cả các điều khoản liên quan đến một thực thể cụ thể và sửa đổi. Bảng lõi {taxonomy_index} chỉ duy trì dữ liệu của nó cho các nút được xuất bản. Mô-đun này duy trì dữ liệu của nó cho tất cả các loại thực thể (bất kể được công bố hay không) và cũng được lập chỉ mục bởi sửa đổi.


1

Nếu bạn tìm thấy mẫu cho Drupal 8, hãy sử dụng [term:parents:join:/]/[term:name]

Kết quả ví dụ: arts/performing/dancing

Vì dấu phân cách của chúng tôi là dấu gạch chéo, đừng quên tắt các dấu gạch chéo trong Quản trị> Cấu hình> Tìm kiếm và siêu dữ liệu> Bí danh URL> Cài đặt , đi tới / admin / config / search / path / settings, phần Dấu chấm câu , tìm Dấu gạch chéo (/) và chọn "Không hành động (không xóa)" trong danh sách thả xuống.


0

Sử dụng mẫu sau cho bí danh đường dẫn : [term:i18n-vocabulary]/[term:parents:join-path]/[term:i18n-name].

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.