1

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

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

4

1 回答 1

1

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

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

编辑回应评论:

我通常不需要这样做,因为我不需要视图脚本的操作被重定向/转发到其他操作。例如,一旦您的用户通过身份验证(即 /authentication/login 成功时),您可以将他重定向到主页(或他试图访问的任何页面。同样,如果登录失败,我只需在视图并转发到显示登录表单的操作。

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

于 2010-02-22T16:05:47.130 回答