Joomla 2.5 - 根据类别布局的文章布局

时间:2013-02-25 19:59:18

标签: layout joomla override categories article

我想根据类别的自定义布局为文章使用自定义布局。

  • 体育类别布局 - 体育文章布局
  • 科学类别布局 - 科学类别布局

感谢您的回复。

更新:
我对如何处理这个有一个想法,因为下面的答案给了我一些暗示。我需要能够在文章项页面上获取类别布局。我知道这很棘手,但Joomla有很多东西要做,所以现在最好的事情是什么?

4 个答案:

答案 0 :(得分:1)

嗯,我找到了更容易和无缝的解决方案来做这种伎俩。一旦你覆盖了类别布局,你应该在你的模板文件夹中放置类似“sports.xml”的东西,否则它不适用于你的菜单项(因为joomla blog.xml有关于布局的隐藏字段,你应该覆盖它来制作对的)。在这个sports.xml中,您可以为文章布局添加另一个字段 - 比如

<field
      name="article_layout" type="componentlayout"
      label="JGLOBAL_FIELD_LAYOUT_LABEL"
      description="JGLOBAL_FIELD_LAYOUT_DESC"
      menuitems="true"
      extension="com_content"
      view="article"
      />

或只是您想要的布局的隐藏字段。它会起作用。

答案 1 :(得分:0)

首先,您需要进行模板覆盖。这很容易。可在此处查看显示如何执行此操作的文档:

http://docs.joomla.org/How_to_override_the_output_from_the_Joomla!_core

然后,在您的覆盖中,您需要根据文章所属的类别ID使用if语句。这可以这样实现:

$catid = JRequest::getInt('catid');

if($catid == 1){
    //layout for article belonging to a category with an ID of 1 goes here
}
elseif($catid == 2){
    //layout for article belonging to a category with an ID of 2 goes here
}
else {
    //standard layout goes here
}

希望这有帮助。

答案 2 :(得分:0)

实现此目的的最佳方法是使用K2(http://getk2.org),因为您可以创建模板覆盖集(例如,项目,类别等),然后将它们分配给后端的类别。 / p>

您可以在此处找到分步指南:http://getk2.org/documentation/tutorials/174-templating-with-k2-and-the-concepts-of-sub-templates

为了方便切换,他们还提供了将所有文章导入K2的功能。

答案 3 :(得分:0)

这必须在yourblog.xml中的名称=&#34;文章&#34;节

    <fieldset name="article" label="COM_CONTENT_ATTRIBS_FIELDSET_LABEL">