Причина, по которой вы не видите остальные вкладки компонента базовой страницы, заключается в том, что вы являетесь overlaying
корневым items
узлом всех вкладок. При наложении вы переопределяете функциональность компонента libs
и отдаете приоритет наложенному компоненту. Если вы хотите иметь и остальные вкладки, вам придется скопировать их все в наложенный компонент, что настоятельно не рекомендуется , потому что вы потеряете при обновлении компонента, когда Вы обновляете AEM или устанавливаете пакеты обновлений.
Я бы порекомендовал extending
компонент вместо этого, установив значение от sling:resourceType
до foundation/components/page
в компоненте базовой страницы вашего сайта. Таким образом, вы добавляете только эту дополнительную настраиваемую вкладку и наследуете остальные из libs
. По всей вероятности (если следовать рекомендациям aem), на вашем сайте уже будет компонент базовой страницы с этим свойством, а остальные шаблоны будут наследоваться от этого компонента. Добавьте ниже _cq_dialog
к этому компоненту страницы, и вы должны увидеть новую вкладку на всех страницах.
.content.xml
вашего базового компонента страницы. Один из основных шаблонов /apps/<<prj>>/templates
будет иметь sling:resourceType
ссылку на этот компонент страницы.
<?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"
jcr:primaryType="cq:Component"
jcr:title="Base Page Component"
sling:resourceSuperType="foundation/components/page"
componentGroup=".hidden"/>
_cq_dialog - повторное использование вашего кода, за исключением нового реквизита - sling:orderBefore="cloudservices"
, чтобы заказать новую вкладку
<?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">
<content jcr:primaryType="nt:unstructured">
<items jcr:primaryType="nt:unstructured">
<tabs jcr:primaryType="nt:unstructured">
<items jcr:primaryType="nt:unstructured">
<custom
jcr:primaryType="nt:unstructured"
jcr:title="Custom"
sling:orderBefore="cloudservices"
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">
<customsection
jcr:primaryType="nt:unstructured"
jcr:title="Custom field"
sling:resourceType="granite/ui/components/foundation/form/fieldset">
<items jcr:primaryType="nt:unstructured">
<customfield
jcr:primaryType="nt:unstructured"
sling:resourceType="granite/ui/components/foundation/form/textfield"
fieldLabel="custom field"
name="customField"/>
</items>
</customsection>
</items>
</column>
</items>
</custom>
</items>
</tabs>
</items>
</content>
</jcr:root>
Скриншот
Подробнее об иерархии компонентов и наследовании здесь