我在Joomla中有一堆类别和项目,我希望其中一个类别与其他类别不同 - 这些类别项目必须使用不同的布局。我没有使用任何扩展程序,仅com_content
。我已尝试在default.php
中创建/components/com_content/views/article/tmpl
的副本,但我无法将其分配到我的类别。
任何帮助,将不胜感激。似乎为模块添加新布局要容易得多,或者我可能只是出错了。
答案 0 :(得分:2)
我从未尝试过这个,但我认为你首先要做模板覆盖。您可以通过以下链接了解如何完成此操作:
http://docs.joomla.org/How_to_override_the_output_from_the_Joomla!_core
然后,在default.php中,您可以尝试添加以下内容:
if (JRequest::getVar('id')=='22' && JRequest::getVar('view')=='category' && JRequest::getVar('option')=='com_content') {
//layout for category goes in here
}
else {
//default category layout
}
您当然需要将22
更改为您要更改其布局的类别的ID
。
答案 1 :(得分:1)
您可以尝试下面给出的链接,将不同的模板分配给特定的菜单项。您可以在菜单管理器的菜单项中指定categorylist
菜单类型,并将模板从模板管理器分配到特定菜单。 注意您无法将默认模板分配给各个页面。有关详细信息,请访问以下链接:
答案 2 :(得分:1)
对于1.6或更高版本,替代布局的工作方式与布局覆盖类似,但存储在具有不同名称的文件中。因此,它们可能被命名为myalternatelayout.php,而不是被称为default.php。在您创建或编辑项目时,会为项目分配备用布局。
备用菜单项布局要求您创建具有相同名称的php文件和xml标题,因此myalternatemenulayout.php和myalternatemenulayout.xml。这些将在您创建新菜单项时显示。
我有点不清楚你想要做的是以编程方式分配布局,所以你不必每次都这样做。我可能会使用插件来做到这一点。