Как передать контекстный фильтр Views через URL?

18

Я хочу передать некоторые значения моему представлению через контекстные фильтры в URL. Какие GET naImes я использую? Кажется, здесь не дано никакой подсказки, только это «Значения контекстного фильтра предоставлены URL».

Если мне нужно создать этот URL, как мне узнать, какие имена переменных GET мне нужно передать, чтобы они были распознаны?

giorgio79
источник

Ответы:

13

Контекстные фильтры не передаются в отдельных переменных, они являются частью пути. Если ваш путь просмотра равен xxx / yyy, то для значения фильтра nn путь будет равен xxx / yyy / nn.

Альфред Армстронг
источник
1
+1. и этот порядок xxx / yyy такой же, как вы можете видеть на панели «Контекстные фильтры» в пользовательском интерфейсе Views.
AyeshK
12

Используйте Предоставить значение по умолчанию в контекстном фильтре.

контекстный фильтр

также вы можете использовать PHP-код для получения значения из URL

введите описание изображения здесь

Сибирадж ПР
источник
1
У вас есть пример кода PHP, который можно использовать? Благодарность!
petergus
Это связано с этой областью. Например: - тогда это числовое поле - вернуть 1; или верните $ user-> uid; и т.д ..... будет работать.
Sibiraj PR
Arent эти варианты, когда значение не в URL? Как он будет измерять свое значение, отправленное в качестве параметра?
pal4life
Никогда не рекомендуется размещать код PHP в своей базе данных, всегда делать код в файлах и сохранять их в системе пересмотра кода
lslinnet
5

Если вы хотите передать аргументы через GET в URL, вы можете использовать модуль BEF для этого.

Например: mydomain.com/your-view-path?field_a=valuea&field_b=valueb

В Better Exposed Filters вам нужно добавить открытые фильтры (не контекстный фильтр), отметьте опцию expose this filter, и имя переменной GET ниже в дополнительных опциях. Тогда, если вы не хотите показывать фильтр, вы можете спрятать его в настройках Better Exposed Filters.

Не забудьте включить опцию «Использовать Ajax», если ваш вид является блочным дисплеем.

Установленный стиль фильтра должен быть установлен на «Лучшие открытые фильтры», а не на «Основной».

Это очень полезно для просмотра блоков.

almoraleslopez
источник