当我创建一个新控制器时,即在这种情况下Authenticate
,我也创建了文件夹和文件application/views/scripts/authentication/index.phtml
点击网址http://dev.local/authentication/
时没有问题,但在调用任何操作即http://dev.local/authentication/login
时,我会收到以下错误。
Message: script 'authentication/login.phtml' not found in path (C:\Sites\application\views\scripts\)
无论我要对登录操作做出任何更改,它都不应该自动要求新页面吗?或者我错了吗?
这里有一位新手zend程序员。
由于
答案 0 :(得分:1)
默认情况下,每个操作都需要相应的视图(phtml页面)。如果要禁用给定操作的视图/布局,可以使用以下代码:
$this->_helper->layout()->disableLayout();
$this->_helper->viewRenderer->setNoRender(true);
编辑回应评论:
我通常不需要这样做,因为我不需要视图脚本的操作被重定向/ forwared到其他操作。例如,一旦您的用户通过身份验证(即/ authentication / login成功),您就可以将他重定向到主页(或者他试图访问的任何页面。同样,如果登录失败,我只需在其中设置错误消息视图并转发到显示登录表单的操作。
我使用上述代码的唯一操作是针对通常使用AJAX调用并且输出一些JSON代码的操作,例如。