內容片段模型

內容片段模型定義內容片段的內容結構。

若要使用內容片段模型,請:

  1. 為您的例項啟用內容片段模型功能
  2. 建立,並設 定內容片段模型
  3. 啟用您的內容片段 模型,以便在建立內容片段時使用
  4. 透過設定原則,允許您在所需資產資料夾上 的內容片段 模型

建立內容片段模型

  1. 導覽至​工具資產,然後開啟​內容片段模型

  2. 導覽至適合您configuration的資料夾。

  3. 使用​Create​開啟嚮導。

    注意

    如果未啟用內容片段模型的使用,則​Create​選項將不可用。

  4. 指定「模 型標題」。您也可以新增​TagsDescription,並視需要選擇​Enable model​至enable the model

    標題和說明

  5. 使用​Create​來儲存空的模型。 一條消息將指示操作成功,您可以選擇​Open​立即編輯模型,或選擇​Done​返回控制台。

定義內容片段模型

所述內容片段模型使用選擇​資料類型​有效地定義所生成的內容片段的結構。 使用模型編輯器,您可以新增資料類型的例項,然後設定它們以建立必要欄位:

注意

編輯現有的內容片段模型可能會影響相依片段。

  1. 導覽至​工具資產,然後開啟​內容片段模型

  2. 導覽至包含內容片段模型的檔案夾。

  3. 開啟​Edit​所需的型號;使用快速動作,或從工具列中選取模型和動作。

    開啟模型編輯器後,會顯示:

    • 左:欄位已定義
    • 右:資 料類型 ,可用於建立欄位( 和屬性 ,以供建立欄位後使用)
    注意

    當欄位為「必 」時,左側窗格中指出的「標籤 」將會標示為字元( *)。

    屬性

  4. 要添加欄位

    • 將必要的資料類型拖曳至欄位的必要位置:

      資料類型至欄位

    • 將欄位添加到模型後,右側面板將顯示可為該特定資料類型定義的​屬性。 您可以在這裡定義該欄位的必要項目。

      • 許多屬性都不言而喻,如需詳細資訊,請參閱Properties
      • 鍵入​欄位標籤​將自動完成​屬性名稱 —— 如果為空,然後可以手動更新。

      例如:

      欄位屬性

  5. 刪除欄位

    選取必要欄位,然後按一下/點選垃圾桶圖示。 系統會要求您確認動作。

    移除

  6. 新增所有必填欄位,並視需要定義相關屬性。 例如:

    儲存

  7. 選擇​保存​以保存定義。

資料類型

可以選擇資料類型來定義模型:

  • 單行文字
    • 在一行文字中新增一或多個欄位;最大長度可以定義
  • 多行文字
    • 文字區域可以是Rich Text、Plain Text或Markdown
  • 數量
    • 添加一個或多個數字欄位
  • 布林值 (Boolean)
    • 新增布林核取方塊
  • 日期時間
    • 新增日期和/或時間
  • 列舉
    • 新增一組核取方塊、選項按鈕或下拉式欄位
  • 標記
    • 允許片段作者存取和選取標籤區域
  • 內容參考資料
  • 片段引用
    • 參考其他內容片段;可用於建立巢狀內容
    • 可以配置資料類型以允許片段作者:
      • 直接編輯參考的片段。
      • 根據適當的模型建立新的內容片段
  • JSON 物件
    • 允許內容片段作者在片段的對應元素中輸入JSON語法。
      • 若要允許AEM儲存您已從其他服務複製/貼上的直接JSON。
      • JSON將會傳遞,並在GraphQL中輸出為JSON。
      • 在內容片段編輯器中包含JSON語法反白顯示、自動完成和錯誤反白顯示。

屬性

