Помните пользователей выбора таксономии, например, какой город фильтрует сайт?

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

Допустим, что таксономия города:

  • Все города (в основном используются для старого контента, который клиент не хочет конвертировать)
  • Лондон
  • Нью-Йорк
  • Париж

Если пользователь просматривает страницу на главной странице города, это будет печать этого города в их файле cookie /user, например:

  • site.com/all-cities
  • site.com/london
  • site.com/new-york
  • site.com/paris

Затем, когда пользователь вернется на главную страницу сайта site.com/ без указанного города, они будут перенаправлены на их запоминаемую главную страницу .

Однако сайт не поддерживает учетные записи пользователей, поэтому посещают только анонимные пользователи, поэтому ему необходимо использовать куки, а не хранить данные в БД для каждого пользователя.

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

Что такое стандартный способ Drupal для достижения вышеуказанного, или он должен быть полностью обычным, чтобы работать вне любой формы кэширования?

Спасибо за любой совет!

6 голосов | спросил DanH 8 J0000006Europe/Moscow 2011, 11:44:34

1 ответ


4

Я бы создал пользовательский модуль и.

  1. Сохранить выбор в сеансе пользователей (сеансы отображаются в файл cookie)
  2. Используйте hook_boot, чтобы сделать перенаправление, простой drupal_goto должно быть достаточно.

Использование сеансов более простое, но в зависимости от ваших настроек данные будут сохраняться в течение более короткого периода времени, чем файлы cookie. Но это может быть хорошо.

ответил googletorp 8 J0000006Europe/Moscow 2011, 11:57:26

Похожие вопросы

Популярные теги

security × 330linux × 316macos × 2827 × 268performance × 244command-line × 241sql-server × 235joomla-3.x × 222java × 189c++ × 186windows × 180cisco × 168bash × 158c# × 142gmail × 139arduino-uno × 139javascript × 134ssh × 133seo × 132mysql × 132