Мне нужно сбросить ошибку 404 в модуле. Или, может быть, есть возможность установить требуемый параметр для меню?
Как сбросить ошибку 404 в модуль Drupal?
Ответ 1
Это просто. Они должны позаботиться о watchdog, HTTP-коде ответа HTTP 404 и других связанных вещах.
Для Drupal 6 и 7
В return drupal_not_found();
страницы модуля выполните: return drupal_not_found();
Для Drupal 8
В class::method()
указанном в определении _controller
(т. throw new NotFoundHttpException();
страницы или методе, ответственном за генерирование вывода для запроса), выполните: throw new NotFoundHttpException();
Рекомендации
Ответ 2
Для Drupal 8
use Symfony\Component\HttpKernel\Exception\NotFoundHttpException;
// then
throw new NotFoundHttpException();
Ответ 3
MENU_NOT_FOUND
должен быть возвращен в функции обратного вызова страницы.
Функция обратного вызова страницы, желающая сообщить сообщение "не найденная страница", должна возвращать MENU_NOT_FOUND вместо вызова drupal_not_found(). - http://api.drupal.org/api/drupal/includes!common.inc/function/drupal_not_found/7
Ответ 4
Посмотрите на функцию drupal_add_http_header(), чтобы играть с атрибутами заголовка HTTP. Также убедитесь, что вы придерживаетесь этого в верхней части кода модуля, чтобы убедиться, что он выполняется в первую очередь. Кроме того, вы можете найти это полезным. https://www.drupal.org/project/generate_errors