Как заставить блок использовать URL-адрес для настройки контекстного фильтра?
У блоков нет путей, поэтому как я могу передать контекст блоку, чтобы получить правильные результаты для страницы?
Я новичок и у меня недостаточно репутации, чтобы отвечать на свой собственный вопрос в течение восьми часов (Поди разберись!) Ответ на этот вопрос придет по истечении установленного срока.
2 answers
Страница просмотров может прочитать URL-адрес и использовать путь к странице для чтения термина таксономии, введенного для контекстного фильтра. URL-адрес, такой как example.com/a/term/b
, будет прочитан страницей просмотра с путем a/%/b
. Значение %
в URL-адресе передается контекстному фильтру, чтобы определить, какое содержимое следует включить в представление.
Поскольку блок не имеет пути, для достижения результата необходимо выполнить немного больше настроек. Для этого:
- Нажмите на контекстную фильтр на форме представления блока в представлениях.
- В разделе
When the filter value is NOT available
выберитеProvide default value
.
Если страница в пути является термином таксономии, попробуйте выполнить следующие шаги 3 и 4:
- Выберите
Taxonomy term ID from URL
в раскрывающемся списке Тип. - Проверить
Load default filter from term page
.
Или попробуйте иначе:
- Выберите
Raw value from URL
- Определите, какая часть URL-адреса является термином. например, для
A/term/B
термин находится на второй позиции.
Затем:
- В разделе
When the filter value IS in the URL or a default is provided
проверить "Укажите критерии проверки" - Выберите
Taxonomy term
и конкретный используемый словарь. - В разделе
Filter Value type
выберите название термина, преобразованное в идентификатор термина" - Проверка
Transform dashes in URL to spaces in term name filter values
обеспечит правильную обработку любого автоматически сгенерированного псевдонима пути, который преобразовал пробелы в тире. Попробуйте свой взгляд с этим отмеченным и непроверенным.
Если ваше представление не отображается на странице, действия по устранению неполадок должны включать проверку работоспособности представления путем проверки ввода в представление предварительный просмотр. Убедитесь, что все пробелы обработаны в соответствии с настройками на шаге 8. Также убедитесь, что ваш блок просмотра отображается в admin/structure/block
.
Если вы хотите выбирать в соответствии с типом контента, а не таксономией, вам нужна другая настройка. Попробуйте выполнить следующее:
- Нажмите на Контекстные фильтры
- Добавить содержимое: NID В разделе ЕСЛИ ЗНАЧЕНИЕ ФИЛЬТРА НЕДОСТУПНО , выберите Указать значение по умолчанию и выберите Идентификатор содержимого из URL в раскрывающемся списке.
- На , КОГДА ДОСТУПНО ЗНАЧЕНИЕ ФИЛЬТРА ИЛИ ЗАДАНО ЗНАЧЕНИЕ ПО УМОЛЧАНИЮ раздел, выберите Указать проверку критерии, выберите Содержимое в поле выбора СРЕДСТВА проверки и выберите, какие типы контента вы разрешаете отображать.
Этого должно хватить.