【问题标题】:display a specific page only the 1st time user visite our site仅在用户第一次访问我们的网站时显示特定页面
【发布时间】:2017-11-03 08:05:15
【问题描述】:

我正在处理 darskite 项目以防出现危机。对于这个项目,我们要准备一个具体的案例。

我们需要将危机通知访问我们网站的用户(例如:我们的工厂出现电气故障)。我们只想在他第一次访问我们的网站时向他展示这个特定的信息页面。下次访问,他必须访问我们的经典主页。

我们如何定位和识别用户以仅将他重定向到警报消息一次(当他第一次登录时)?是否有类似通过 cookie 重新定位 Google 或 Facebook 的解决方案?如果是,什么样的 cookie?

我们的网站由 Drupal 7 提供支持。Drupal 可以处理这种情况吗?

感谢您的想法。

【问题讨论】:

  • 当用户第一次访问您的网站时,使用 php 设置 cookie,如果用户访问第二次搜索,如果 cookie 存在重定向到您想要的网站。
  • 逆向逻辑,全部显示并添加一个按钮“ok”,用户点击它并将其信息保存到cookie(或数据库IP + user_agent,如果您需要统计等)。

标签: php cookies drupal drupal-7 session-cookies


【解决方案1】:

来自 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

祝你好运。

【讨论】:

    【解决方案2】:

    有两种方法:

    1. 你可以使用 JavaScript 的localstorage
    2. 你可以使用 PHP 的$_SESSION[' ']

    两者将遵循相同的机制,当用户第一次加载网页时,将变量设置为true。现在为下次访问检查此变量,如果它设置为 true,则不要加载第一页并将其重定向到您的经典页面。

    【讨论】:

      【解决方案3】:

      Drupal 几乎可以处理所有事情。

      如果用户已经看到该特定页面,我会在用户个人资料中创建一个布尔私有字段来存储。

      按照这种方法,您还可以报告有多少用户看过该网页,或者知道某个特定用户是否看过该网页。在 Drupal 中使用字段可为您提供强大的功能。

      当用户看到页面时,你如何存储这个值?检查规则模块,不要忘记激活规则 UI,以便您可以配置由上述条件触发的此操作。

      【讨论】:

        【解决方案4】:

        您可以使用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';
          }
        }
        

        【讨论】:

          猜你喜欢
          • 2014-09-18
          • 1970-01-01
          • 2016-05-25
          • 2019-08-05
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2013-09-25
          • 2021-09-30
          相关资源
          最近更新 更多