3

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

4

3 回答 3

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
}

您当然需要更改22ID要更改布局的类别。

于 2012-10-23T14:05:29.743 回答
1

您可以尝试下面给出的链接将不同的模板分配给特定的菜单项。您可以categorylist从菜单管理器分配菜单项中的菜单类型,并从模板管理器将模板分配给特定菜单。请注意,您不能将默认模板分配给单个页面。有关更多信息,请访问此链接:

[如何将模板分配给特定页面?

于 2012-10-23T14:03:30.820 回答
1

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

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

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

于 2012-10-23T16:25:28.080 回答