2016-03-07 65 views
1

我想使用Placement.info而不是覆蓋完整的內容模板,我需要在內容區域和標題區域中顯示一部分(Parts_Title)。我認爲在Placement.info文件中有兩個位置可以做到這一點,但看起來最後一個勝出。重複果園部分

有沒有辦法做到這一點?我使用的是烏節1.9.1.0

編輯2016年3月16日以下亞歷山大的回答是:

有一些我應該做的錯誤;我有一個名爲OffreEmploi的儀表板(無代碼)設計的內容類型。我使用Content-OffreEmploi.cshtml作爲備用。下面是代碼:

@using Orchard.ContentManagement.Utilities; 
@Display(Model.Header); 
@Display(Model.Content); 
@Display(Model.LocalZoneName); 

,這裏是我的placement.info

<Match ContentType="OffreEmploi">  
    <Place Fields_DateTime-DateDebut="Header:2"/> 
    <Place Fields_Common_Text-Duree="Header:3"/> 
    <Place Fields_Common_Text-Localisation="Header:4"/> 
    <Place Fields_Boolean-Temporaire="Header:5"/> 
    <Place Fields_DateTime-DateExpiration="Header:6"/> 
    <Place Parts_Common_Metadata="-"/>  
    <Place Fields_Common_Text-TexteIntroduction="Content:1"/>   
    <Place Parts_Title="Header:1" /> 
    <Place Parts_Common_Body="Content:3" /> 
    <Place Parts_Title="LocalZoneName:1" /> 
    </Match> 

部分Parts_Title在最終只呈現(在LocalZoneName)

回答

1

Placement.info允許你指定一個的地方,把你的一部分這就是你看到的行爲背後的原因 - 最後一項勝利(LocalZoneName:1)。這就是你的部分內容現在所在的地方 - LocalZoneName

什麼亞歷山大實際上是暗示,什麼是通常的解決這個(不尋常)的方案是使用一個單獨的,獨特的區把你的一部分,並呈現該區域多次,即:

@using Orchard.ContentManagement.Utilities; 
@Display(Model.LocalZoneName); 
@Display(Model.Header); 

@Display(Model.LocalZoneName); 
@Display(Model.Content); 

這會讓你的LocalZoneName(現在containes標題部分)被渲染兩次 - 在HeaderContent區之前。

2

你不能做到這一點只使用placement.info。兩次顯示內容部分的最佳方式是對該內容部分使用特殊的本地區域:

  1. 爲內容創建備用。在它交替顯示區域兩次使用@Display(Model.LocalZoneName)
  2. 使用,在placement.info局部區域來呈現你的一部分裏面Parts_Title="LocalZoneName:1"