我正在使用prestashop,我想运行a / b测试。这意味着您可以在将流量重定向50%到templateA和50%重定向到模板B的同时测试您网站的2个不同模板。
我必须在我的文件夹中添加主题:
-ThemeA -ThemeB
要运行测试,我需要通过另一个url表单themeA。
访问themeB所以在文件夹“/ config”中我修改了文件setting.inc.php,如下所示:
if(isset($_GET['ab']))
{
define('_THEME_NAME_', 'themeB');
}
else{
define('_THEME_NAME_', 'themeA');
}
现在我可以输入以下内容来访问themeb:www.myshop.com/?ab
我的问题是,每当我点击链接时,?ab参数都会丢失,然后会返回模板A.
我发现有人使用另一个使用此代码解决问题的cms:
`$this->redirect(array('name')); `
但我不知道如何使它适应prestashop以及我应该把它放在哪里。
非常感谢任何帮助。
由于
答案 0 :(得分:0)
如果在“主题检查”之前启动会话([http://sg3.php.net/manual/en/function.session-start.php] [1]),一个快速解决方法可能是使用会话。
// Page => watermelons.php
<?php
session_start();
if(isset($_GET['ab']) || isset($_SESSION['ab'])) {
$_SESSION['ab'] = 'themeB';
define('_THEME_NAME_', 'themeB');
} else{
define('_THEME_NAME_', 'themeA');
}
echo _THEME_NAME_;
?>
<br /><a href="coconuts.php">go to coconuts</a>
// Page => coconuts.php
<?php
session_start();
if(isset($_GET['ab']) || isset($_SESSION['ab'])) {
$_SESSION['ab'] = 'themeB';
define('_THEME_NAME_', 'themeB');
} else{
define('_THEME_NAME_', 'themeA');
}
echo _THEME_NAME_;
?>
<br /><a href="watermelons.php">go to watermelons</a>