Я думаю, что скрипты Zend не настроены правильно - PullRequest
1 голос
/ 22 февраля 2010

Когда Ive создал новый контроллер, т.е. в этом случае Authenticate, Ive также создал папку и файл application/views/scripts/authentication/index.phtml

Не проблема при нажатии на URL http://dev.local/authentication/, но при вызове любого действия, например http://dev.local/authentication/login, я получаю ошибку ниже.

Message: script 'authentication/login.phtml' not found in path (C:\Sites\application\views\scripts\)

Независимо от каких-либо изменений, которые я собираюсь внести в действие по входу в систему, оно не должно автоматически запрашивать новую страницу, верно? или я не прав?

Программист новичок Зенд здесь.

Спасибо

1 Ответ

1 голос
/ 22 февраля 2010

По умолчанию каждому действию требуется соответствующий вид (страница phtml). Если вы хотите отключить вид / макет для данного действия, вы можете использовать следующий код:

$this->_helper->layout()->disableLayout();
$this->_helper->viewRenderer->setNoRender(true);

РЕДАКТИРОВАТЬ в ответ на комментарий:

Мне обычно не нужно этого делать, потому что те действия, которые мне не нужны, сценарий представления перенаправляются / перенаправляются на другие действия. Например, как только ваш пользователь аутентифицирован (т.е. когда / authentication / login успешно), вы можете перенаправить его на домашнюю страницу (или на любую страницу, к которой он пытался получить доступ. Точно так же, если вход не удался, я просто установил сообщение об ошибке в просмотреть и перейти к действию, которое показывает форму входа в систему.

Единственные действия, для которых я использую приведенный выше код, относятся к действиям, которые обычно вызываются с использованием AJAX и которые выводят некоторый код JSON, например.

...