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

问题描述:

我想根据其类别的自定义布局使用文章的自定义布局。Joomla 2.5 - 根据类别布局的文章布局

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

谢谢你的任何答复。

更新:
我有一个关于如何处理这个问题的想法,下面的答案给我一些提示。我需要能够在文章项目页面上获得类别布局。我知道这很棘手,但Joomla拥有所有的功能,所以现在最好的做法是什么?

首先,你需要做一个模板覆盖。这很容易。向您展示如何做到这一点的文档可以在这里看到:

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

你会那么,在你重写,如果需要根据文章属于什么类别ID语句中使用。这可以这样实现:

$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 
} 

希望这会有所帮助。

+0

感谢您的输入,以及,我认为这是一个更好的方法。然而,我的想法是将类别布局与他们的文章布局连接起来,一种方法可以是使用页面类功能,如果我将这里的代码与您的代码结合起来看起来更有希望。 EG:如果分类页面有类“博客”,那么文章应该使用布局博客。你的方式太僵化了,它需要更加具体和灵活。再次感谢。 – thednp 2013-02-26 13:45:44

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

你可以找到一个一步一步的指导,在这里:http://getk2.org/documentation/tutorials/174-templating-with-k2-and-the-concepts-of-sub-templates

要切换容易,他们也准备了一个功能,您所有的文章导入到K2。

+0

感谢您的输入。但是,我的工作是完全继续做比K2更好,只是与com_content。 K2系统遇到了很多麻烦,升级/迁移/移植非常痛苦。 – thednp 2013-02-26 13:42:11

那么,我发现更容易和无缝的解决方案来做这种伎俩。一旦你重写了类别布局,你应该在你的模板文件夹中放置诸如“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" 
     /> 

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

+0

你能否详细说明这个答案?我有两种不同的文章布局。我在/ html/com_content/article文件夹中有两个XML。但是,将您的代码添加到我的blog.xml(在我的类别覆盖文件夹中)。但是,“选择版式”中显示的下拉菜单仅显示默认值。 – Vik 2014-10-09 09:04:34

+0

问题在你的情况 - 是joomla componentlayout字段只找到没有对应的xml的布局,因为与相应的xml布局是joomla的菜单项 - 不是布局(嗯,我不知道为什么,但他们有这样的解释声明评论)。所以,在你的情况下,我会建议创建另一个类别XML,其中你可以有article_layout隐藏字段。这应该工作。 – Kintar 2014-10-10 09:22:16

这必须在yourblog.xml在名称=“文章”部分

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