2009-09-08 4 views
1

В настоящее время я работаю на веб-сайте, где перечислены предприятия по своему расположению или категории, к которой он принадлежит. Проверить: http://frugalmillionaire.net/Как я могу установить выбранное пользователем значение отображаемого места Фильтр просмотров для всего сайта Drupal 6?

существующую функциональность реализована (Views, CCK и таксономии):

При нажатии на Primary меню ссылки передается в качестве аргумента в Вид категории бизнеса. Следовательно, в представлении отображаются только списки компаний только определенной категории. Также для реализации блока «Найти местные купоны»; фильтр одного и того же вида отображается в блоке.

Мой клиент хочет предоставить пользователю возможность указать свое местоположение на веб-сайте. После того, как пользователь установит это местоположение, тогда, щелкнув ссылки в главном меню (Ресторан), вы должны указать только рестораны, которые находятся в этом месте. Аналогичным образом, нажатие на любую из основных ссылок меню должно отображать сведения о предприятиях только для выбранного местоположения.

Потенциальные способы сделать это: 1) Установить значение, выбранное пользователем в открытом фильтре. Как это может быть сделано? 2) Использование Cookies. Могу ли я использовать Drupal Cookie, чтобы каким-то образом достичь этого?

Просьба помочь мне. Любая помощь/указатели/соответствующие ссылки были бы глубоко оценены.

Благодаря

+0

Как и в случае с гео-модулем, вы можете делать некоторые изящные вещи с расположением и видами. –

ответ

0

Я думаю, что вы просите три разные вещи.

1. Как вы получаете информацию о местоположении от текущего пользователя и храните его? Если пользователь устанавливает и забывает свое местоположение, создайте поле профиля. Модуль Location может помочь. Если пользователь просто набирает место для временного использования, сохраните его на своем сеансе.

2. Как вы создаете тему для сайта на основе местоположения пользователя? hook_menu_alter() может использоваться для изменения того, что делают ваши первичные ссылки на основе пользовательских данных.

3. Как вы предварительно загружаете бизнес? Представления на основе этого местоположения?

  1. Призовите View программным , где информация о местоположении (когда доступна) вставляется вместо экспонированных фильтров. Useful Views Documentation.

  2. Задайте соответствующую информацию в своем Просмотр с помощью Аргументов. Установите значение по умолчанию в положение пользователя. Поскольку вы полагаетесь на динамический дефолт, вам никогда не нужно отправлять «реальный» аргумент в представление.

+0

Большое спасибо за то, что нашли время, чтобы ответить на этот вопрос. То, что вы говорите, верно. Однако после такого чистого анализа проблемы, которую вы дали, я убежден, что для достижения этого потребуется немного кодирования. В настоящее время я все еще изучаю материал :). Еще спасибо за ваш ответ. – Sbhambry

+0

Имейте в виду, что для Компонента № 3 я дал два разных варианта, а не два шага к одному решению. – Grayside