Как проверить, в D7, возвращает ли текущая страница ошибку 404 из модуля / шаблона?
http-status-codes
Андрей Руденко
источник
источник
Ответы:
В Drupal 7 вы можете использовать
drupal_get_http_header()
.В файле template.php используйте этот код.
В Drupal 8 вы можете использовать следующий код в хуке.
источник
if ($status == '403 Forbidden') { /* ... do stuff ... */ }
system.404
маршруте, не работает, если вы указали страницу узла в качестве своей страницы 404 в Конфигурация> Система> Основные настройки сайта . Смотрите @Gervase 'ответ для решения, которое работает, когда у вас есть или не указана пользовательская страница 404.Drupal 8.2.x:
К сожалению, drupal_get_http_header ("status") больше не работает.
Пытаться:
Здесь обсуждается это: https://www.drupal.org/node/1969270
источник
getStatusCode
функции.Это самый простой способ обнаружить отказ в доступе (403) и страницу не найдена (404) в Drupal 7.
источник
$router_item
не будет пустым, если дляsite_404
переменной задан путь к узлу, поэтому потребуются дополнительные проверки.