Bagaimana cara memeriksa, di D7, jika halaman saat ini mengembalikan kesalahan 404 dari modul / template?
http-status-codes
Andrey Rudenko
sumber
sumber
Jawaban:
Di Drupal 7, Anda bisa menggunakan
drupal_get_http_header()
.Dalam file template.php, gunakan kode ini.
Di Drupal 8, Anda dapat menggunakan kode berikut dalam sebuah kail.
sumber
if ($status == '403 Forbidden') { /* ... do stuff ... */ }
system.404
rute tidak berfungsi jika Anda telah menentukan halaman simpul sebagai halaman 404 Anda di Konfigurasi> Sistem> Pengaturan situs dasar . Lihat jawaban @Gervase untuk solusi yang berfungsi saat Anda memiliki atau tidak memiliki halaman 404 khusus yang ditentukan.Drupal 8.2.x:
Sayangnya, drupal_get_http_header ("status") tidak berfungsi lagi.
Mencoba:
Ada diskusi tentang ini di sini: https://www.drupal.org/node/1969270
sumber
getStatusCode
fungsi.Ini adalah cara paling sederhana untuk mendeteksi Access Denied (403) dan Page Not Found (404) di Drupal 7.
sumber
$router_item
tidak akan kosong jikasite_404
variabel diatur ke jalur simpul, jadi pemeriksaan tambahan akan diperlukan.