Pobranie statusu strony (404, 403 itp) w Drupalu

Czasem zachodzi potrzeba pobrani statusu strony. Co to znaczy?
Otóż załóżmy że chcielibyśmy dowiedzieć się czy nasza strona u użytkownika, który ją właśnie przegląda, załadowała się i jest wyświetlana poprawnie.
Może zdarzyć się sytuacja, że strona nie została odnaleziona (status 404) lub użytkownik nie ma uprawnień do jej przeglądania (status 403).
Jak pobrać taki status i jakie są dostępne statusy? Odpowie na to poniższy artykuł.

Dostępne statusy stron

304 Not Modified
403 Forbidden
404 Not Found
500 Service unavailable (with message)
500 Internal Server Error
503 Service unavailable

Pobranie statusu strony

Do pobierania statusu strony służy funkcja

drupal_get_http_header

Wygląda to tak:

$status = drupal_get_http_header("status");

Mając pobrany status strony możemy teraz w zależności od jego wartości wykonać jakieś działania.

switch($status)
{
  case "403 Forbidden":
    break;
  case "404 Not Found";
    break;
  ...
}

Ustawienie statusu strony

Status strony ustawiamy w następujący sposób.

drupal_add_http_header('Status', 'Moj status');
np:
drupal_add_http_header('Status', '403 Forbidden');

Zastosowanie

Co możemy zrobić z tą informacją? Bardzo wiele. Ja np. użyłem tego do zmiany wyglądu strony (kolorystyki w CSS) zależnie od statusu. Oczywiście można też zmieniać cały szablon (plik .TPL) zależnie od statusu. Opcji jest bardzo wiele.

Dodaj nowy komentarz

Filtrowany HTML

  • Adresy internetowe są automatycznie zamieniane w odnośniki, które można kliknąć.
  • Dozwolone znaczniki HTML: <em> <strong> <cite> <blockquote> <code> <ul> <ol> <li> <dl> <dt> <dd>
  • Znaki końca linii i akapitu dodawane są automatycznie.
  • Tekstowe buźki będą zamieniane na ich graficzne odpowiedniki.

Czysty tekst

  • Znaczniki HTML niedozwolone.
  • Adresy internetowe są automatycznie zamieniane w odnośniki, które można kliknąć.
  • Znaki końca linii i akapitu dodawane są automatycznie.
  • Tekstowe buźki będą zamieniane na ich graficzne odpowiedniki.
CAPTCHA
W celu potwierdzenia, że jesteś człowiekiem, prosimy o wykonanie poniższego zadania
Target Image