Php 在ActiveCollab中的单个页面上禁用Smarty
我正在开发一个使用Smarty作为模板的系统(ActiveCollab)。我想输出一些JSON,所以我需要它自己输出。。。没有别的东西了。但是,如果我没有为相应的操作提供Smarty模板文件,我会得到一个错误输出,破坏JSON 有人知道如何逐个禁用Smarty输出吗?在伪代码中,类似于Php 在ActiveCollab中的单个页面上禁用Smarty,php,jqgrid,smarty,activecollab,Php,Jqgrid,Smarty,Activecollab,我正在开发一个使用Smarty作为模板的系统(ActiveCollab)。我想输出一些JSON,所以我需要它自己输出。。。没有别的东西了。但是,如果我没有为相应的操作提供Smarty模板文件,我会得到一个错误输出,破坏JSON 有人知道如何逐个禁用Smarty输出吗?在伪代码中,类似于 $this->smarty->disable(); 否则,是否有人知道如何让ActiveCollab不需要模板文件进行输出?或者知道更好的方法输出JSON供ActiveCollab使用吗 我的主要目
$this->smarty->disable();
否则,是否有人知道如何让ActiveCollab不需要模板文件进行输出?或者知道更好的方法输出JSON供ActiveCollab使用吗
我的主要目标是输出json供ActiveCollab中的jqgrid使用,以防有所帮助
谢谢
编辑: 事实证明,这就像添加
die()一样简单代码>在所需输出之后
function bar(){
echo $myoutput;
die();
}
就这样。为什么我总是寻找“困难”的答案,而解决方案是如此基本,我永远不会知道。。。叹气。只有当操作本身在结束执行之前未提供退出时,activeCollab才会自动呈现页面内容周围的页面布局。该出口可能是:
使用$this->serveData()服务某些数据
页面重定向
内容+模具的简单打印()
使用download\u File()
和download\u content()
函数转发文件
停止执行操作的任何其他存在(在其中死亡)
在您的情况下,您可以使用controller的serveData()
方法来提供JSON:
function action() {
$my_json_data = array('something');
$this->serveData($my_json_data, null, FORMAT_JSON);
}
此函数将设置正确的HTTP头并对发送的值进行编码。serveData方法正是我所要寻找的。谢谢!