A/B テストを (GG Analytics を介して) セットアップするために、複製したテーマを使用してテストの代替バージョンを実行するために、現在のテーマを (組織の目的で) 複製することを計画しました。私は使用しますPrestashop 1.4.9.2
。
私がすでに行ったこと、および動作すること:
これを関数/classes/FrontController.php
内の に追加しました(オーバーライドする必要があることはわかっていますが、ポイントではありません;)):displayHeader()
if(isset($_GET['alternate']))
{
$cookie->alternate = "1";
$cookie->write();
}
で置換/config/settings.inc.php
:
define('_THEME_NAME_', 'my_usual_theme');
に
if(isset($_GET['alternate']) || $cookie->alternate == "1")
{
define('_THEME_NAME_', 'my_alternate_theme');
}
else
{
define('_THEME_NAME_', 'my_usual_theme');
}
このようにして、最後に " " を含む Prestahop URL を?alternate
ロードすると、代替テーマがロードされます。罰金。
問題: で Cookie の値を確認できないsettings.inc.php
ため、リンクをクリックするとデフォルトのテーマが読み込まれます。
質問: このファイルの Cookie を確認する手がかりはありますか? それともconfig.inc.php
?settings.inc.php
または、セットアップを上書きして、別のファイルでテーマ名を「再定義」しますか?
プロセスを検証するために別の 1 つのファイルで Cookie をチェックしたところ、問題なく動作したことに注意してください。私も古典的なsetcookie
方法を使用しようとしましたが、読み取り/確認ができる場合、この方法では書き込めません...そして、得られない理由で、SmartyでのPHPアクティベーションは機能しません(setcookie
直接しようとしました)ただし、単純なエコーでもエラー 500)。
ありがとう。