1 つの Web サイトに Wix とスタンドアロンのデスクトップ バージョンの両方を持たせようとしています。ただし、この Web サイトを Wix iFrame にロードすると、Wix バージョンで問題が発生します。
IF ステートメントが true の場合、ユーザーは自動的にリダイレクトされます。つまり、Wix iFrame 内でこの Web サイトにアクセスしている場合、IF ステートメントが true を返すため、「ヘッダー」で始まるコード行を実行する必要があります。
if(isset($_GET[ 'instance' ], $_GET[ 'siteUrl' ], $_GET['locale']))
{
$value = 1;
setcookie("IsWixUser", $value, time()+3600);
header('Location: app.php?show=social_manager');
}
else
{
$value = -1;
setcookie("IsWixUser", $value, time()+3600);
}
これは、Cookie をまったく使用せずに Wix で初めて私のウェブサイトを読み込んでいる場合には当てはまりません。firebug を使用してリソースを確認し、Cookie「IsWixUser」が $value 1 を保持するように適切に実行されていることを確認できるため、setcookie() は最初は完全に機能しますが、ブラウザーは header() 関数をスキップすることを決定します。そして、それをまったく実行しません。
header() 関数は、Wix ページ全体を更新して iFrame をリロードした後にのみ機能し、最後に header() 関数は、Cookie「IsWixUser」が過去に 1 に設定された場合にのみ機能します。
これは Drupal だけの問題なのでしょうか? 上記のコード行は、Drupal の index.php の先頭にあります。