Chuyển đổi tên thuật ngữ có ký tự đặc biệt thành ID kỳ hạn trong Chế độ xem


11

Tôi có một quan điểm mà tôi muốn sử dụng nhiều termID làm đối số. Tôi muốn sử dụng tên thuật ngữ từ url và chuyển đổi nó thành termID. Tôi đã quản lý để làm điều này đủ dễ dàng và nó hoạt động với các thuật ngữ 1 từ đơn giản hoặc thậm chí nhiều từ bằng cách kiểm tra 'Chuyển đổi dấu gạch ngang trong URL thành khoảng trắng trong đối số tên thuật ngữ'

Tôi có một vài thuật ngữ có các ký tự đặc biệt, ví dụ: "tin tức & chính trị".

Có cách nào để có URL đẹp (chính trị tin tức) và có được lượt xem để nhận ra thuật ngữ chính xác và chuyển đổi nó thành thuật ngữ chính xác không? Tôi sẽ phải urlencode ampersand chứ? Điều đó thậm chí sẽ làm việc?

Chỉnh sửa: Bạn có thể thiết lập bí danh đường dẫn cho các thuật ngữ phân loại đơn, nhưng là một vấn đề khi bạn muốn sử dụng tên thuật ngữ làm đối số thứ hai trong một đường dẫn có nhiều đối số, ví dụ:

Nói rằng tôi muốn lọc kết quả xem theo% 1 Thời hạn tin tức sau đó% 2 Tin tức & Chính trị

/ tin tức / tin tức chính trị

nhiệm kỳ thứ hai sẽ không được công nhận.


Tại sao bạn không sử dụng tên hạn làm đối số?
dobeerman

Cùng một vấn đề. Ampersand bị thiếu nên drupal không thể tìm thấy thuật ngữ. Tôi nghĩ rằng tùy chọn duy nhất là hoặc url mã hóa các ký hiệu và SEO không quan tâm hoặc có thể lưu trữ bí danh đường dẫn cho mỗi thuật ngữ trong db. Chỉ tự hỏi nếu có ai đã gặp phải điều này trước đây và có một chiến lược tốt.
nickwshaw

Cũng như một giải pháp ngắn hạn, chúng tôi sẽ chỉ thay thế & bằng từ và. Vì vậy, Tin tức & Chính trị (tin tức chính trị) sẽ là Tin tức và Chính trị (tin tức và chính trị)
nickwshaw

Câu trả lời:


2

Bạn có thể sử dụng pathauto để thiết lập bí danh tự động cho các thuật ngữ phân loại của bạn. Pathauto sẽ chăm sóc các ký tự url không hợp lệ cho bạn khi nó tạo các bí danh tự động. Sau đó, trong quan điểm của bạn sử dụng thuật ngữ id làm đối số. Đường dẫn của chế độ xem của bạn có thể là phân loại / thuật ngữ /% hoặc tự động bạn thiết lập /%


1
Cảm ơn Jepedo. Đó là một giải pháp tuyệt vời cho một thuật ngữ phân loại duy nhất. Nhưng vẫn còn một vấn đề nếu bạn muốn sử dụng thuật ngữ này làm đối số ký tự đại diện trong đường dẫn đa đối số. Tôi nên đã đề cập rằng trong bài viết gốc của tôi và bây giờ đã chỉnh sửa nó.
nickwshaw


2

Do lỗi tồn tại lâu trong mô-đun Lượt xem được báo cáo tại Sự cố # 672606: Dấu cộng, dấu gạch ngang và dấu gạch chéo (+ - /) ngắt đối số trên Drupal.org, không thể sử dụng làm đối số (hoặc "bộ lọc theo ngữ cảnh "Trong cách gọi gần đây hơn) tên có chứa một số ký tự đặc biệt. Một vài cách giải quyết được đề xuất ở đó :

  1. Sử dụng một cái gì đó như mô-đun Trường được tính toán (computing_field) để tạo giá trị trường thân thiện với URL trên thực thể thuật ngữ có thể được sử dụng làm đối số. Chỉ cần lưu ý đến cơ hội (mỏng?) Của các thuật ngữ rất giống nhau đang che giấu lẫn nhau nếu bạn không cẩn thận về tính độc đáo.
  2. Chỉ cần sử dụng ID thuật ngữ cho các đối số và tạo bí danh đường dẫn cho chúng bằng mô-đun View Alias (view_alias).
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.