На моем сайте Opencart я пытаюсь создать форму подписки по электронной почте для впервые посещающих пользователей, которая встроена в лайтбокс.
Таким образом, я подхожу к этому через использование настройки формы HTML-лайтбокса (изначально установленной для отображения: none;) на домашней странице (home.tpl), а затем, используя JS для проверки действительности cookie, меняю отображение лайтбокса статус от «нет» до «блокировать» и т. д.
Моя проблема в фактической проверке действительности файлов cookie:
То, что я хотел сделать, было что-то вроде
if (!isset($this->request->cookie)){
<script>//make lightbox visible.</script>
}
Хотя играли с подобными методами, и, кажется, ни один не работает. Как лучше всего оценить, существует ли действующий сеанс или нет?
Кроме того, какими файлами вы бы порекомендовали манипулировать, чтобы добиться этого?
Вы можете попробовать это.
<?php
if((isset($_GET['route']) && !isset($_SESSION[$_GET['route']])) || (!isset($_SESSION['home']) && !isset($_GET['route']) )){
?>
<script type="text/javascript">
// Make your Light Box code Here
</script>
<?php } ?>
<?php
if(isset($_GET['route'])) {
$_SESSION[$_GET['route']] = 1;
}else{
$_SESSION['home'] = 1;
$_SESSION['common/home'] = 1;
}
?>
Других решений пока нет …