Sitecore中的所有內容都是一個項目。模板也是如此。Sitecore中的模板是一個項目,它定義了其他項目的結構和行為。Sitecore中的每個項目都是某個模板的實例。模板還可以定義它分解成的部分和字段並實現內容。每個部分代表模板下的子項,每個字段是相關部分項下的另一個子項。
模板位於/ sitecore / templates中
基本類型的模板
可以在內容編輯器/模板編輯器中定義三種基本類型的模板。
數據模板
基本模板類型。它可以包含字段,可以由編輯器使用插入頁面實例化。本文正好討論了這種類型的模板。
分支模板
模板的分支結構。它允許您定義模板的整個分支,以便通過創建分支模板的實例來顯示整個項目結構,而無需用戶逐個創建它們。
命令模板
它基本上只處理命令,這是在創建實例模板時引發的。它用於自動創建具有業務邏輯的項目。
|
標准模板 |
繼承模板可以從一個或多個其他模板繼承。由於繼承,我們可以通常為更多數據模板定義抽象模板。由於這個原因,內容項可以包含許多字段,而不必總是為每個模板單獨重新定義它們。 標准模板標准模板是Sitecore為其功能提供的基本模板。此模板不包含任何字段,但它繼承了許多其他模板,因此我們可以在項目上定義顯示名稱,布局詳細信息,發布限制和工作流程等。繼承到標准模板的所有字段都以_開頭。 標准模板位於/ sitecore / templates / System / Templates / Standard模板中 |
__Standard值
除了字段之外,模板還可以包含定義預覽的布局細節,插入選項定義用於創建初始值的分層模板,包括使用標記,例如$ name或例如圖標。但是,在創建實例模板時,並非所有這些設置都會轉移到項目上。為此,需要在模板下創建一種特殊類型的項目__Standard。它基本上處理實例模板,該模板定義字段的值,包括標准模板中的字段,這些字段未在實例模板上定義。它們對於從同一模板創建的所有項目都是通用的。因此,在內容項具有自己的某個字段的定義值之前,將使用__Standard值中的值。
您可以使用“構建器選項”選項卡上“功能區”中的“標准值”按鈕創建__Standard值。為了顯示“構建器選項”選項卡,您必須從窗口左側的分支中選擇一個模板,然后切換到窗口內容部分的“構建器”選項卡。
識別和導航
您可以通過內容項輕松點擊創建項目的模板。也可以使用“配置”選項卡上的“更改”鍵將模板更改為另一個模板。同樣,使用“導航”選項卡上功能區中的“鏈接”鍵,還可以找到使用模板的所有位置。然后,內容部分中的“繼承”選項卡向我們顯示分支結構,向我們顯示模板的所有內容,包括子繼承的字段。
無版本與共享
模板中的字段可以定義為Unversioned或Shared。正如標題中已經清楚的那樣,Unversioned字段在語言中的所有版本中具有相同的值。對於所有語言的所有版本,共享字段始終具有一個有效值。
倒退
模板中的字段可以具有已定義的回退。Fallback是一種機制,它確保從另一個版本或另一種語言(如果它是空的)插入字段的值。各個語言的后備層次結構在/ sitecore / system / Languages中定義。
有必要在單個項目字段上定義字段的詳細設置。模板上的“構建器”選項卡上只提供基本設置。
創建模板時的建議
遵循慣例。Sitecore在設計和實施名為Sitecore Helix的 Sitecore解決方案時准備了一份推薦原則的文檔。我建議你閱讀它。它可能會幫助您設計Sitecore中遇到的所有字段。與模板相關的部分使用以下分類:
- 接口模板 - 包含字段,約定以_開頭,在C#中它等同於接口。
- 頁面類型模板 - 可以具有布局,不包含字段,從一個或多個接口模板繼承,從中創建實例,在C#中它等同於實現一個或多個接口的類。
- 數據源模板 - 即使它們也是從接口模板繼承而沒有布局,它們僅用於引用項作為渲染的數據源。
- 設置模板 - 模板定義業務邏輯實現的設置,不從接口模板繼承並直接實例化。
- 文件夾模板 - 不要使用Common / Folder!為每個模塊都有自己的文件夾模板。多虧了這一點,您將能夠模塊化解決方案並在文件上使用各種插入選項,授權等。
除非絕對必要,否則請勿使用Shared或Unversioned字段。始終需要仔細考慮語言和文化背景。