許多屬性都不言自明,對於某些屬性,其他詳細資訊如下:

  • 演算
    方式用於實現/演算片段中欄位的各種選項。這通常可讓您定義作者將看到欄位的單一執行個體,或允許建立多個執行個體。

  • 欄位
    標籤輸入
    欄位 標籤會自動產 生屬性名稱,然後視需要手動更新。

  • ValidationBasic
    驗證可由Required屬性等機 ​制使用。有些資料類型有附加驗證欄位。 如需詳細資訊,請參閱Validation

  • 對於「多行」 資料類型 ,可將「預設類型 ​」定義為:

    • RTF
    • Markdown
    • 純文字

    如果未指定,則此欄位將使用預設值​Rich Text

    在內容 片段模型中變更「預設類型 」,只會在編輯器中開啟並儲存該片段後,對現有、相關的內容片段生效。

  • UniqueContent(適用於特定欄位)在從目前模型建立的所有內容片段中必須是唯一的。

    這可確保內容作者無法重複已新增至相同模型其他片段的內容。

    例如,在「內容片段模型」中名為「Country」的「單行文字​」欄位,在兩個相依的內容片段中不能有值「Japan」。​當嘗試第二個例項時,會發出警告。

    注意

    確保每個語言根的獨特性。

    注意

    變數的值可以與相同片段的變數相同​唯一,但與其他片段的變數不同。


  • 翻譯在CF模型編輯器中選中欄位上的「可翻譯」複選框

    • 確保欄位的屬性名稱已添加到翻譯配置/content/dam/<tenant>中(如果尚未出現)。
    • 對於GraphQL:將「內容片段」欄位上的<translatable>屬性設為yes,以允許GraphQL查詢篩選器只針對可轉譯內容進行JSON輸出。
  • 有關該特定資料類型及其屬性的詳細資訊,請參閱​片段參考(嵌套片段)

驗證

現在,各種資料類型都可能定義驗證需求,以便在產生的片段中輸入內容:

  • 單行文字
    • 比較預先定義的規則運算式。
  • 數量
    • 檢查特定值。
  • 內容參考資料
    • 測試特定類型的內容。
    • 只能參考指定檔案大小或較小的資產。
    • 只能參考預先定義的寬度和/或高度範圍(以像素為單位)內的影像。
  • 片段引用
    • 測試特定內容片段模型。

使用參照來建立巢狀內容

「內容片段」可使用下列任一種資料類型,來建立巢狀內容:

  • 內容參考資料

    • 提供其他內容的簡單參考;任何類型。
    • 可針對一或多個參照(在產生的片段中)進行設定。
  • 片段參考 (巢狀片段)

    • 參照其他片段,取決於指定的特定模型。

    • 允許您包括/檢索結構化資料。

      注意

      此方法與使用內容片段搭配GraphQL的無頭內容傳送特別有趣。

    • 可針對一個或多個引用(在產生的片段中)進行配置。

注意

AEM提供下列項目的定期保護:

  • 內容參考
    這可防止用戶向當前片段添加引用。 這可能會導致空白的「片段參考」選擇器對話框。
  • GraphQL中的片段參考
    如果您建立可傳回彼此參照之多個內容片段的深層查詢,則它會在首次出現時傳回null。

內容參考資料

「內容參考」可讓您從其他來源轉換內容;例如,影像或內容片段。

除了標準屬性外,您還可以指定:

  • 任何參考內容的​根路徑
  • 可參考的內容類型。
  • 檔案大小的限制。
  • 影像限制。 內容參考資料

片段參考(巢狀片段)

「片段參考」會參照一或多個內容片段。 擷取內容以用於應用程式時,這項功能尤其受關注,因為它可讓您擷取含有多個圖層的結構化資料。

例如:

  • 為員工定義詳細資訊的模型;這些包括:
    • 對定義雇主(公司)的模式的參考
type EmployeeModel {
    name: String
    firstName: String
    company: CompanyModel
}

type CompanyModel {
    name: String
    street: String
    city: String
}
注意

這與使用內容片段搭配GraphQL進行無頭內容傳送特別有趣。

除了標準屬性外,您還可以定義:

  • 呈現為:

    • multifield —— 片段作者可以建立多個個別的參考

    • fragmentreference —— 允許片段作者選擇片段的單一參考

  • 模型類
    型可選取多個模型。編寫「內容片段」時,必須已使用這些模型建立任何參考片段。

  • 根路
    徑這可指定所引用任何片段的根路徑。

  • 允許建立片段

    這可讓片段作者根據適當的模型建立新片段。

    • fragmenterferenccompresition -允許片段作者選取多個片段來建立合成

    片段引用

注意

