Контекстный фильтр с блочным представлением

19

У меня есть просмотр страницы ("/ news") с контекстным фильтром для тем ("news / design", "news / coding" ...), которые являются терминами таксономии, и это работало нормально. Из-за некоторых изменений в тематике мобильных устройств мне нужно представление блоков вместо просмотра страниц, но я не могу заставить его работать с фильтрами.

Со старыми настройками фильтра я получаю все свои статьи в «/ news», но используемый мной фильтр изменил значение по умолчанию с фильтра на «ID термина таксономии из URL»; Теперь я вижу пустую страницу для "/ news" (теперь это простая страница с включенным представлением блоков) и "сайт не найден" для "/ news / design" и т. Д. В предварительном просмотре все работает нормально. ,

Это настройки для просмотра.

Скриншот

user6670
источник

Ответы:

33

В общем, причина, по которой этот блок не работает, заключается в том, что у блока нет назначенного пути, а у контекстного фильтра нет пути для работы. Чтобы подключить блок к пути, вернитесь к настройкам контекстного фильтра и в разделе What to do if the URL is not availableвыберите Provide default valueи выберите Raw value from URLиз выпадающего списка. В Path Componentполе выберите позицию в URL, в которой ваш контекстный фильтр получает свое значение.

В вашем конкретном случае вы указали представлению интерпретировать URL как термин таксономии, и это, вероятно, не формат вашего URL (таксономия / term / tid). Интерфейс Views немного вводит в заблуждение, так как предполагает, что псевдоним может использоваться в контекстном фильтре, если это не так. Drupal преобразует псевдоним в базовое значение URL при вызове представления, и это то, что непосредственно доступно в контекстном фильтре. Чтобы использовать псевдоним, вы должны сообщить ему, как описано выше. Представления мощные, но немного хитрые в использовании. Один из инструментов, который вы можете использовать, если у вас есть некоторый опыт работы с SQL-запросами, - это включить отображение запросов в окне предварительного просмотра View на вкладке Settings. Это скажет вам, что пытается сделать представление, когда оно вызывается.

Больше можно найти по этому вопросу на этот вопрос

штучный камень
источник
Привет, большое спасибо за ответ подробностей. Теперь я понимаю, что такое термин таксономии. К сожалению, он также не работает с «необработанным значением из URL». Это действительно сложно отладить, потому что в предварительном просмотре все работает отлично. Есть ли что-то еще, чего я не вижу?
user6670
Если он работает в режиме предварительного просмотра, но не на сайте, это означает, что проблема не в настройках просмотра. Возможно, что представление не получает URL. Размещен ли блок просмотра в тематической области? Является ли вкладка быстрого доступа или другой специализированный модуль отображения, который вызывает блок просмотра, непосредственно вовлеченным?
Ашлар
Я не знаю о user6670, но этот ответ спас мой зад сегодня. Спасибо, @Ashlar!
Бэт
1
Я успешно использовал это решение, но следует отметить, что все контекстные фильтры должны иметь значение по умолчанию. Как только я установил для всех контекстных фильтров значение «Предоставить значение по умолчанию», «Исходное значение из URL» и выбрал позицию, это решение отлично заработало.