Как получить блок для использования URL-адреса для настройки контекстного фильтра?

8

У блоков нет путей, так как я могу передать контекст в блок, чтобы получить правильные результаты для страницы?

Я новичок, и у меня недостаточно репутации, чтобы ответить на мой собственный вопрос в течение восьми часов (пойди разберись!) Ответ на этот вопрос придет после истечения срока.

штучный камень
источник
У меня аналогичная проблема. Надеюсь , кто - то может помочь мне с этим: drupal.stackexchange.com/questions/27818/...
user6670

Ответы:

15

Страница представлений может прочитать URL-адрес и использовать путь для страницы, чтобы прочитать ввод условия таксономии для контекстного фильтра. URL-адрес, такой как example.com/a/term/bбудет прочитан на странице просмотра с путем a/%/b. Значение для %URL-адреса передается в контекстный фильтр, чтобы определить, какой контент включить в представление.

Поскольку блок не имеет пути, для достижения результата необходимо сделать немного больше настроек. Для этого:

  1. Нажмите на контекстный фильтр в форме блочного представления в представлениях.
  2. Под When the filter value is NOT availableотбором Provide default value.

Если страница в пути является термином таксономии, попробуйте выполнить шаги 3 и 4:

  1. Выберите Taxonomy term ID from URLиз раскрывающегося списка Тип.
  2. Проверьте Load default filter from term page.

Или иначе попробуйте это:

  1. выбирать Raw value from URL
  2. Определите, какая часть URL является термином. например. на A/term/Bсрок находится на второй позиции.

Затем:

  1. Под When the filter value IS in the URL or a default is providedпроверкой «Укажите критерии проверки»
  2. Выберите Taxonomy termи конкретный используемый словарь.
  3. При Filter Value typeвыборе названия термина конвертируется в термин ID "
  4. Проверка Transform dashes in URL to spaces in term name filter valuesобеспечит правильную обработку всех автоматически сгенерированных псевдонимов пути, которые преобразовали пробелы в тире. Попробуйте свой взгляд с этим проверено и не проверено.

Если ваше представление не отображается на странице, шаги по устранению неполадок должны включать проверку работоспособности представления путем проверки входных данных в окне предварительного просмотра. Убедитесь, что все пробелы обрабатываются в соответствии с настройкой на шаге 8. Также убедитесь, что ваш блок просмотра открыт в admin/structure/block.

Ashlar
источник
У меня есть два словаря таксономии. Коллекции coll1, coll2 и coll3 Размеры small, medium и large Мой URL выглядит следующим образом: collection / coll1 / small Я пытался использовать метод, который вы описали, но я не получил результатов. Есть идеи?
кричит SiLENCE
Мне нужно больше информации о вашем взгляде. Почему бы не добавить вопрос и описать, какие поля, фильтры, контекстные фильтры вы настроили, и мы разберемся с этим.
Ашлар
1

Если вы хотите выбирать в соответствии с типом контента вместо таксономии, вам нужна другая настройка. Попробуйте следующее:

  1. Нажмите на контекстные фильтры
  2. Добавить содержимое: NID В разделе КОГДА ЗНАЧЕНИЕ ФИЛЬТРА НЕДОСТУПНО , выберите Предоставить значение по умолчанию и выберите Content ID from URL в раскрывающемся списке.
  3. В разделе, КОГДА ЗНАЧЕНИЕ ФИЛЬТРА ДОСТУПНО ИЛИ ПРЕДОСТАВЛЯЕТСЯ ПО УМОЛЧАНИЮ , выберите Указать критерии проверки , выберите Содержимое в поле выбора VALIDATOR и выберите, какие типы содержимого вы разрешаете отображать.

Это должно сделать это.

Урб Гим Там
источник
Проверка проходит, но она не фильтрует NID? Нужно ли создавать связь с контекстным фильтром?
Sonichowts