Tôi đang cố gắng quấn đầu quanh các bộ lọc theo ngữ cảnh một lần nữa! Tôi đã sử dụng nó một thời gian nhưng tôi lại hoàn toàn bối rối. Đây là những gì tôi đang cố gắng làm:
- Tạo một trang nút nội dung được nhân bản với các thuật ngữ phân loại được chèn vào trang nhân bản này.
ví dụ: EXAMPLE.com/white-shoes/blue
Khi người dùng đến trang / giày trắng, nó sẽ hiển thị trang nút gốc hướng đến màu trắng. Bây giờ nếu người dùng hạ cánh trên / giày trắng / xanh thì nó sẽ hiển thị cùng một trang nút, nhưng lần này tất cả nội dung cơ thể sẽ được viết lại thay thế màu trắng bằng màu xanh.
Trong Chế độ xem, tôi sẽ phải tạo một màn hình Trang với đường dẫn:% /%
Bây giờ tôi sẽ tạo một bộ lọc theo ngữ cảnh để lấy nid. Tôi thêm Nội dung: nid làm bộ lọc theo ngữ cảnh. Tôi chọn CUNG CẤP GIÁ TRỊ DEFAULT và tôi đặt mã PHP này:
$ x = drupal_lookup_path ('nguồn', arg (0));
$ y = phát nổ ('/', $ x);
trả lại $ y 1 ;
Mã PHP đó về cơ bản chuyển đổi phần / giày trắng của URL thành NID. Nhưng nó không hoạt động. Tôi đã kiểm tra mã thông qua drush ev qua thiết bị đầu cuối và tôi thực sự nhận được kết quả trả về, vì vậy tôi biết nó hoạt động.
Tôi làm tương tự cho tên thuật ngữ phân loại và thêm một bộ lọc theo ngữ cảnh cho điều đó. Lần này tôi chọn CUNG CẤP GIÁ TRỊ DEFAULT và chọn GIÁ TRỊ RAW TỪ URL và chọn đối số thứ 2.
Như bạn có thể thấy khi tôi nhập GIÁ TRỊ TRƯỚC cho bộ lọc theo ngữ cảnh: AAA / BBB / CCC. Giá trị mặc định của tôi bị bỏ qua. Đáng lẽ phải nắm lấy đối số thứ 2, nhưng nó chỉ nhận được đối số thứ nhất. Nhìn vào câu lệnh SQL WHERE và bạn sẽ thấy nó nhận được AAA khi nó phải là BBB.
Vì vậy, câu hỏi là tôi đang làm gì sai hoặc có một giải pháp tốt hơn cho những gì tôi muốn thực hiện?