Instalação
Requisitos
Magento 2.4.x. PHP 8.1–8.5. Compatível com o tema predefinido Luma e com o tema Hyvä. Requer o módulo gratuito codingrow/module-core, instalado automaticamente. Nenhuma chave para inserir: o módulo ativa-se automaticamente no seu domínio.
Passos de instalação
- Peça o módulo na página do produto só com o seu email: recebe por email as credenciais do Composer (também estão na sua área de cliente). Guarde-as a partir da raiz do seu projeto Magento:
composer config http-basic.repo.codingrow.com <username> <password> composer config repositories.codingrow composer https://repo.codingrow.comcomposer require codingrow/module-custom-404-maintenancebin/magento module:enable Codingrow_Custom404Maintenancebin/magento setup:upgrade— em modo production tambémsetup:di:compile,setup:static-content:deployecache:flush.- Não há nenhuma chave para colar: o módulo ativa-se automaticamente no seu domínio, passe diretamente à configuração descrita abaixo.
setup:upgrade também instala a skin da página de manutenção em pub/errors. Se não conseguir (permissões de ficheiros), execute uma vez bin/magento codingrow:c404m:deploy com o utilizador proprietário dos ficheiros do Magento.
Configuração
Abra Admin → Stores → Configuration → Codingrow Extensions → Custom 404 & Maintenance. Cada campo pode ser definido ao nível Default, Website e Store View: use o seletor Scope no canto superior esquerdo para ter textos ou design diferentes por idioma.
| Definição | O que faz | Notas |
|---|---|---|
| 404 Page | ||
| Enable custom 404 page | Substitui a página 404 do Magento. | Sim/Não. |
| Show large "404" number | Grande número colorido acima do título. | Usa a cor de destaque. |
| Title / Message | Os textos da página. | Vazio = texto predefinido traduzido. Na mensagem é aceite HTML básico (b, strong, i, em, a, br, p, ul, ol, li, span). |
| Show search box | Pesquisa no catálogo da loja. | — |
| "Back to home" button label | Texto do botão. | Vazio = texto predefinido. |
| Maintenance Page | ||
| Installation status | Indica se a skin está instalada em pub/errors. | Deve indicar Installed (ver Página de manutenção). |
| Enable custom maintenance page | Mostra a sua página enquanto a manutenção está ativa. | Sim/Não por store view. |
| Title / Message | Os textos da página. | Como na página 404. |
| Highlighted note | Nota breve na cor de destaque. | Ex.: "Voltamos às 14:00". |
| Auto-reload page every (seconds) | Recarrega automaticamente a página do visitante. | 0 = nunca; 60 = a cada minuto. |
| Design | ||
| Logo / Logo max width | Logótipo da loja, logótipo personalizado ou nenhum. | Logótipo da loja = o definido em Content → Design → Configuration. |
| Background | Cor sólida, gradiente de duas cores ou imagem em ecrã inteiro. | Escurecimento da imagem de 0 a 90%. |
| Content box | Nenhuma, clara ou escura. | — |
| Font / Title size / Alignment | Tipografia das duas páginas. | — |
| Cores do texto, de destaque e do texto dos botões | Cores, cada uma com seletor de cor. | Destaque = número 404, links, botões, nota. |
Desinstalação
Reponha a página de manutenção padrão do Magento antes de remover o módulo:
bin/magento codingrow:c404m:deploy --uninstall
composer remove codingrow/module-custom-404-maintenance
bin/magento setup:upgrade
Se remover o módulo sem --uninstall, a página de manutenção continua a mostrar a última versão gerada até a skin ser removida. Para voltar simplesmente às páginas padrão sem desinstalar, defina Enable custom 404 page e/ou Enable custom maintenance page como No.
Guia de utilização
Página 404
Quando um endereço não existe, em vez da página CMS “404 Not Found” a loja mostra uma página em ecrã inteiro com o logótipo, um grande “404” opcional, título, mensagem, caixa de pesquisa opcional e o botão “Voltar ao início”. A resposta mantém o estado HTTP 404, inclui noindex e nunca fica em cache, por isso os motores de busca não a indexam.
Página de manutenção
Enquanto a manutenção está ativa (bin/magento maintenance:enable) o Magento não está em execução e responde pub/errors/503.php. Por isso o módulo:
- instala uma skin em
pub/errors/codingrow_c404m/e ativa-a empub/errors/local.xml(umlocal.xmljá existente é guardado emlocal.xml.codingrow_c404m.bak); - pré-gera o HTML da página para cada store view;
- durante a manutenção escolhe a store view do pedido (MAGE_RUN_CODE do servidor web → domínio/caminho → cookie da loja → idioma do navegador → loja predefinida) e serve a respetiva página com HTTP 503 e
Retry-After. Se a página não estiver ativa para essa store view, é mostrada a página padrão do Magento.
O HTML é regenerado automaticamente quando guarda a secção, quando o logótipo muda em Content → Design → Configuration e a cada maintenance:enable. Os IPs excluídos com --ip continuam a ver a loja.
pub/errors (normal e seguro em servidores protegidos). Execute uma vez bin/magento codingrow:c404m:deploy com o utilizador proprietário dos ficheiros do Magento e recarregue a página de configuração: deve indicar Installed.
Design
O design aplica-se às duas páginas: logótipo (logótipo da loja, logótipo personalizado — jpg, png, gif, svg, webp — ou nenhum) com largura máxima; fundo de cor sólida, gradiente de duas cores ou imagem em ecrã inteiro com escurecimento de 0 a 90%; caixa de conteúdo nenhuma, clara ou escura; fonte, tamanho do título e alinhamento; cor do texto, cor de destaque (número 404, links, botões, nota) e cor do texto dos botões, cada uma com seletor de cor. A página é HTML/CSS autónomo e não usa o tema, por isso tem o mesmo aspeto em Hyvä e Luma.
Pré-visualização ao vivo
O grupo Live Preview mostra a página 404 ou a página de manutenção, em Desktop ou Mobile, atualizada enquanto edita os campos e com o scope selecionado — antes de guardar. As imagens acabadas de carregar (logótipo personalizado, imagem de fundo) aparecem na pré-visualização depois de guardar.
Comando CLI
bin/magento codingrow:c404m:deploy instala ou atualiza a skin de manutenção em pub/errors e regenera as páginas de todas as store views. Só é necessário quando o servidor web não pode escrever em pub/errors; os ficheiros da skin são criados com permissões 644/755. --uninstall repõe local.xml e remove a skin, trazendo de volta a página de manutenção padrão do Magento.
Resolução de problemas
- Continuo a ver a antiga página 404: verifique se Enable custom 404 page está em Yes no scope da store view que está a ver, limpe a cache (System → Cache Management) e teste um endereço que realmente não exista.
- Durante a manutenção vejo a página padrão do Magento: Installation status deve ser Installed, a página deve estar ativa para essa store view e o seu IP não pode estar excluído com
--ip. Depois executebin/magento codingrow:c404m:deploy. - Idioma errado durante a manutenção: defina os textos no scope da store view correta; se várias store views partilharem o mesmo endereço, decidem o cookie da loja e depois o idioma do navegador. Em seguida execute
bin/magento codingrow:c404m:deploy. - O logótipo não aparece: com Store logo vem de Content → Design → Configuration → Header → Logo Image (ou do logótipo do tema); escolha Custom logo para carregar um e aumente Logo max width se parecer demasiado pequeno.
- A imagem de fundo não aparece na pré-visualização: as imagens carregadas aparecem depois de guardar; confirme que Background está definido como Image.
Licença
O Custom 404 & Maintenance é gratuito e não há nenhuma chave para inserir: depois de instalado, o módulo ativa-se automaticamente no seu domínio. Faz uma verificação online leve junto da codingrow.com, enviando apenas o domínio da loja, o produto e a versão instalada (nenhum dado dos seus clientes), e memoriza a última resposta, pelo que um problema de rede temporário não o desativa. O formulário da página do produto serve apenas para lhe enviar as credenciais do repositório Composer da Codingrow, com as quais descarrega o módulo e as respetivas atualizações.
Se um dia o módulo passar a ser pago: os domínios que já o ativaram continuam gratuitos, para sempre, em todas as versões publicadas até essa data — sem mudança de domínio nem pedidos ao suporte. O log do Magento indica a última versão que pode instalar gratuitamente; as versões seguintes exigiriam uma licença.