2013-02-25 106 views
1

我想根據其類別的自定義佈局使用文章的自定義佈局。Joomla 2.5 - 根據類別佈局的文章佈局

  • 體育類佈局 - 體育文章佈局
  • 科學類佈局 - 科學類佈局

謝謝你的任何答覆。

更新:
我有一個關於如何處理這個問題的想法,下面的答案給我一些提示。我需要能夠在文章項目頁面上獲得類別佈局。我知道這很棘手,但Joomla擁有所有的功能,所以現在最好的做法是什麼?

回答

0

首先,你需要做一個模板覆蓋。這很容易。向您展示如何做到這一點的文檔可以在這裏看到:

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

0

實現此目的的最佳方法是使用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

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" 
     /> 

或只是隱藏字段,你想要的佈局。它會起作用。

+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

0

這必須在yourblog.xml在名稱=「文章」部分

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