以编程方式设置模板joomla视图

时间:2013-01-24 11:45:03

标签: joomla2.5

有没有办法在joomla视图中以编程方式设置模板?

我正在使用MVC架构来开发我的组件。前端有两个模板。 1表示登录用户(模板B)其他普通访问者(模板A)。

我遇到的问题是,我有一个登录用户的书店。模板是模板B.书店里面有搜索书的功能。来自我的组件的搜索和书店加载。分配给菜单项并使用模板B加载的书店。但是当我点击搜索按钮时,它会带来模板A的结果。这意味着模板从模板B更改为模板A.

我网站的默认模板是模板B.我通过菜单项分配了模板A.

我正在使用Joomla 2.5

发生了什么事?

2 个答案:

答案 0 :(得分:2)

我遇到了类似的问题,我分别为注册的用户和来宾使用了两个模板。我希望只在特定模板中加载一个视图,所以我不得不在视图中以编程方式设置/更改模板,我尝试使用Itemid但它只是不可靠,最后经过一些研究我得到了工作如下..

  $app = JFactory::getApplication();
  $app->setTemplate('Protostar'); //or whatever your template is named.

有了这个,我可以确定这个视图/布局只在特定的模板中加载。我在上成功使用了这个,但它可能适用于您的版本。

答案 1 :(得分:1)

我认为,这可以通过使用 JSite :: setTemplate($ template,$ templateParams)方法完成,但我不确定这是否适用于缓存,需要测试。