Как перенаправить гостя сайта со страницы корзины на страницу входа?

Мне нужно перенаправлять посетителей сайта, если они не авторизованы, со страницы корзины на страницу входа в аккаунт.

В cart.html я завернул всё в

{if $wa->isAuthEnabled() and $wa->user()->isAuth()}

// здесь собственно код шаблона

{else}

// здесь нужно перенаправить гостя на страницу входа
{/if}

К сожалению, выполнить чистый php в шаблонах не позволяют(пишут в целях безопасности), только если писать плагин.

Поэтому интересует стандартная возможность сделать такой переход.

Помогите, вероятно вы сталкивались с такой потребностью!

1 ответ

  • 1
    replicant 18 января 2019 02:14 #

    Жестоко вы с неавторизованными. :)))

    ...{else}
    {literal}
    <script type="text/javascript">
    setTimeout(function(){
    location="https://ya.ru";
    }, 5000);
    </script> 
    {/literal}
    {/if}

    Яндекс и 5000 мс заменить на своё.

    • +1
      devellopah devellopah 18 января 2019 04:14 #

      Знаю, что можно сделать в javascript, но мне нужно максимально удачное решение, javascript можно отключить(или он может быть отключенным в браузере посетителя). Поэтому лучше решать эту задачу на уровне шаблона с помощью smarty.

      Жестоко вы с неавторизованными. :)))

      Запрос клиента такой, оформить заказ могут только авторизованные пользователи.

      • +1
        Max Vecheslavov Max Vecheslavov 18 января 2019 07:02 #

        Если заблокировать корзину для незарегистрированных, то https://www.webasyst.ru/store/plugin/shop/cartlock/

        • +1
          devellopah devellopah 19 января 2019 00:37 #

          спасибо, конечно, но можно обойтись и без плагинов. Просто поставить условие в cart.html, что если посетитель не в системе, отображаем форму логина, в противном случае, отображаем исходное содержимое шаблона. По сути, условие такой же как и выше в моём вопросе, просто в ветке else я не перенаправляю на страницу входа, а загружаю login.html прямо в cart.html.  Посмотрите, здесь. Вы не сможете добавить в корзину товар, а при переходе на /cart или /checkout увидите форму логина.

      • +1
        replicant replicant 18 января 2019 13:28 #

        Если будет отключен java script, то половина магазина с плагинами сразу превратятся в дрова. Вы не шутите так. Или всё что написано на java script переписывать? А ещё есть такие, которые могут cookies отключить.

        Кто отключил JS - сам себе злой буратино, который назло папе Карло себе ногу сломал. Таковы реалии современного интернета. С такими разговор вообще короткий. У них просто практически ничего не работает.

        • +1
          devellopah devellopah 19 января 2019 00:41 #

          да, я понимаю, просто интересно есть ли возможность решить этот вопрос на стороне шаблона, то есть с помощью smarty(php maybe)?

Добавить ответ

Чтобы добавить комментарий, зарегистрируйтесь или войдите