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

Вход на сайт только после авторизации(ocstore 2.1)


Dimasscus

Recommended Posts

Всем привет. Ищу модуль или иное решение для реализации вот такой штуки

Сам сайт доступен для просмотра всем, к нему привязан магазин на поддомене который необходимо показать только после авторизации зарегистрированным покупателям( типа закрытый маркет)

примерный вид страницы после перехода по ссылке http://clip2net.com/s/3No8gfZ то есть поле емайл и поле пароль ,кнопак войти. после авторизации если данные правильные пользователь попадает на главную страницу поддомена.

Возможно кто то встречал решение или подскажет вариант реализации

Спасибо.

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


34 минуты назад, Dimasscus сказал:

Возможно кто то встречал решение или подскажет вариант реализации

По картинке  - нет

20 минут назад, mazein сказал:

Есть же в opencart встроенная авторизация, её и использовать.

И... полноценная страница логина.
Нужно смотреть под конкретную реализацию

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

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

Есть же в opencart встроенная авторизация, её и использовать.

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

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


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

По картинке  - нет

И... полноценная страница логина.
Нужно смотреть под конкретную реализацию

вот так это выглядит на 1.5

http://forgadget.ru/henkel/index.php?route=account/henkel

доступ к файлам есть- не хватает навыков и понимания как реализовать на 2.1

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


Сделать по аналогии как работает "Режим обслуживания", сделав свою страницу авторизации, убрав все лишее - меню и тд
catalog\controller\common\maintenance.php

Змінено користувачем thentru
Надіслати
Поділитися на інших сайтах


  • 1 month later...

Всем привет.

Как решили задачу в итоге? 

Нужно как раз сделать доступ ко всему сайту, ТОЛЬКО после прохождения авторизации, как тут xgamer.su

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


  • 2 months later...

Приветствую всех!

Присоединяюсь к вопросу! тоже возникла надобность доступа к сайту только после авторизации, а до входа, чтоб была только окошко входа и кнопка авторизации.

Скинемся все и отблагодарим того, кто потрудится расписать принцип действий) 

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


Решение!

в

\catalog\controller\common\header.php

после 

class ControllerCommonHeader extends Controller {
	public function index() {
		// Analytics

Добавляете код, что ниже.

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));
       }
    }

Это автоматически перебросит пользователя на страницу авторизации, если он не зареган на сайте.

 

Если еще хотите скрыть (шапку сайта, меню, лого и т.д.) то в файл

/point-club/public_html/catalog/view/theme/default/template/common/header.tlp

 

после 

<body class="<?php echo $class; ?>">

добавляете условие 

<?php if (!$logged) { ?> не авторизован <?php } else { ?> авторизован 

и в конце страницы добавить 

<?php } ?>

получается в конце два раза будет повторятся <?php } ?>

 

Это все работает на Версия ocStore 2.3.0.2.3

Должно подойти наверное и на 2.1 сам не проверял.

=) Всем удачи!

Змінено користувачем mediamid
  • +1 1
Надіслати
Поділитися на інших сайтах


В 16.01.2018 в 01:51, mediamid сказал:

Приветствую всех!

Присоединяюсь к вопросу! тоже возникла надобность доступа к сайту только после авторизации, а до входа, чтоб была только окошко входа и кнопка авторизации.

Скинемся все и отблагодарим того, кто потрудится расписать принцип действий) 

 

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

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


Такой

<?php if (!$logged) { ?><?php } else { ?>
тут или пусто или к примеру тексткартинка что мол чтобы видеть надо быть зарегистрированным
<?php } else { ?>
тут контент который вы хотите спрятать
<?php } ?>

 

Метод не работает если скрыть футер а в хедаре рабоатет

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


15 часов назад, Anatohi сказал:

 

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

вот код для доступа к страничке с восстановление пароля

if (!$this->customer->isLogged() ) {
       if (!isset($this->request->get['route']) || $this->request->get['route'] != 'account/login' && $this->request->get['route'] != 'account/register' && $this->request->get['route'] != 'account/forgotten' ) {
         $this->response->redirect($this->url->link('account/login', '', true));
       }
    }

