特定类别项目的布局

时间:2012-10-23 13:47:15

标签: joomla joomla2.5

我在Joomla中有一堆类别和项目,我希望其中一个类别与其他类别不同 - 这些类别项目必须使用不同的布局。我没有使用任何扩展程序,仅com_content。我已尝试在default.php中创建/components/com_content/views/article/tmpl的副本,但我无法将其分配到我的类别。 任何帮助,将不胜感激。似乎为模块添加新布局要容易得多,或者我可能只是出错了。

3 个答案:

答案 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菜单类型,并将模板从模板管理器分配到特定菜单。 注意您无法将默认模板分配给各个页面。有关详细信息,请访问以下链接:

[How do you assign a template to a specific page?

答案 2 :(得分:1)

对于1.6或更高版本,替代布局的工作方式与布局覆盖类似,但存储在具有不同名称的文件中。因此,它们可能被命名为myalternatelayout.php,而不是被称为default.php。在您创建或编辑项目时,会为项目分配备用布局。

备用菜单项布局要求您创建具有相同名称的php文件和xml标题,因此myalternatemenulayout.php和myalternatemenulayout.xml。这些将在您创建新菜单项时显示。

我有点不清楚你想要做的是以编程方式分配布局,所以你不必每次都这样做。我可能会使用插件来做到这一点。