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

Как запоролить вход на сайт?


SuperBabka

Recommended Posts

Добрый день, собственно весь вопрос: как запоролить вход на сайт?

Чтобы перед открытием сайта вылезла страница логин и пароль и только после этого можно войти...?

Заранее спасибо!

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


Средствами самого опенкарта не знаю, но можно сделать на самом на хостинге. Ограничиваете доступ к корневому каталогу, добавляете пользователей с паролями и все.

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


да, средствами магазина - никак, но можно в index.php редиректить на страницу логина пока в сессии не появится customer id, если конечно вы понимаете о чем я

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

да, средствами магазина - никак, но можно в index.php редиректить на страницу логина пока в сессии не появится customer id, если конечно вы понимаете о чем я

Пытаюсь понять , но не получается....))

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


Средствами самого опенкарта не знаю, но можно сделать на самом на хостинге. Ограничиваете доступ к корневому каталогу, добавляете пользователей с паролями и все.

А как добавлять пользовательей на хостинге, что то не пойму никак...? Спасибо.

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


по аналогии с админкой

catalog\controller\account\login.php

public function login(){
        if (!$this->customer->isLogged()) {
			return $this->forward('account/login');
		}
    }

index.php

// Login
$controller->addPreAction(new Action('account/login/login'));

но возможно есть варианты проще

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

по аналогии с админкой

catalog\controller\account\login.php

public function login(){
        if (!$this->customer->isLogged()) {
			return $this->forward('account/login');
		}
    }

index.php

// Login
$controller->addPreAction(new Action('account/login/login'));

но возможно есть варианты проще

Не получается(((

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


чет вы какие то страшные вещи советуете..

Зачем мучить хостинг, когда достаточно подредактировать сам скрипт.

А как именно - может посоветуете?)

Спаисбо!

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


вон же вам выше написали) способ то что надо

в файл \index.php добавляем

$controller->addPreAction(new Action('common/login'));
после строки

// Front Controller 
$controller = new Front($registry);

создаем файл \catalog\controller\common\login.php

со следующим содержанием

<?php  
class ControllerCommonLogin extends Controller { 
	public function index() { 

		if (!$this->customer->isLogged()) {
			echo 'Access denied';
		}
  	}
}  
?>

все работает без проблем, только соответственно вместо вывода ошибки делать редирект на форму входа.

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


вон же вам выше написали) способ то что надо

в файл \index.php добавляем

$controller->addPreAction(new Action('common/login'));
после строки

// Front Controller 
$controller = new Front($registry);

создаем файл \catalog\controller\common\login.php

со следующим содержанием

<?php  
class ControllerCommonLogin extends Controller { 
	public function index() { 

		if (!$this->customer->isLogged()) {
			echo 'Access denied';
		}
  	}
}  
?>

все работает без проблем, только соответственно вместо вывода ошибки делать редирект на форму входа.

Блин я туплю что то: все делаю как написано, а из результатов только то ,что слетает форма входа в кабинет..

А мне нужно просто , чтобы при открытии сайта появлялось окошко логин и пароль!

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


Блин я туплю что то: все делаю как написано, а из результатов только то ,что слетает форма входа в кабинет..

А мне нужно просто , чтобы при открытии сайта появлялось окошко логин и пароль!

я указал вариант решения для opencart 1.4.9.*
Надіслати
Поділитися на інших сайтах

  • 5 weeks later...

Тоже очень интересует этот вопрос. Версия ocStore 0.2.2.

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

Читал эту тему Открыть вкладку "отзывы" только для зарегистрированных.

В принципе можно по аналогии закрыть все остальное, но это вызовет некоторые проблемы с оформлением и т.п., по этому хотелось бы что бы была отдельная страница с формой ввода. Распишите пожалуйста более подробно как это сделать, потому что вышеприведенные примеры не удалось заставить корректно работать.

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


freelancer Спасибо, ваш вариант действительно работает. Но форма ввода встроена в дизайн сайта. А как сделать, чтобы было как при входе в админку? Чтобы была отдельная страница с формой ввода, ссылкой на регистрацию и еще парой ссылок на информационные страницы. То есть с index.php незалогинных посетителей перебрасывало на отдельную страницу со своим дизайном. Смотреть, я так понял, надо по аналогии с админкой:

admin/controller/common/login.php

$this->template = 'common/login.tpl';
		$this->children = array(
			'common/header',	
			'common/footer'
Только как правильно, и что именно, нужно вставить в catalog/controller/account/login.php?
Надіслати
Поділитися на інших сайтах


объяснил же уже

по аналогии с админкой

catalog\controller\account\login.php

public function login(){
        if (!$this->customer->isLogged()) {
			return $this->forward('account/login');
		}
    }

index.php

// Login
$controller->addPreAction(new Action('account/login/login'));

но возможно есть варианты проще

return $this->forward('account/login');
куда редиректить если пользователь не залогинен, в данном случае на страницу логина

в вашем же нужно заменить на адрес вашей страницы

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

Теперь проблема в том, что при нажатии на регистрацию, ты также остаешься на странице логина. Соответственно зарегистрироваться невозможно.

так добавьте исключение для страницы регистрации.
  • +1 1
Надіслати
Поділитися на інших сайтах

Еще одна проблема, которую сразу не заметил: при обращении к example.ru слетает кодировка и пишет сообщение: "Notice: Undefined index: route in ...\www\catalog\controller\account\login.php on line 135." При нажатии на любую ссылку (например при переходе на "главную") все становится нормально. Проблема в

&& $this->request->get['route']!='account/create'
Т.е. либо не совсем правильно прописано исключение либо надо дописать еще что-то.

P.S. еще хотел спросить за что отвечает файл catalog/model/account/customer.php?

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


Гість
Ця тема закрита для публікації повідомлень.
  • Зараз на сторінці   0 користувачів

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

Important Information

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