Перейти до вмісту
Пошук в
  • Детальніше...
Шукати результати, які ...
Шукати результати в ...

Закрыть каталог от неавторизованных


Recommended Posts

Здравствуйте. Требуется закрыть каталог товаров от неавторизованных пользователей. Прописал в файле /catalog/controller/product/product.php вот такой код. Ничего не изменилось. Как поступить правильно?

if (!$this->customer->isLogged()) {
        $this->response->redirect($this->url->link('account/login', '', true));
}
Надіслати
Поділитися на інших сайтах


2 минуты назад, chukcha сказал:

модификаторы обновили?

 

да, но теперь ошибка как раз в этих строчках при попытке зайти как неавторизованный

 

Notice: Undefined property: Action::$customer in /storage/modification/catalog/controller/product/product.php on line 3

 

вот эта строчка if (!$this->customer->isLogged()) {

Надіслати
Поділитися на інших сайтах


6 минут назад, Samen сказал:

да, но теперь ошибка как раз в этих строчках при попытке зайти как неавторизованный

 

Notice: Undefined property: Action::$customer in /storage/modification/catalog/controller/product/product.php on line 3

 

вот эта строчка if (!$this->customer->isLogged()) {

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

Надіслати
Поділитися на інших сайтах

5 минут назад, Samen сказал:

мне бы если честно, просто в каталог не пускать, а не просто запретить просмотр товаров

а в чем сам прикол? зачем скрывать каталог?

Надіслати
Поділитися на інших сайтах


3 минуты назад, chukcha сказал:

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

цены показывать только для залогиненных настроено

Надіслати
Поділитися на інших сайтах


Умеет  отдельную форму авторизации
Умеет игнорировать некторые страницы, например  Условия доставки, безопасности
Также умеет управлять кастомизацией  шаблонов
Ну.. если у вас 2.3 то можно рассмотреть возможность сборки под опт

Надіслати
Поділитися на інших сайтах

11 минут назад, chukcha сказал:

Умеет  отдельную форму авторизации
Умеет игнорировать некторые страницы, например  Условия доставки, безопасности
Также умеет управлять кастомизацией  шаблонов
Ну.. если у вас 2.3 то можно рассмотреть возможность сборки под опт

у меня 3,0,3,1

Надіслати
Поділитися на інших сайтах


2 часа назад, Samen сказал:

И все-таки, кто подскажет, как закрыть от просмотра неавторизованными клиентами Каталог и его категории на опенкарт 3 ?

 

попробуйте создать конструктор и там проверить

    public function __construct($registry) {
        parent::__construct($registry);

        if (!$this->customer->isLogged() {
			// тут редирект
		}
    }

 

  • +1 1
Надіслати
Поділитися на інших сайтах

1 час назад, Blast сказал:

 

попробуйте создать конструктор и там проверить


    public function __construct($registry) {
        parent::__construct($registry);

        if (!$this->customer->isLogged() {
			// тут редирект
		}
    }

 

Прошу прощения, что за конструктор?

Надіслати
Поділитися на інших сайтах


1 час назад, Samen сказал:

Прошу прощения, что за конструктор?

не буду сейчас читать лекцию по ООП, просто попробуйте добавить этот код в контроллер перед public function index() {

Надіслати
Поділитися на інших сайтах

8 минут назад, Blast сказал:

не буду сейчас читать лекцию по ООП, просто попробуйте добавить этот код в контроллер перед public function index() {

Добавил в system/storage/modification/catalog/controller/account/account.php

сбросил кэш модификаторов, ничего не произошло...

Надіслати
Поділитися на інших сайтах


12 минут назад, Blast сказал:

не буду сейчас читать лекцию по ООП, просто попробуйте добавить этот код в контроллер перед public function index() {

может, надо мне было в контроллер категории?

Надіслати
Поділитися на інших сайтах


1 час назад, Samen сказал:

Добавил в system/storage/modification/catalog/controller/account/account.php

сбросил кэш модификаторов, ничего не произошло...

Добавлять нужно не в модифицированные файлы и потом обновлять кэш. А так вы добавили, обновили кэш и затерли изменения.

Сначала попробуйте добавить в контроллер категории. Если сработает, то во все контроллеры в папке product

  • +1 1
Надіслати
Поділитися на інших сайтах

53 минуты назад, Blast сказал:

Добавлять нужно не в модифицированные файлы и потом обновлять кэш. А так вы добавили, обновили кэш и затерли изменения.

Сначала попробуйте добавить в контроллер категории. Если сработает, то во все контроллеры в папке product

Да, Вы правы. Теперь при входе в каталог ошибка 500. И при авторизации и без нее.

 

image.png.03b1d3719f36d8860cfbb35e9b7a87bf.pngприлагаю скрин как я вставил код

Надіслати
Поділитися на інших сайтах


46 минут назад, Samen сказал:

Да, Вы правы. Теперь при входе в каталог ошибка 500. И при авторизации и без нее.

 

image.png.03b1d3719f36d8860cfbb35e9b7a87bf.pngприлагаю скрин как я вставил код

упустил скобочку

вот код, проверено, работает

    public function __construct($registry) {
        parent::__construct($registry);

        if (!$this->customer->isLogged()) {
			$this->response->redirect($this->url->link('account/login', '', true));
		}
    }

 

 

  • +1 1
Надіслати
Поділитися на інших сайтах

1 час назад, Blast сказал:

упустил скобочку

вот код, проверено, работает


    public function __construct($registry) {
        parent::__construct($registry);

        if (!$this->customer->isLogged()) {
			$this->response->redirect($this->url->link('account/login', '', true));
		}
    }

Четко, супер, спасибо огромное!!

 

 

Надіслати
Поділитися на інших сайтах


Створіть аккаунт або увійдіть для коментування

Ви повинні бути користувачем, щоб залишити коментар

Створити обліковий запис

Зареєструйтеся для отримання облікового запису. Це просто!

Зареєструвати аккаунт

Вхід

Уже зареєстровані? Увійдіть тут.

Вхід зараз
  • Зараз на сторінці   0 користувачів

    • Ні користувачів, які переглядиють цю сторінку
×
×
  • Створити...

Important Information

На нашому сайті використовуються файли cookie і відбувається обробка деяких персональних даних користувачів, щоб поліпшити користувальницький інтерфейс. Щоб дізнатися для чого і які персональні дані ми обробляємо перейдіть за посиланням . Якщо Ви натиснете «Я даю згоду», це означає, що Ви розумієте і приймаєте всі умови, зазначені в цьому Повідомленні про конфіденційність.