开始编辑
好的,下面的方法可以实现,但是我发现有更好的方法。在您的控制器中执行以下操作...
if (JRequest::getVar('format') != 'raw') {
$url = JURI::current() . '?' . $_SERVER['QUERY_STRING'] . '&format=raw';
header('Location: ' . $url);
}
编辑结束
你可以像Babur Usenakunov建议的那样将'tmpl'设置为'component',这样脚本和CSS就可以被加载,例如...
JRequest::setVar('tmpl','component');
如果你想创建原始输出,可以添加 &format=raw 或在你的组件中创建一个类型为“raw”的视图...
不幸的是,我找到的唯一使“raw”视图类型正确渲染的方法是在视图类调用parent::display()之后调用exit()函数...
在你的controller.php文件中...
class com_whateverController() extends JController
{
function __construct()
{
JRequest::setVar('format','raw');
JFactory::$document = null;
JFactory::getDocument();
parent::__construct();
}
function display()
{
$view = $this->getView('whatever', 'raw');
$view->display();
}
}
然后在 views/whatever/view.raw.php 中...
class com_whateverViewWhatever extends JView
{
public function display($tpl = null)
{
parent::display();
exit;
}
}