показывать определенную страницу только в первый раз, когда пользователь заходит на наш сайт

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

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

Как мы можем нацелить и идентифицировать пользователя, чтобы перенаправить его только один раз к сообщению с предупреждением (когда он впервые входит в систему)? Существуют ли какие-либо решения, например, для ретаргетинга Google или Facebook с помощью файлов cookie? Если да, то что это за печенье?

Наш сайт работает на Drupal 7. Может ли Drupal справиться с этим делом?

Спасибо за ваши идеи.

0

Решение

Из документации Drupal:

https://api.drupal.org/api/drupal/modules!user!user.module/function/user_cookie_save/7.x

Что вы можете сделать: сначала вы проверите, был ли установлен файл cookie. Если нет, то вы установите его. В следующий раз, когда пользователь посетит ваш сайт, у него / нее будет файл cookie, поэтому логические ворота будут пройдены.

Вот пример, который вы можете использовать в своем заголовочном файле в drupal:

if (!isset($_COOKIE['some_descriptive_cookie_name'])) {
user_cookie_save('some_descriptive_cookie_name');
drupal_goto('temp/page/here', [], 307);
}

drupal_goto задокументировано здесь: https://api.drupal.org/api/drupal/includes%21common.inc/function/drupal_goto/7.x

Удачи.

1

Другие решения

Есть два подхода:

  1. Вы можете сделать это с помощью JavaScript localstorage
  2. Вы можете сделать это с помощью PHP $_SESSION[' ']

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

0

Drupal может справиться практически со всем.

Что бы я сделал, это создал бы логическое приватное поле в профиле пользователя для хранения, если пользователь уже видел эту конкретную страницу.

Следуя этому подходу, вы также можете создавать отчеты о том, сколько пользователей видели эту страницу, или знать, видел ли конкретный пользователь эту страницу. Использование полей дает вам много возможностей в Drupal.

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

0

Ты можешь использовать hook_user_login,

function MODULE_user_login(&$edit, $account) {
// The user has never logged in before.
if ($account->access == 0) {
// Redirect user when first login.
$_GET['destination'] = 'redirect_url';
}
}
0
По вопросам рекламы ammmcru@yandex.ru
Adblock
detector