Несколькими неделями ранее мне понадобилось решить такую задачу, которая часто встречается на сайтах, но на Drupal я еще такого не встречал:
Нужно, что бы посетитель сайта мог выбрать свой город из списка и в зависимости от выбранного города - выводить необходимые данные и разделы.
Так делают крупные провайдеры и операторы для того, что бы пользователи могли фильтровать информацию по региональным филиалам.
Итого хочу сделать следующее:
Есть три города: Москва (по-умолчанию), Екатеринбург и Пермь.
Есть блоки с контактными данными (адреса и телефоны)
Есть разделы: Новости, Товары
При выборе из списка городов, например, Екатеринбурга - осуществляется переход на ekaterinburg.site.ru (каждому городу - субдомен);
Контактные данные в блоках сменяются на актуальные для этого города;
Наполнение разделов Новости и Товары только страницами, которые касаются Екатеринбурга;
В голову пришел такой метод:
Во все типы материалов добавить поле для ввода термина таксономии, что бы привязывать каждую страницу к определенному городу (город = термин).
Объект (блок. облась) для выбора города будет передавать данные о выбранном городе браузеру пользователя через куки. Далее JavaScriptом скрывать все страницы, разделы и блоки, которые не относятся к выбранному городу.
Не знаю на сколько мой способ правилен, поэтому и создал топик, что бы услышать от Вас еще какие то варианты решения. Буду крайне признателен!
Комментарии
Проще делать перенаправление на соответствующий поддомен.
Редирект по выбору элемента из списка (в данном случае городов) делается с помощью:
$(function(){
$('select[name="<имя списка>"]').change(function(){
location.href = this.value;
});
});
</script>
...и это уже обсуждалось.