а так можно просто в условие if добавить исключение любой страницы через  && $this->request->get['route'] != 'account/здесь_название_файла_страницы'  и все будет работать, все остальные страницы будут перенаправлять на страницу авторизации.

 

как по мне вообще такой подход работает немного медленно, но как выход из ситуации подходит.

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


Спасибо! я это уже сам сделал, а еще если кто хочет убрать кроме header и footer то нужно добавить в контролере footer \catalog\controller\common\footer.php

перед:

$data['contact'] = $this->url->link('information/contact');

Добавить

$data['logged'] = $this->customer->isLogged();

Также и с другими файлами которые вы хотите убрать чтобы их не видно было для не зарегистрированных

Проверял в ocStore 2.3.0.2.3 

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


  • 1 year later...
В 18.01.2018 в 18:28, mediamid сказал:

вот код для доступа к страничке с восстановление пароля


if (!$this->customer->isLogged() ) {
       if (!isset($this->request->get['route']) || $this->request->get['route'] != 'account/login' && $this->request->get['route'] != 'account/register' && $this->request->get['route'] != 'account/forgotten' ) {
         $this->response->redirect($this->url->link('account/login', '', true));
       }
    }

а так можно просто в условие if добавить исключение любой страницы через  && $this->request->get['route'] != 'account/здесь_название_файла_страницы'  и все будет работать, все остальные страницы будут перенаправлять на страницу авторизации.

 

как по мне вообще такой подход работает немного медленно, но как выход из ситуации подходит.

Большое спасибо за ваше решение, очень помогло. Единственный момент. При восстановлении пароля пользователю на почту приходит ссылка (Например: account/reset&code=8llS84ZhFT9TyIIWuyXT ) и при переходе по ней он не может сбросить пароль и придумать новый, так как переходит на страницу авторизации.

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


  • 2 weeks later...
On 2/5/2019 at 4:18 AM, VictorShurko said:

Большое спасибо за ваше решение, очень помогло. Единственный момент. При восстановлении пароля пользователю на почту приходит ссылка (Например: account/reset&code=8llS84ZhFT9TyIIWuyXT ) и при переходе по ней он не может сбросить пароль и придумать новый, так как переходит на страницу авторизации.

 

Доброго времени суток, 

Хотел спросить как решили вопрос с переходом по ссылке ?

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


On 1/18/2018 at 11:29 AM, Anatohi said:

Спасибо! я это уже сам сделал, а еще если кто хочет убрать кроме header и footer то нужно добавить в контролере footer \catalog\controller\common\footer.php

перед:


$data['contact'] = $this->url->link('information/contact');

Добавить


$data['logged'] = $this->customer->isLogged();

Также и с другими файлами которые вы хотите убрать чтобы их не видно было для не зарегистрированных

Проверял в ocStore 2.3.0.2.3 

 

Привет всем

 

Подкинул этот кусок кода 

if (!$this->customer->isLogged() ) {
       if (!isset($this->request->get['route']) || $this->request->get['route'] != 'account/login' && $this->request->get['route'] != 'account/register' && $this->request->get['route'] != 'account/forgotten' ) {
         $this->response->redirect($this->url->link('account/login', '', true));
       }
    }

 

после пытаюсь скрыть header и footer 

 

Добавляю 

 

$data['logged'] = $this->customer->isLogged();

но ничего не происходит ...

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


  • 3 months later...
В 18.02.2019 в 21:54, tdc сказал:

 

Доброго времени суток, 

Хотел спросить как решили вопрос с переходом по ссылке ?

Здравствуйте! Не знаю решили ли Вы эту проблему с переходом по генерируемой ссылке, но все оказалось до банального просто. Добавил в исключение account/reset и все заработало.

Получилось:

if (!$this->customer->isLogged() ) {
       if (!isset($this->request->get['route']) || $this->request->get['route'] != 'account/login' && $this->request->get['route'] != 'revolution/account/revregister' && $this->request->get['route'] != 'account/forgotten' && $this->request->get['route'] != 'account/reset') {
         $this->response->redirect($this->url->link('account/login', '', true));
       }
    }

 

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


  • 2 years later...

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

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

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

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

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

Вхід

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

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

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

Important Information

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