與使用granite/ui/components/foundation/include
和path
屬性一樣,您可以在Classic中重複使用選項卡。
在下面的例子中,我們有一個標題組件,其中包含一個普通的文本小部件,並引入一個可重用的組件設置標籤。我已將共享標籤放在/apps/mysite/dialogs/granite/tabs
下,但這不是必需的,您可以簡單地更新path
屬性。
這是在/apps/mysite/components/heading/_cq_dialog.xml
組件對話框:
<?xml version="1.0" encoding="UTF-8"?>
<jcr:root xmlns:sling="http://sling.apache.org/jcr/sling/1.0" xmlns:cq="http://www.day.com/jcr/cq/1.0" xmlns:jcr="http://www.jcp.org/jcr/1.0" xmlns:nt="http://www.jcp.org/jcr/nt/1.0"
jcr:primaryType="nt:unstructured"
jcr:title="Heading"
sling:resourceType="cq/gui/components/authoring/dialog"
helpPath="en/cq/current/wcm/default_components.html#Carousel">
<content
jcr:primaryType="nt:unstructured"
sling:resourceType="granite/ui/components/foundation/container">
<layout
jcr:primaryType="nt:unstructured"
sling:resourceType="granite/ui/components/foundation/layouts/tabs"
type="nav"/>
<items jcr:primaryType="nt:unstructured">
<generalSettings
jcr:primaryType="nt:unstructured"
jcr:title="General Settings"
sling:resourceType="granite/ui/components/foundation/section">
<layout
jcr:primaryType="nt:unstructured"
sling:resourceType="granite/ui/components/foundation/layouts/fixedcolumns"/>
<items jcr:primaryType="nt:unstructured">
<column
jcr:primaryType="nt:unstructured"
sling:resourceType="granite/ui/components/foundation/container">
<items jcr:primaryType="nt:unstructured">
<headingText
jcr:primaryType="nt:unstructured"
sling:resourceType="granite/ui/components/foundation/form/textfield"
fieldLabel="Text"
name="./text"/>
</items>
</column>
</items>
</generalSettings>
<componentSettings
jcr:title="Component Settings"
jcr:primaryType="nt:unstructured"
sling:resourceType="granite/ui/components/foundation/include"
path="mysite/dialogs/granite/tabs/componentSettings"/>
</items>
</content>
</jcr:root>
可重複使用的組件設置選項卡住在/apps/mysite/dialogs/granite/tabs/componentSettings.xml
:
<?xml version="1.0" encoding="UTF-8"?>
<jcr:root xmlns:sling="http://sling.apache.org/jcr/sling/1.0" xmlns:jcr="http://www.jcp.org/jcr/1.0" xmlns:nt="http://www.jcp.org/jcr/nt/1.0"
jcr:primaryType="nt:unstructured"
jcr:title="Settings"
sling:resourceType="granite/ui/components/foundation/section">
<layout
jcr:primaryType="nt:unstructured"
sling:resourceType="granite/ui/components/foundation/layouts/fixedcolumns"
margin="{Boolean}false"/>
<items jcr:primaryType="nt:unstructured">
<column
jcr:primaryType="nt:unstructured"
sling:resourceType="granite/ui/components/foundation/container">
<items jcr:primaryType="nt:unstructured">
<componentId
jcr:primaryType="nt:unstructured"
sling:resourceType="granite/ui/components/foundation/form/textfield"
fieldLabel="Component Id"
name="./componentId"/>
</items>
</column>
</items>
</jcr:root>