Php Joomla 3:如何在不向URL添加format=raw的情况下使用raw格式?
我希望将view.raw.php作为原始视图加载,就像在URL中附加view=raw一样。但是我不想在URL中添加view=raw 我在主控制器内尝试了以下操作,但未成功: 首先,我尝试了这个:Php Joomla 3:如何在不向URL添加format=raw的情况下使用raw格式?,php,joomla,joomla3.0,Php,Joomla,Joomla3.0,我希望将view.raw.php作为原始视图加载,就像在URL中附加view=raw一样。但是我不想在URL中添加view=raw 我在主控制器内尝试了以下操作,但未成功: 首先,我尝试了这个: JFactory::$document = null; JFactory::getDocument(); $input = JFactory::getApplication()->input; $input->set('format', 'raw'); 然后我试了一下: JFacto
JFactory::$document = null;
JFactory::getDocument();
$input = JFactory::getApplication()->input;
$input->set('format', 'raw');
然后我试了一下:
JFactory::$document = null;
JFactory::getDocument();
$input = JFactory::getApplication()->input;
$input->set('format', 'raw');
这是:
$_REQUEST['format'] = 'raw';
$doc = JFactory::getDocument();
$doc->setType('raw');
这是:
$urlparams['format']='raw';
$urlparams[]=array('format'=>'raw')
这是:
$_REQUEST['format'] = 'raw';
$doc = JFactory::getDocument();
$doc->setType('raw');
它们似乎都没有做到这一点。我不确定您将代码放在了哪里,但如果代码在模板中,那么更改就太晚了,joomla已经以默认格式呈现。创建一个插件并使用在渲染之前调度的事件 是可用事件的列表 祝你好运
顺便说一句,我也做了类似的事情,使用了»system«类型的插件,并使用了»onAfterInitialize«事件 要实现此目的,请在控制器内添加以下内容:
$document = JDocument::getInstance('raw'); //this new instance is a raw document object
$viewType = $document->getType();
// $viewname below is set in jinput or as you named it
$this->getView($viewName, $viewType);
$this->input->set('view', $viewName);
上面调用view.raw.php>“在我的主控制器内部”-感谢您的快速回答,尽管它可以简化为:$document=JDocument::getInstance('raw')//这个新实例是一个原始文档对象$viewType=$document->getType();//$下面的viewname是在jinput中设置的,或者是您命名的$this->getView($viewname,$viewType)$此->输入->设置('view',$viewName);