Expand my Community achievements bar.

Don’t miss the AEM Skill Exchange in SF on Nov 14—hear from industry leaders, learn best practices, and enhance your AEM strategy with practical tips.

Add Tab to Touch UI Page Properties

Avatar

Level 2

I am trying to get adding new tabs and removing tabs/items in Page Properties working.

So far I have read through this similar question: http://help-forums.adobe.com/content/adobeforums/en/experience-manager-forum/adobe-experience-manage...
Which lead me to these Adobe links and the github example:
https://docs.adobe.com/docs/en/aem/6-1/author/page-authoring/managing-pages.html#Creating%20a%20New%...
https://docs.adobe.com/docs/en/aem/6-1/develop/extending/customizing-page-properties/page-properties...
https://github.com/Adobe-Marketing-Cloud/aem-authoring-extension-page-dialog/blob/master/src/main/co...

I have copied the github example of a .context.xml for the page's Page Properties and it is not hiding anything. I also replaced cq:showOnCreate="{Boolean}false" with cq:hideOnEdit="{Boolean}true" like the previous adobe help forum suggested and this does not work either.

How do I hide and show items?

Also, in the past with Classic UI we were able to do something like this to include more tabs:

<sample jcr:primaryType="cq:Widget" path="/apps/company/components/Pages/basePage/sample_tab.infinity.json" xtype="cqinclude"/>

How do I add new tabs in Touch UI with something similar to infinity.json? Granite include?

3 Replies

Avatar

Level 10

You are correct - there is a lack of documentation on this use case. I will check with Adobe people on this use case.

I want to see if anyone has written about it or sample on this.  

Avatar

Level 6

Not sure if you get it working.

I try to add a region tab in the page properties, here is the code:

<?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">
                    <basic jcr:primaryType="nt:unstructured">
                        <items jcr:primaryType="nt:unstructured">
                            <column jcr:primaryType="nt:unstructured">
                                <items jcr:primaryType="nt:unstructured">
                                    <title jcr:primaryType="nt:unstructured">
                                        <items jcr:primaryType="nt:unstructured">
                                            <title
                                                jcr:primaryType="nt:unstructured"
                                                sling:orderBefore="pagename"
                                                fieldLabel="Title (in first position!)"
                                                allowBulkEdit="true"/>
                                        </items>
                                    </title>
                                    <moretitles
                                        cq:showOnCreate="{Boolean}false"
                                        jcr:primaryType="nt:unstructured"/>
                                </items>
                            </column>
                        </items>
                    </basic>
                    <advanced
                        cq:showOnCreate="{Boolean}false"
                        jcr:primaryType="nt:unstructured"/>
                    <advanced
                        jcr:primaryType="nt:unstructured"
                        sling:resourceType="granite/ui/components/foundation/include"
                        path="foundation/components/page/cq:dialog/content/items/tabs/items/advanced"/>
                    <region
                        cq:showOnCreate="{Boolean}true"
                        sling:orderBefore="advanced"
                        jcr:primaryType="nt:unstructured"
                        jcr:title="Region"
                        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">
                                    <regionname
                                        cq:hideOnEdit="{Boolean}false"
                                        cq:showOnCreate="{Boolean}true"
                                        jcr:primaryType="nt:unstructured"
                                        sling:resourceType="granite/ui/components/foundation/form/textfield"
                                        fieldLabel="Name"
                                        name="regionName"
                                        validation="foundation.jcr.name"/>
                                </items>
                            </column>
                        </items>
                    </region>
                </items>
            </tabs>
        </items>
    </content>
</jcr:root>

Avatar

Community Advisor

Hi,

In Order to get the similar functionality like xtype:cqinclude , there is resourceType  "granite/ui/components/foundation/include" in Touch UI.

You can use it like this : 

  1. <sample
  2. jcr:primaryType="nt:unstructured"
  3. path="/apps/company/components/Pages/basePage/sample_tab"
  4. sling:resourceType="granite/ui/components/foundation/include"/>