Как добавить переменные фильтры в представления Drupal 6 через URL? - PullRequest
1 голос
/ 05 ноября 2010

В настоящее время я использую Drupal Views 2 для создания пользовательских представлений.Пока это работает нормально, если в этом нет необходимости: нужно иметь возможность фильтровать результаты по разным полям через URL в виде:

http://domain/node/M/[key]:[value],[key2]:[value2],...,[keyN]:[valueN]

Имена ключейисправлено и не может быть изменено.

Я попытался перехватить hook_views_query_alter () и hook_views_pre_render (), чтобы обобщить это для всех представлений, оценивая заданный набор фильтров, но без удовлетворительного завершения, так как я не смог получить запросиспользуется для построения представления (я не мог изменить его должным образом, так как я не знаю имен полей в запросе).

Вопрос в том, есть ли более хороший способ реализовать такой набор фильтров.

заранее спасибо,

flo

1 Ответ

1 голос
/ 05 ноября 2010

Глядя на комментарии, вам, похоже, нужны не только аргументы url, но и аргументы url в произвольном формате.

Сначала я призываю вас отказаться от формата и использовать стандартный формат аргументов views, это будетСоответствие стандартам и избавит вас от головной боли.

Если вы хотите использовать этот специфический формат, вам нужно написать собственный код в модуле.

  • Зарегистрировать обратный вызов с помощью hook_menu ().

  • В этом обратном вызове используйте arg () и декодируйте свои аргументы.

  • Передайте аргументы в views_embed_view ().как показано здесь

...