Skip to main content
This post is no longer active and is closed to new replies. Need help? Start a new post to ask your question.
murilod74686477Accepted solution
Level 3
Aug 10, 2016 12:00 PM UTC

Replace the automatically include outer div.

I was missing cq:tagName.

My issue is solved, thank you for the help.

Just a head-ups as the documentation is broken.

14 replies

kautuk_sahni
Level 9
Aug 9, 2016 10:53 AM UTC

Hi

I have asked Documentation team to help you here.

For you help as of now:-

To change the default div tags to something else , use cq:htmlTag nodes in your components. This lets you modify the tag , classes and id associated with the decorator tag.

  • Create cq:htmlTag node [primaryType:nt:unstructured] under your component.
  • Add cq:tagName property [type:String] with the tag to be used as value.
  • Add class property [type:String] with class(es) to be added to the enclosing tag **
  • Add id property [type:String] with id to be added to the enclosing tag

// Link:- http://www.codermag.net/2016/02/remove-component-wrapper-divs-in-cqaem.html

Using the cq:htmlTag to manipulate component divs

Out of the box AEM components creates a number of wrapper div in the generated HTML code which are used by the editing system and to identify various components in the DOM.
However sometimes this may cause unnecessary problems as the HTML structure becomes different from the one you started with.
We can use cq:htmlTag to manipulate the wrapper divs.
First we need to create a nt:unstructured node under our component.
This node will contain the following:
1. class - The CSS class names that may be used for styling.
2. id - The id of the element in the rendered HTML.
3. cq:tagName - The tag that will be used to represent our component in the DOM (div, span, p, etc.)

[img]https://1.bp.blogspot.com/-7PniUsdjAiA/VtWYxtivtDI/AAAAAAAAAW4/PRoAPnkJMy0/s1600/cq_nodecoration%2Bexample%2B2%2Bcoderma… ​[/img]

this will render the component as:-

    <span id="mycomponent" class="modern-style">
    …
    </span>

I hope this would help you.

Thanks and Regards

Kautuk Sahni

Translate
Kautuk Sahni
smacdonald2008
Level 10
Aug 9, 2016 1:05 PM UTC

What are you trying to do? 

Translate
murilod74686477AuthorAccepted solution
Level 3
Aug 10, 2016 12:00 PM UTC

Replace the automatically include outer div.

I was missing cq:tagName.

My issue is solved, thank you for the help.

Just a head-ups as the documentation is broken.

Translate
smacdonald2008
Level 10
Aug 10, 2016 8:57 PM UTC

what topic is broken? Let me know and I will log a bug, 

Translate
Tuhin_Ghosh
Level 8
Aug 11, 2016 1:22 AM UTC

if your issue is solved kindly close the ticket and let Scott know about the broken topic so that it could be fixed.

Translate
krish1442
Level 2
Aug 16, 2016 10:34 AM UTC

We can use cq:htmlTag to write our custom tags and attributes to be added to the DIV as mentioned in the below page.

https://helpx.adobe.com/in/experience-manager/kb/ComponentDiv.html

But, the question is we can only add static values where I would like to add dynamic values like I want to add component content node path as a data attribute to the auto generated DIV

For example,

<div class="title"></div>

Should be

<div class="title" res="/content/geometrixx/en/jcr:content/par/title"></div>

Any references are will be helpful.

Thanks in advance.

Translate
kautuk_sahni
Level 9
Aug 17, 2016 4:34 AM UTC

We have created a documentation bug for this. Documentation team will work on this. Once done i will inform you.

~kautuk

Translate
Kautuk Sahni
Level 2
Apr 6, 2017 9:54 AM UTC

Hi All,

We have used the cq:htmlTag node to override the CQ generated div for the component.

Its working fine in author instance, but however it is not working in publish instance, we are getting the auto-generated CQ div class instead of our overridden class.

Please help me on the urgent basis.

Thanks,

Mayur Sharma

Translate
aaaa2222
Jul 26, 2017 3:30 AM UTC

hi kirsh1442,

were you able to find solution for your problem of adding dynamic values of component content node path as a data attribute to the auto generated DIV?

Translate
Level 2
Jun 14, 2018 1:47 PM UTC

Hi, I completely wanted to remove the auto generated <div> tag, so I made the cq:tagName = "".

But in author instance, when ever I save the dilog, the component gets hidden and the parsys looks broken until the page is refreshed again manually.

This is happening in 6.3.2.0.

Any help or suggestion to avoid it ?

Translate