Expand my Community achievements bar.

SOLVED

How to Integrate one script to all pages of metadata

Avatar

Level 2

 

There will be one script that we need to add on all the pages in metadata

So can you please help me  where we need to add this script so that it will start loading on all the templates
 
 
 
 
 
Thanks in advance
1 Accepted Solution

Avatar

Correct answer by
Community Advisor

Hi @Mounikasri 

If you are trying to include some metadata HTL script across all the pages for any website, please overlay your page template (head.html) file where all the matadata for a page are defined.

Now you can create another HTL file with the required HTL script and include the file in the path at the desired location, preferrably after the metatags.


<meta charset="UTF-8">
<title>${page.title}${page.brandSlug ? ' | ' : ''}${page.brandSlug}</title>
<meta data-sly-test.keywords="${page.keywords}" name="keywords" content="${keywords}"/>
<meta data-sly-test.description="${properties['jcr:description']}" name="description" content="${description}"/>
<meta data-sly-test.templateName="${page.templateName}" name="template" content="${templateName}"/>
<meta name="viewport" content="width=device-width, initial-scale=1">

<-- Your file/custom meta script should go here -->


This will ensure all the pages that are created using this template which uses this page component will have the script loaded.

 

Please refer the core component head.html file below:
https://github.com/adobe/aem-core-wcm-components/blob/master/content/src/content/jcr_root/apps/core/...

 

Hope this helps!

Thanks!

View solution in original post

4 Replies

Avatar

Community Advisor

@Mounikasri - You can add it in the Base Page template or the template by using which you have created the pages. (In their HTML /JSP files).


Thanks,
Nikhil Kumar

Avatar

Employee
Sorry - what pages do you mean exactly? Also, do you mean JavaScript or HTL/JSP scripts?

Avatar

Community Advisor

@Mounikasri 

 

If you are using a static template, then create a base template. All templates should inherit this base template so this way you will have one location which will be common for all templates.

 

Now, after di=oing above, if you want to add a new script, you can do it in the base template and inheritance will help you to add it on all pages.

Avatar

Correct answer by
Community Advisor

Hi @Mounikasri 

If you are trying to include some metadata HTL script across all the pages for any website, please overlay your page template (head.html) file where all the matadata for a page are defined.

Now you can create another HTL file with the required HTL script and include the file in the path at the desired location, preferrably after the metatags.


<meta charset="UTF-8">
<title>${page.title}${page.brandSlug ? ' | ' : ''}${page.brandSlug}</title>
<meta data-sly-test.keywords="${page.keywords}" name="keywords" content="${keywords}"/>
<meta data-sly-test.description="${properties['jcr:description']}" name="description" content="${description}"/>
<meta data-sly-test.templateName="${page.templateName}" name="template" content="${templateName}"/>
<meta name="viewport" content="width=device-width, initial-scale=1">

<-- Your file/custom meta script should go here -->


This will ensure all the pages that are created using this template which uses this page component will have the script loaded.

 

Please refer the core component head.html file below:
https://github.com/adobe/aem-core-wcm-components/blob/master/content/src/content/jcr_root/apps/core/...

 

Hope this helps!

Thanks!