Uma pergunta rápida noob aqui! Como definir um tema para usar um modelo personalizado para páginas de erro 404 em vez de usar page.tpl?
Uma pergunta rápida noob aqui! Como definir um tema para usar um modelo personalizado para páginas de erro 404 em vez de usar page.tpl?
Respostas:
Siga esses passos:
Crie uma nova página usando o módulo Painéis (página vazia ou coloque nele qualquer conteúdo)
Na página admin / config / system / site-information, defina a página 404 padrão (não encontrada) para sua nova página
Substituir o arquivo de modelo para essa página (página - error.tpl.php)
Remova todas as regiões que você não precisa e coloque seu código
Outra solução desta discussão que funciona sem painéis ou outros módulos personalizados.
Na pasta do seu tema, localize template.php
e escreva esse código. Substitua YOURTHEME
pelo nome do seu tema:
function YOURTHEME_preprocess_page(&$vars) {
$header = drupal_get_http_header('status');
if ($header == '404 Not Found') {
$vars['theme_hook_suggestions'][] = 'page__404';
}
}
Sempre que ocorrer 404, você page--404.tpl.php
será usado. Lembre-se de colocar "-" not "__" no nome do arquivo do seu modelo.
page--404.tpl.php
arquivo.
Se você deseja ter uma página 404 personalizada que não envolva a criação de uma página (nó), use o comando customerror módulo .
Se você tem uma página 404 no Drupal, ela será exibida nos resultados da pesquisa e / ou nas listagens do Views.
Ao usar o módulo customerror, você pode substituir o modelo criando uma página - customerror.tpl.php na sua pasta de temas. Lembre-se também de liberar o cache depois de criar um novo arquivo de modelo.
Sem assumir nenhuma convenção que possa existir em sua base de temas, a questão é finalmente como saber com certeza qual arquivo de modelo usar ...
Aqui estão os passos:
Olhe a fonte e a sugestão de modelos, você obterá algo como:
Isso é simples, nenhum arquivo de pré-processamento ou template.php para modificar.
Eu mesmo escolhi o marcado por machado, pois queria algo nu com uma foto de quadro completa e apenas um link para trás.