Как сделать доступ к магазину, только после входа зарегистрированного пользователя?

Тема в разделе "Общие вопросы", создана пользователем alvas, 20 май 2016.

  1. alvas

    alvas Новичок

    Сообщения:
    3
    Симпатии:
    0
    Как можно сделать основную страницу с вводом логина и пароля (она отражается всегда, если человек не вошел под свои логином и паролем), а страницы магазина отображаются только зарегистрированным пользователям после входа?
     
  2. Vlad

    Vlad Эксперт

    Сообщения:
    4.129
    Симпатии:
    999
    например в контроллер header.php добавить
    PHP:
      if (!$this->customer->isLogged() ) {
           if (!isset(
    $this->request->get['route']) || $this->request->get['route'] != 'account/login') {
             
    $this->response->redirect($this->url->link('account/login'''true));
           }
      }
     
    Последнее редактирование: 23 май 2016
    RuslanTLT, Ali-az и solunski.d нравится это.
  3. alvas

    alvas Новичок

    Сообщения:
    3
    Симпатии:
    0
    Спасибо за ответ. Но так до конца и не понял куда вставлять. Вставил в \catalog\controller\common\header.php в функцию index

    Выдает
    "
    Сайт xxx выполнил переадресацию слишком много раз.
    Попробуйте сделать следующее:
    Обновите страницу.
    Удалите файлы cookie.
    ERR_TOO_MANY_REDIRECTS
    "
     
  4. Vlad

    Vlad Эксперт

    Сообщения:
    4.129
    Симпатии:
    999
    исправил код
     
  5. alvas

    alvas Новичок

    Сообщения:
    3
    Симпатии:
    0
    Спасибо, все работает очень хорошо )
     
  6. krikmen

    krikmen Новичок

    Сообщения:
    7
    Симпатии:
    0
    Здравствуйте. Я пробую решить ту же задачу. Но у меня после вставки кода не происходит никаких изменений. Если вас не затруднит, опишите подробнее алгоритм действий. У меня Версия ocStore 2.1.0.2.1
     
  7. Yuriy.Gr

    Yuriy.Gr Новичок

    Сообщения:
    26
    Симпатии:
    16
    Обновите модификаторы.
     
    krikmen нравится это.
  8. krikmen

    krikmen Новичок

    Сообщения:
    7
    Симпатии:
    0
    Благодарю! Теперь, только не работает кнопка регистрации. Т.е. если пользователь уже зарегистрирован, то можно зайти. А при нажатии на регистрацию ничего не происходит
     
  9. krikmen

    krikmen Новичок

    Сообщения:
    7
    Симпатии:
    0
    Так только у меня, или кто-то решал подобную задачу?
     
  10. Ravilr

    Ravilr Специалист

    Сообщения:
    3.883
    Симпатии:
    1.065
    в указанном коде есть проверка на роут который нужно пропустит. Добавьте еще и account/register
     
    krikmen нравится это.
  11. krikmen

    krikmen Новичок

    Сообщения:
    7
    Симпатии:
    0
    А куда добавить, через запятую после 'account/login' ?
     
  12. Ален

    Ален Эксперт

    Сообщения:
    2.056
    Симпатии:
    640
    PHP:
    if (!$this->customer->isLogged() ) {
           if (!isset(
    $this->request->get['route']) || $this->request->get['route'] != 'account/login' || $this->request->get['route'] != 'account/register') {
             
    $this->response->redirect($this->url->link('account/login'''true));
           }
      }
     
  13. krikmen

    krikmen Новичок

    Сообщения:
    7
    Симпатии:
    0
    К сожалению не работает с этим кодом
     
  14. Ален

    Ален Эксперт

    Сообщения:
    2.056
    Симпатии:
    640
    как не работает? Что пишет? Какая версия у вас? Кеш модификаторов обновлен?
     
  15. krikmen

    krikmen Новичок

    Сообщения:
    7
    Симпатии:
    0
    Пишет :
    Страница не работает
    Сайт выполнил переадресацию слишком много раз.
    Версия ocStore 2.1.0.2.1 Кеш обновлен
     
  16. Ален

    Ален Эксперт

    Сообщения:
    2.056
    Симпатии:
    640
    PHP:
        if (!$this->customer->isLogged() ) {
           if (!isset(
    $this->request->get['route']) || $this->request->get['route'] != 'account/login' && $this->request->get['route'] != 'account/register' ) {
             
    $this->response->redirect($this->url->link('account/login'''true));
           }
        }
     
    RuslanTLT и krikmen нравится это.
  17. krikmen

    krikmen Новичок

    Сообщения:
    7
    Симпатии:
    0
    Теперь все работает! Балгодарю!!!
     
  18. Andreos

    Andreos Новичок

    Сообщения:
    6
    Симпатии:
    0
    Не сочтите за наглость, вот только не пойму в какое место вставлять этот код. Версия ocStore 2.1.0.2.1
    пробовал в разные места да только выдает белый экран.
     
  19. karpov

    karpov Продвинутый пользователь

    Сообщения:
    1.519
    Симпатии:
    241
    Во втором сообщении написано.
     
  20. Andreos

    Andreos Новичок

    Сообщения:
    6
    Симпатии:
    0
    Читать, умею, зрение в норме. Имеется ввиду в какую часть кода?