Я намагаюся знову обернути голову навколо контекстуальних фільтрів! Я використав це деякий час назад, але я просто повністю заткнувся знову. Ось що я намагаюся зробити:
- Створіть сторінку клонованого вмісту з термінами таксономії, вставленими на цю клоновану сторінку.
напр .: EXAMPLE.com/white-shoes/blue
Коли користувач перейде на сторінку / білі черевики, він покаже оригінальну сторінку вузла, орієнтовану на білий колір. Тепер, якщо користувач приземлиться на / white-shoes / blue, він покаже ту саму сторінку вузла, але цього разу весь вміст тіла буде переписаний, замінивши білий колір синім кольором.
У Переглядах я повинен створити відображення сторінки із контуром:% /%
Тепер я створив би контекстний фільтр, щоб отримати nid. Я додаю Content: nid як контекстний фільтр. Я вибираю НАДАЙТЕ ЗАМОВЛЕННУ ЦІННІСТЬ і ввожу цей PHP-код:
$ x = drupal_lookup_path ('джерело', arg (0));
$ y = вибухнути ('/', $ x);
повернути $ y 1 ;
Цей PHP-код в основному перетворює частину URL-адреси / white-shoes в NID. Але це не працює. Я перевірив код через drush ev через термінал, і я дійсно отримую повернутий результат, тому я знаю, що він працює.
Я роблю те саме для назви терміна таксономія і додаю контекстний фільтр для цього також. Цього разу я вибираю НАДАТИ ЗАМЕЧАННУ ВІДПОВІДНІСТЬ і вибираю RAW VALUE OF URL та вибираю 2-й аргумент.
Як ви бачите, коли я ввожу значення попереднього перегляду для контекстного фільтра: AAA / BBB / CCC. Моє значення за замовчуванням ігнорується. Це має бути захоплення 2-го аргументу, але він отримує лише перший. Подивіться на вислів SQL ДУЙ, і ви побачите, що він отримує AAA, коли він повинен бути BBB.
Отже, питання полягає в тому, що я роблю неправильно чи є краще рішення того, що я хочу досягти?