Jak sprawdzić, w D7, czy bieżąca strona zwraca błąd 404 z modułu / szablonu?
http-status-codes
Andrey Rudenko
źródło
źródło
Odpowiedzi:
W Drupal 7 możesz używać
drupal_get_http_header()
.W pliku template.php użyj tego kodu.
W Drupal 8 możesz użyć następującego kodu w haku.
źródło
if ($status == '403 Forbidden') { /* ... do stuff ... */ }
system.404
trasie nie działa, jeśli jako stronę 404 określono stronę węzła w Konfiguracja> System> Podstawowe ustawienia witryny . Zobacz odpowiedź @Gervase ', aby znaleźć rozwiązanie, które działa, gdy masz lub nie masz zdefiniowanej niestandardowej strony 404.Drupal 8.2.x:
Niestety, drupal_get_http_header („status”) już nie działa.
Próbować:
Dyskusja na ten temat tutaj: https://www.drupal.org/node/1969270
źródło
getStatusCode
funkcji.Jest to najprostszy sposób na wykrycie odmowy dostępu (403) i nie znaleziono strony (404) w Drupal 7.
źródło
$router_item
nie będzie pusty, jeślisite_404
zmienna jest ustawiona na ścieżkę do węzła, więc potrzebne będą dodatkowe kontrole.