Como verificar, em D7, se a página atual está retornando um erro 404 de um módulo / modelo?
http-status-codes
Andrey Rudenko
fonte
fonte
Respostas:
No Drupal 7, você pode usar
drupal_get_http_header()
.No arquivo template.php, use este código.
No Drupal 8, você pode usar o seguinte código em um gancho.
fonte
if ($status == '403 Forbidden') { /* ... do stuff ... */ }
system.404
rota não funcionará se você especificou uma página de nó como sua página 404 em Configuração> Sistema> Configurações básicas do site . Consulte a resposta do @Gervase para obter uma solução que funcione quando você possui ou não uma página 404 personalizada especificada.Drupal 8.2.x:
Infelizmente, drupal_get_http_header ("status") não funciona mais.
Experimentar:
Há uma discussão sobre isso aqui: https://www.drupal.org/node/1969270
fonte
getStatusCode
função.Essa é a maneira mais simples de detectar acesso negado (403) e página não encontrada (404) no Drupal 7.
fonte
$router_item
não ficará vazio se asite_404
variável estiver definida como um caminho do nó, portanto, verificações adicionais serão necessárias.