自訂主控台

注意

本檔案說明如何在現代化、觸控式UI中自訂主控台,且不適用於傳統UI。

AEM提供多種機制,讓您可自訂製作例項的主控台(和頁面製作功能)。

  • Clientlibs
    Clientlibs可讓您擴充預設實作以實現新功能,同時重複使用標準函式、物件和方法。 自訂時,您可以在/apps.下建立自己的clientlib,例如,它可以保留自訂元件所需的程式碼。

  • 覆蓋
    覆蓋是根據節點定義,並可讓您以您自己的自訂功能(在/apps中)覆蓋標準功能(在/libs中)。 建立覆蓋時不需要原始資料的1:1副本,因為Sling資源合併允許繼承。

這些功能可用於擴充AEM主控台的許多方式。 下面(以高級別)列出了一小部分選項。

注意

如需詳細資訊,請參閱:

AEM Gems工作階段 — 針對AEM 6.0自訂使用者介面中也涵蓋此主題。

注意

您​必須​不要變更/libs路徑中的任何項目。

這是因為下次升級執行個體時會覆寫/libs的內容(而當您套用Hotfix或Feature Pack時,很可能會覆寫)。

設定和其他變更的建議方法為:

  1. /apps下重新建立所需項(即/libs中存在的項)

  2. /apps內進行任何更改

例如,/libs結構內的以下位置可重疊:

  • 主控台(任何以Granite UI頁面為基礎的主控台);例如:

    • /libs/wcm/core/content
注意

如需進一步提示和工具,請參閱知識庫文章疑難排解AEM TouchUI問題

自定義控制台的預設視圖

您可以自訂主控台的預設檢視(欄、卡片、清單):

  1. 您可以從以下位置覆蓋所需條目,以重新排序視圖:

    /libs/wcm/core/content/sites/jcr:content/views

    第一個項目將是預設項目。

    可用的節點與可用的視圖選項相關聯:

    • column
    • card
    • list
  2. 例如,在清單的覆蓋中:

    /apps/wcm/core/content/sites/jcr:content/views/list

    定義下列屬性:

    • 名稱: sling:orderBefore
    • 類型: String
    • : column

將新操作添加到工具欄

  1. 您可以建立自己的元件,並包含自訂動作的對應用戶端程式庫。 例如,提升至Twitter​動作位於:

    /apps/wcm/core/clientlibs/sites/js/twitter.js

    接著,即可將此連結至主控台上的工具列項目:

    /apps/<yourProject>/admin/ext/launches

    例如,在選擇模式中:

    content/jcr:content/body/content/header/items/selection/items/twitter

將工具欄操作限制為特定組

  1. 您可以使用自訂轉譯條件來覆蓋標準動作,並強加在轉譯前必須履行的特定條件。

    例如,建立元件以根據群組控制呈現條件:

    /apps/myapp/components/renderconditions/group

  2. 若要將這些套用至Sites主控台上的「建立網站」動作:

    /libs/wcm/core/content/sites

    建立覆蓋:

    /apps/wcm/core/content/sites

  3. 然後新增動作的呈現條件:

    jcr:content/body/content/header/items/default/items/create/items/createsite/rendercondition

    使用此節點上的屬性,可以定義允許執行特定操作的groups;例如administrators

自定義清單視圖中的列

注意

此功能已針對文字欄位欄位最佳化;對於其他資料類型,可以覆蓋/apps中的cq/gui/components/siteadmin/admin/listview/columns/analyticscolumnrenderer

要自定義清單視圖中的列:

  1. 覆蓋可用欄的清單。

    • 在節點上:

             /apps/wcm/core/content/common/availablecolumns
      
    • 新增欄或移除現有欄。

    如需詳細資訊,請參閱使用覆蓋(和Sling Resource Merger)

  2. (可選):

    • 如果要插入其他資料,需要使用🔗

      pageInfoProviderType 屬性.

    例如,請參閱下方附加的類別/套件組合(來自GitHub)。

  3. 您現在可以在清單檢視的欄設定器中選取欄。

篩選資源

使用主控台時,常見的使用案例是使用者必須從資源(例如頁面、元件、資產等)中選取。 這可以採用清單的形式,例如,作者必須從中選擇項目。

為了使清單保持在合理的大小以及與使用案例相關的大小,可以以自訂述詞的形式實施篩選器。 如需詳細資訊,請參閱本文

本頁內容