Como colocar o Magento em manutenção e ainda poder visualizar a loja.

Neste tutorial veremos como podemos deixar o Magento em manutenção para qualquer visitante e ainda poder editar a loja sem precisar instalar nenhum modulo, veja como é simples:

ARQUIVO MAINTENANCE.FLAG

No Magento para deixar em manutenção e completamente inacessível, basta criar um arquivo vazio chamado maintenance.flag na raiz de sua instalação, isso porque o magento sempre procura este arquivo toda vez que uma página é visualizada. Este arquivo maintenance.flag pode também aparecer quando utilizamos o Magento Connect para instalar algum módulo, normalmente o próprio sistema remove este arquio, mas caso não o faça você pode deletar este arquivo sem medo. Por padrão a loja vicará com a seguinte tela simulando um erro 503:

TORNANDO A LOJA VISÍVEL SOMENTE PRA VOCÊ

Vamos alterar o arquivo index.php na raiz da instalação do Magento pra acrescentar uma nova regra que vai deixar a loja em manutenção exceto para o IP indicado, isso fará com que a loja fique visível somente para você e assim poder realisar reparos de emergência sem deixar que outros visitantes usem a loja.

Abra o arquivo index.php, próximo a linha 47 encontraremos:

$mageFilename = MAGENTO_ROOT . '/app/Mage.php';
$maintenanceFile = 'maintenance.flag';
 
if (!file_exists($mageFilename)) {
 if (is_dir('downloader')) {
 header("Location: downloader");
 } else {
 echo $mageFilename." was not found";
 }
 exit;
}
 
if (file_exists($maintenanceFile)) {
 include_once dirname(__FILE__) . '/errors/503.php';
 exit;
}

Antes de todo esse código acrescentaremos duas variáveis:

$ip = $_SERVER['REMOTE_ADDR']; #IP de quem está acessando a loja
$permitido = array('200.149.132.123','2.2.2.2'); #seu IP ou IPs permitidos a acessar a loja em manutencao

Na linha do segundo if (provavelmente linha 61) acrescentaremos mais uma verificação

if (file_exists($maintenanceFile && !in_array($ip, $allowed))) {

Assim o Magento também vai verificar seu IP antes de bloquear o site, o código fica assim:

$ip = $_SERVER['REMOTE_ADDR']; #IP de quem está acessando a loja
$permitido = array('200.149.132.123','2.2.2.2'); #seu IP ou IPs permitidos a acessar a loja em manutencao
$mageFilename = MAGENTO_ROOT . '/app/Mage.php';
$maintenanceFile = 'maintenance.flag';
 
if (!file_exists($mageFilename)) {
 if (is_dir('downloader')) {
 header("Location: downloader");
 } else {
 echo $mageFilename." was not found";
 }
 exit;
}
 
if (file_exists($maintenanceFile && !in_array($ip, $allowed))) {
 include_once dirname(__FILE__) . '/errors/503.php';
 exit;
}

Pronto com isso a loja estará em manutenção para visitantes, mas não para você e para personalizar a tela de manutenção basta editar o arquivo [raiz do magento]/errors/503.php ou alterar o endereço na linha 62.

Espero que este tutorial seja de grande ajuda um forte abraço e até a próxima.


							
2018-02-27T19:36:56+00:00

RECEBA DICAS VALIOSAS NO SEU EMAIL

x