Как предотвратить добавление контекстного фильтра страницы к URL-адресу страницы при использовании контекстных фильтров в drupal? - PullRequest
1 голос
/ 15 марта 2012

У меня есть страница, на которой есть как контекстный, так и открытый фильтр.Моя проблема заключается в том, что если я захожу на страницу через myview / 12 (где 12 - мой контекстный фильтр), а затем использую фильтр на странице, чтобы отфильтровать результат, значение 12 все равно будет добавлено на страницуэто ограничит мои результаты значением контекстного фильтра ... Есть ли способ удалить значение контекстного фильтра при использовании открытого фильтра?

Спасибо!

Ответы [ 3 ]

1 голос
/ 14 ноября 2013

Вы можете попробовать модуль Фильтр согласований . Этот модуль решает проблему, когда представления с контекстным фильтром и открытыми фильтрами работают в одном и том же времени, и вы можете настроить его так, чтобы они работали независимо.

0 голосов
/ 23 марта 2012

Укажите критерии проверки, которые не выполняются, если в URL-адресе присутствует какой-либо открытый фильтр, и выберите отображение всех значений, если критерии проверки не пройдены.

0 голосов
/ 18 марта 2012

Я так не думаю. Поскольку результаты страницы фильтруются контекстным фильтром перед открытыми фильтрами.

Почему вы используете "myview / 12" ?! Почему бы не использовать «myview» без чего-либо, переданного в качестве контекстного фильтра?

UPDATE: Чтобы исключить контекстный фильтр из URL-адреса, необходимо изменить атрибут перенаправления формы, применив hook_form_alter (). Для этого вам необходимо выполнить следующие шаги:

  1. найти идентификатор формы.
  2. Измените вес вашего модуля в таблице «system». (Поскольку вес представлений по умолчанию равен 10, ваш модуль должен иметь более тяжелый вес, чтобы убедиться, что он влияет на форму, генерируемую представлениями)
  3. изменить атрибут перенаправления формы. $ form ['# redirect'] = 'myview';

Скажите, сработало ли это.

Мухаммад.

...