已建立週期保護機制。 它禁止使用者在片段參考中選取目前的內容片段。 這可能會導致空白的「片段參考」選擇器對話框。
GraphQL中還對片段引用提供定期保護。 如果您在兩個相互參照的內容片段間建立深度查詢,則會傳回null。

啟用或停用內容片段模型

若要完全控制內容片段模型的使用,他們可以設定狀態。

啟用內容片段模型

建立模型後,必須加以啟用,以便:

  • 可供在建立新的內容片段時選取。
  • 可從內容片段模型中參考。
  • 適用於GraphQL;因此,將生成模式。

若要啟用標幟為下列任一項的模型:

  • 草稿 :mew(從未啟用)。
  • 停用 :已特別禁用。

您可以使用​Enable​選項,其中一個選項為:

  • 當選取了所需的「模型」(Model)時,頂部工具欄。
  • 相應的快速操作(將滑鼠移到所需的模型上)。

啟用繪製或禁用的模型

禁用內容片段模型

也可以禁用模型,以便:

  • 此模型不再做為建立​new​內容片段的基礎。
  • 但是:
    • GraphQL架構會持續產生且仍可查詢(以避免影響JSON API)。
    • 任何基於模型的內容片段仍可從GraphQL端點查詢和返回。
  • 模型不能再被引用,但現有參照保持不變,仍可查詢並從GraphQL端點返回。

要禁用標籤為​Enabled​的模型,請使用​Disable​選項,其中一個選項為:

  • 當選取了所需的「模型」(Model)時,頂部工具欄。
  • 相應的快速操作(將滑鼠移到所需的模型上)。

禁用啟用的模型

允許資產資料夾上的內容片段模型

若要實作內容控管,您可以在「資產」檔案夾上設定​Policies,以控制在該檔案夾中允許建立「片段」的「內容片段模型」。

注意

此機制類似於在頁面的進階屬性中允許頁面範本](/docs/experience-manager-cloud-service/sites-cloud/authoring/features/templates.html?lang=zh-Hant#allowing-a-template-author)及其子項的[。

要為​允許的內容片段模型​配置​策略:

  1. 導覽並開啟所需Assets資料夾的​Properties

  2. 開啟​Policies​頁籤,您可以在其中配置:

    • 繼承自<folder>

      建立新子資料夾時,策略會自動繼承;如果子資料夾需要允許與父資料夾不同的模型,則可以重新配置策略(並中斷繼承)。

    • 允許的內容片段模型 (依路徑)

      允許使用多種型號。

    • 允許的內容片段模型(依標籤)

      允許使用多種型號。
      內容片段模型原則

  3. 存任何更改。

資料夾允許的內容片段模型解析如下:

  • ​允許的內容片段模型​的Policys
  • 如果為空,請嘗試使用繼承規則確定策略。
  • 如果繼承鏈未傳遞結果,則查看該資料夾的​雲服務​配置(也首先直接,然後通過繼承)。
  • 如果上述項目均未提供任何結果,則該資料夾不允許使用模型。

刪除內容片段模型

注意

刪除內容片段模型可能會影響相依片段。

要刪除內容片段模型:

  1. 導覽至​工具資產,然後開啟​內容片段模型

  2. 導覽至包含內容片段模型的檔案夾。

  3. 從工具欄中選擇型號,然後選擇​Delete

    注意

    如果模型被參照,則會發出警告。 採取適當行動。

發佈內容片段模型

內容片段模型必須在發佈任何相依內容片段時/之前發佈。

若要發佈內容片段模型:

  1. 導覽至​工具資產,然後開啟​內容片段模型

  2. 導覽至包含內容片段模型的檔案夾。

  3. 從工具列中選擇您的型號,然後按​Publish
    發佈狀態將在控制台中指示。

    注意

    如果您發佈模型尚未發佈的內容片段,則選擇清單會指出此點,而模型將會隨片段一起發佈。

取消發佈內容片段模型

如果內容片段模型未被任何片段參照,則可以解除發佈這些模型。

若要解除發佈內容片段模型:

  1. 導覽至​工具資產,然後開啟​內容片段模型

  2. 導覽至包含內容片段模型的檔案夾。

  3. 從工具列中選取您的模型,然後按​Unpublish
    發佈狀態將在控制台中指示。

本頁內容