Скрытие пунктов меню и самого каталога от гостей

Zorca Studio

Добрый вечер! Подскажите правильный механизм скрытия каталога магазина от гостей сайта? Делаю приватный каталог, доступный только в личном кабинете клиента. То есть ссылка /shop должна по идее отдавать 404 ошибку и ссылки в меню не должно быть видно.

10 января 2017
  • через условия авторизации пользователя примерно 100500 раз на форуме обсуждалось...

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

    Тут блок контента который нужно показывать авторизированным пользователям.

    {/if}


  • Zorca Studio 11 января 2017 11:05

    Вы неверно поняли вопрос. Условие в шаблоне скрывает контент страницы, но не скрывает само поселение магазина в структуре и соответсвенно в маршрутах. Задам вопрос по-другому: как перенести поселение магазина в личный кабинет? Чтобы /shop редиректил на логин и становился доступным только после авторизации?

  • Как раз ответ и дан вам... Чуть подробнее поясню:

    <span>{</span><span>if</span><span> $wa</span><span>-></span><span>isAuthEnabled</span><span>()</span><span> </span><span>&&</span><span> $wa</span><span>-></span><span>user</span><span>()-></span><span>isAuth</span><span>()}</span><span>
    
    </span><span>Показываем магазин
    
    {else}
    
    форма авторизации или что угодно</span><span>
    
    </span><span>{/</span><span>if</span><span>}
    
    Немного теории - ЛК и Каталог разные сущности, т.е. каталог показывается только авторизованным пользователям, если он не авторизован то можно скрыть к примеру весь сайт кроме формы авторизации (такое часто встречается для b2b-систем, которые не предназначены для не автоматизированных пользователей.)
    Т.е. засунуть Каталог в ЛК - даже теоретически проблемно.
    
    Ваше решение близко к стандартному описанному мною, немного повозиться с разграничением что можно и нельзя авторизованным и все скрыть остальное и будет вам счастье....</span>
  • Zorca Studio 11 января 2017 14:31

    Ну вопрос скорее про, как правильно сделать редирект на уровне контроллера, а не вьюшки. Можно конечно и во вьюшке редирект поставить.

  • Зачем закрывать на уровне контролера маршрутизации? Все равно придется задействовать фронтенд для авторизации (если конечно не IP или токены), но это уже уровень пониже...

    P.S. Не раз делали "приватные" каталоги всегда на уровне фронтенда выводили, кроме 1 раза, но там приватная VPN была и там как раз маршрутизация на основе Ip была...



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