2013-03-03 55 views
2

我使用Umbraco 4.7開發網站。在「聯繫方式」,「最新消息」,「最新產品」等網頁中有一些常見元素。例如,一個頁面可以有聯繫人詳細信息,而其他消息可能有新聞。我想創建一些宏(HTML或Razor),並希望在所需的頁面上添加這些宏。但我也希望這些內容能夠被內容編輯器編輯。我應該如何創建這樣的可編輯宏?如何在Umbraco中創建可編輯宏

回答

3

我會假設你熟悉剃刀並創建宏。如果不是,則有a reasonable article here

有幾種方法可以做到這一點,但每種方法都取決於您希望顯示的內容類型。例如,只需在代碼中指定「最新新聞」宏,即可在剃刀中指定按日期降序排列的前3條新聞文章。同樣,如果聯繫詳細信息數據已經存在於另一個頁面上(例如關於我們或聯繫我們),那麼您可以使用Razor來定位頁面並提取您希望顯示在宏中的字段值。

但是,只要您想要對您的宏中顯示的項目有一定的控制權,您就需要創建一些額外的控制方法。對於您的產品,您可能需要選擇在宏中顯示哪些內容,並因此在整個網站上顯示。因此,您可以:

  • 爲每個產品添加一個「是/否」字段(例如,稱爲「在側欄中顯示」),然後可以使用該宏來過濾產品顯示;或
  • 創建一個名爲'Side bar產品'的新文檔類型,其中包含一個uComponents多節點選擇器,可讓您選擇產品。然後,您可以從此文檔類型創建一個節點,並在您的宏中使用Razor查詢此節點中的產品。 (你會明顯必須確保這個節點沒有在網站的導航顯示!)

這第二個選項是目前較好的選擇,因爲它更容易維護,提供了一個小的可擴展性,並允許您有可能擁有多個「側欄產品」節點,因此您可以在網站的不同部分擁有不同的產品組。第一個選項當然更容易實現,但由於必須記住哪個產品被打勾,可能難以維護。