当我创建一个新控制器时,即在这种情况下 Authenticate, ,我还创建了文件夹和文件 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\)

不管我将对登录操作进行任何更改,它不应该自动要求一个新页面吗?还是我错了?

有帮助吗?

解决方案

默认情况下,每个操作都需要其相应的视图(PHTML页面)。如果要禁用给定操作的视图/布局,则可以使用以下代码:

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

对评论的回应进行编辑:

我通常不需要执行此操作,因为我所拥有的动作不需要视图脚本是重定向/伪造为其他动作的。例如,一旦您的用户进行身份验证(即 /验证 /登录成功),您可以将他重定向到主页(或他要访问的任何页面。同样,如果登录失败,我只是在视图并转到显示登录表单的动作。

我使用上述代码的唯一操作是用于通常使用AJAX调用并输出一些JSON代码的操作。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top