您好!我有很多使用组件覆盖的joomla模板。 对于某些文章,我使用默认模板,而对于其他文章,我使用其他模板“?template = zzz”。如何使用模板“zzz”中的其他覆盖,而不是“zzz”覆盖中的默认覆盖。
示例:我有一篇文章:“Lorem Ipsum”,我想给他分配名为“zzz”的模板(!!!“ZZZ”不是网站的默认模板,并没有分配给菜单! !!),然后我把文章url“?template = zzz”。现在“Lorem Ipsum”使用名为“zzz”的模板。在“zzz”模板文件夹中,我更多地覆盖了com_content->文章(default.php,myskinarticle.php,otherskin.php等),我想用于“Lorem Ipsum”文章,来自ZZZ的覆盖(其中不是默认模板,它没有分配给菜单),名为“otherskin”。 我认为这就像“?template = zzz& override = otherskin”。
我该怎么做?
答案 0 :(得分:2)
我认为你需要使用'layout'参数:
http://docs.joomla.org/Component_Views_and_Templates
那么,您的示例可能是?template = zzz& layout = otherskin
编辑:
另一个方法是创建一个插件来切换内容(取决于你网址中的参数)以显示所需的模板。
看看:
http://docs.joomla.org/Plugin/Events/Content#onBeforeDisplay
这将允许您在显示之前挂钩内容。
然后,您可以访问JFactory :: getDocument()方法以编程方式设置模板,使用类似的方法:
$doc=&JFactory::getDocument();
$doc->setTemplate("my_template_name");
祝你好运!