Fórum OpenCart Brasil

Por um e-commerce livre, confiável e profissional

Suporte geral sobre problemas técnicos para OpenCart v1.x.
#38658
Boa noite.
Eu necessito bloquear a visualização de uma página dentro do Opencart, que contém dados de senhas de envio para FTP de arquivos.
Essa página deverá ser vista somente por usuários registrados e liberados pelo administrador.
Vocês teriam alguma dica, solução de como posso fazer isso? Eu procurei no fórum algo parecido, e nada achei, e nos módulos e extensões do Opencart oficial, não achei nada que possa me atender.
Alguém teria alguma indicação do que posso fazer?
Agradecida, fico no aguardo.
#38748
Segue o código:
Código: Selecionar todos
if (!$this->customer->isLogged()) {
	$this->redirect($this->url->link('account/login', '', 'SSL'));
} 
Um exemplo de uso é o seguinte, digamos que você deseja bloquear o acesso as páginas de informações somente a usuários cadastrados e logados, então, o que você deve fazer é editar o arquivo /catalog/controller/information/information.php, e logo após o código abaixo:
Código: Selecionar todos
public function index() { 
Acrescentar:
Código: Selecionar todos
if (!$this->customer->isLogged()) {
	$this->redirect($this->url->link('account/login', '', 'SSL'));
} 
Espero ter ajudado. :D
#38952
Dando uma contribuição.

Para quem quiser deixar uma ou outra página bloqueada para visualização, mas as outras abertas, basta fazer o seguinte:

Crie sua página de informações que será bloqueada a visualização de visitante. Pegue a ID da página.
Insira o seguinte código no catalog/controller/information/information.php
Código: Selecionar todos
if (isset($_REQUEST['information_id'])){
		if ($_REQUEST['information_id'] == ID){
			if (!$this->customer->isLogged()) {
			$this->redirect($this->url->link('account/login', '', 'SSL'));
			}
		}
	} 
Troque a ID que está no código pela ID da página que você criou. Exemplo:
Código: Selecionar todos
if (isset($_REQUEST['information_id'])){
		if ($_REQUEST['information_id'] == 8){
			if (!$this->customer->isLogged()) {
			$this->redirect($this->url->link('account/login', '', 'SSL'));
			}
		}
	} 
Salve e envie para o servidor.
As páginas de informação, normalmente, tem livre visualização. Mas algumas coisas necessitamos bloquear (como dados especiais), somente para pessoas cadastradas. Dessa forma, este código serve para separar essa visualização.

Espero que ajude. =)