数日と数時間後、私はCookieが設定されたらどうするかに関する問題とパッチのみを見つけましたが、最初にCookieを設定する方法について言及していませんでした。
私たちの目的は、(すべてのユーザーロールに対して)ランディングページの(セッション)Cookieを設定し、アウトバウンドリンクのURLで使用するために、ビューを通じて特定のページでそのCookieを取得することです。これは標準プログラミングでは非常に簡単です(私が理解している場合でも)が、Drupalでこれが実際に可能かどうかはかなり疑問に思っています。
Drupalは、ユーザーがログインしたときにすでにセッションCookieを設定しています。関数 drupal_session_regenerate() を参照してください。
このセッションIDを目的に使用できますか?そうでない場合は、PHPで行うのと同じ方法で、Cookieに新しい値$_COOKIE['my_value'];
を作成する必要があります。このコードをカスタムモジュールのhook_init()
に配置し、if()
を追加してランディングページをフィルタリングします。
後で、それを取得してビューで使用します。必要に応じて、いくつかの ビューのフック を使用できます。モジュール Views custom field を使用して、PHPコードをそこに埋め込むこともできます。
あなたはクッキーを設定することができます:setcookie('cookiename',$valueOfCookie);
Cookieの値は$_COOKIE['cookiename']
で取得できます。