Чтобы настроить тестирование A / B (через GG Analytics), я планировал дублировать текущую тему (для организаций), чтобы использовать дублируемую тему для выполнения альтернативных версий теста. Я использую Prestashop 1.4.9.2 .
То, что я уже сделал, и работает:
Добавлено это в /classes/FrontController.php , в функции displayHeader() (я знаю, что я должен переопределить, но не точку;)) :
if(isset($_GET['alternate'])) { $cookie->alternate = "1"; $cookie->write(); }-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 ?
Обратите внимание, что я проверяю файл cookie в другом файле для проверки процесса, и он работает хорошо. Я также пытался использовать классический метод setcookie , но если я могу читать / проверять, я не могу писать таким образом … И по какой-то причине я не получаю, PHP-активация в Smarty просто не работает (пыталась setcookie непосредственно в шаблоне, но ошибка 500 даже с простым эхом).
Благодарю.