支架

有時候,您可能需要建立一組大型頁面,這些頁面共用相同的結構但內容不同。 透過標準AEM介面,您需要建立每個頁面、將適當的元件拖曳至頁面上,並個別填入每個頁面。

透過支架,您可以建立表單(支架),其欄位可反映您想要的頁面結構,然後使用此表單根據此結構輕鬆建立頁面。

注意

架構(在傳統UI中)遵循MSM繼承

支架如何運作

支架儲存在站點管理員的​Tools​控制台中。

  • 開啟​工具​主控台,然後按一下​預設頁面支架
  • 在此底下,按一下​geometrixx
  • 在​geometrixx​下,您會找到名為​News​的​架構頁面。 按兩下以開啟此頁面。

howscaffold_work

架構由表單組成,其中包含將組成要建立的頁面的每個內容片段的欄位,以及四個重要參數,可透過架構頁面的​頁面屬性​存取。

pageprops

支架頁面屬性包括:

  • 標題文字:這是這個腳手架頁面本身的名稱。在此範例中,它稱為「News」。
  • 說明:這會顯示在支架頁面的標題下方。
  • 目標範本:這是此架構建立新頁面時將使用的範本。在此範例中,此範本為​Geometrixx內容頁面​範本。
  • 目標路徑:這是上層頁面的路徑,此架構會在其下建立新頁面。在此範例中,路徑為​/content/geometrixx/en/news

腳手架的身體是形狀。 當使用者想使用架構來建立頁面時,他會填寫表單,然後按一下底部的​Create。 在表單上方的​News​範例中,有下列欄位:

  • 標題:這是要建立的頁面的名稱。此欄位一律存在於每個架構上。
  • 文字:此欄位對應至產生頁面上的文字元件。
  • 影像:此欄位對應至產生頁面上的影像元件。
  • 影像/進階: 標題:影像的標題。
  • 影像/進階: 替代文字:影像的替代文字。
  • 影像/進階: 說明:影像的說明。
  • 影像/進階: 大小:影像的大小。
  • 標籤/關鍵字:要指派給此頁面的中繼資料。此欄位一律存在於每個架構上。

建立架構

若要建立新架構,請前往​Tools​主控台,然後前往​Default Page Stawer​並建立新頁面。 將提供單頁模板類型,即​支架模板。

前往新頁面的​頁面屬性,並設定​標題文字說明目標範本​和​目標路徑,如上所述。

接下來,您必須定義此架構將建立的頁面結構。 若要這麼做,請進入架構頁面上的​設計模式。 將顯示一個連結,允許您在​對話框編輯器​中編輯架構。

cq5_dialog_editor

使用對話框編輯器,可指定每次使用此架構建立新頁時將建立的屬性。

架構的對話框定義與元件的對話框定義類似(請參閱元件)。 但有幾項重要差異適用:

  • 元件對話框定義呈現為普通對話框(例如顯示在對話框編輯器的中間窗格中),架構對話框定義(儘管在對話框編輯器中顯示為普通對話框)在架構頁面上呈現為架構表單(如上面​News​架構中所示)。
  • 元件對話方塊僅提供定義單一特定元件內容所需之值的欄位。 架構對話方塊必須提供要建立之頁面每個段落中每個屬性的欄位。
  • 在元件對話框中,用於呈現指定內容的元件是隱式的,因此,在建立段落時,段落的sling:resourceType屬性會自動填充。 使用框架時,必須由對話框本身提供定義給定段落的內容和指定元件的所有資訊。 在架構對話方塊中,必須使用​Hidden​欄位來提供此資訊,才能在建立頁面時提交此資訊。

查看對話方塊編輯器中的範例​News​架構對話方塊,有助於說明其運作方式。 進入架構頁面上的設計模式,然後按一下對話方塊編輯器連結。

現在,按一下對話欄位​對話>標籤面板>文字>文字,如下所示:

textedit

此欄位的屬性清單將顯示在對話方塊編輯器的右側,如下所示:

list_of_properties

請注意此欄位的名稱屬性。 它有值

./jcr:content/par/text/text

這是屬性的名稱,當使用架構建立頁面時,此欄位的內容將寫入此屬性的名稱。 屬性會以代表要建立之頁面之節點的相對路徑來表示。 它會指定位於節點文本下方的屬性文本,該文本位於節點部分下方,節點部分本身是頁面節點下的jcr:content節點的子節點。

這定義將輸入到此欄位的文字的內容儲存位置。 不過,我們還需要為此內容指定另外兩個特性:

  • 此處儲存的字串必須解譯為​rtf,以及
  • 應使用哪個元件將此內容呈現至產生的頁面。

請注意,在正常元件對話框中,您不必指定此資訊,因為該資訊隱含在該對話框已綁定到特定元件的事實中。

要指定使用隱藏欄位的這兩個資訊。 按一下第一個隱藏欄位​對話>標籤面板>文字>隱藏,如下所示:

隱藏

此隱藏欄位的屬性如下:

hidden_list_props

此隱藏欄位的名稱屬性為

./jcr:content/par/text/textIsRich

這是用於解譯儲存在./jcr:content/par/text/text的文本字串的布爾屬性。

因為我們知道應將文字解譯為RTF,因此我們指定此欄位的value屬性為true

注意

對話框編輯器允許用戶更改對話框定義中​existing​屬性的值。 若要新增屬性,使用者必須使用CRXDE Lite。 例如,使用對話框編輯器將新隱藏欄位添加到對話框定義時,它沒有​value​屬性(即名稱為"value"的屬性)。 如果相關的隱藏欄位需要設定預設的​value​屬性,則必須使用其中一個CRX工具手動新增此屬性。 無法將值與對話方塊編輯器本身一起新增。 不過,一旦屬性存在,就可以使用對話方塊編輯器編輯其值。

按一下第二個隱藏欄位即可看到,如下所示:

hidden2

此隱藏欄位的屬性如下:

hidden_list_props2

此隱藏欄位的名稱屬性為

./jcr:content/par/text/sling:resourceType

而為此屬性指定的固定值為

foundation/components/textimage

這指定用於呈現此段的文本內容的元件是​文本影像​元件。 搭配在其他隱藏欄位中指定的isRichText布林值,元件可以使用所需的方式呈現儲存在./jcr:content/par/text/text的實際文字字串。

具有MSM繼承的支架

在傳統UI中,架構會與MSM繼承(若適用)完全整合。

當您在​Stabler​模式中開啟頁面時(使用sidekick底部的圖示),接受繼承的任何元件都會以:

  • 鎖定符號(對於大多數元件;例如文字和標題)
  • 帶有文本​的蒙版,按一下以取消繼承(對於影像元件)

這顯示在取消繼承前,無法編輯元件。

chlimage_1

注意

按一下鎖定符號或影像圖示可讓您中斷繼承:

  • 符號將更改為開啟的掛鎖。
  • 解除鎖定後,您就可以編輯內容。

chlimage_1-1

解鎖後,按一下解鎖的掛鎖符號可以恢復繼承 — 這將丟失您所做的任何編輯。

注意

如果在頁面層級取消繼承(來自「頁面屬性」的「Livecopy」索引標籤),則所有元件都將可在​Structure​模式中編輯(它們將顯示為未鎖定狀態)。

本頁內容