Неизвестная ошибка при попытке выбросить страницу 404 - PullRequest
0 голосов
/ 28 ноября 2010

В моем контроллере есть метод, который обрабатывает общие запросы страниц, предназначенные для моих общедоступных страниц. Я хочу выбросить 404, когда не могу сопоставить то, что находится в URL, и то, что я знаю, это страницы статического содержимого.

Итак, я делаю это:

$opts = array(
 'name' => 'Some message',
 'code' => 404,
 'message' => 'Your message here',
 'base' => $this->base
);
$this->layout = 'blank';
$this->cakeError('error', array($opts));

Проблема в том, что я получаю эту ошибку при запросе 404:

Примечание (8): неопределенная переменная: javascript [APP \ views \ layouts \ default.ctp, строка 10]

"$ this-> layout = 'blank';" моя попытка перенаправить в пустой файл макета, который не содержит CSS, JS и т. д. Но он полностью игнорирует это и загружает шаблон по умолчанию, в который входит JS Я предполагаю, что подпрограммы ошибки, которые загружают 404 страницы, не имеют доступа к этим методам, что является источником ошибки.

Но я не могу понять, как справиться с этой ошибкой.

1 Ответ

2 голосов
/ 28 ноября 2010

Во-первых, в вашем коде есть небольшая ошибка. Ваш второй параметр для cakeError () уже является массивом. Должно быть:

$this->cakeError('error', $opts);

Во-вторых, вы можете установить

$this->layout = false;

, если вы хотите пустой макет.

...