我已经制作了一个API控制器,其中包含一些操作来为我的应用程序吐出JSON,我已经关闭了布局并在其init()
方法中查看渲染器,因此我没有为此控制器提供查看脚本
我正在尝试通过apiController::treeAction
在应用中的其他位置使用我的actionHelper
来输出一些内联的JSON。我可以通过/api/tree/id/1
直接访问该操作,它显示了JSON数据。但是当我尝试使用
$this->view->action('tree', 'api', null, array('id'=>$id))
我得到了一个例外
Message: script 'api/tree.phtml' not found in path ([...]\application\views\scripts\)
是的,该文件不存在,但我不需要它。我做错了什么?
答案 0 :(得分:1)
您可能需要查看动作助手Context Switch。
您可以为此操作指定“json”的操作上下文,然后它将自动处理禁用布局和查看脚本呈现。
答案 1 :(得分:0)
在动作中使用$this->_helper->viewRenderer->setNoRender(true);
。