Your achievements

Level 1

0% to

Level 2

Tip /
Sign in

Sign in to Community

to gain points, level up, and earn exciting badges like the new
BedrockMission!

Learn more

View all

Sign in to view all badges

SOLVED

Custom CSS - Editable Templates

sai_santhosht50
Level 2
Level 2

Hi All,

 

I have created an editable template in my project. If i open the template structure there is no such css file is loading. And in our project all the components css will be merged in a single file which we will be placed in etc/designs/clientlibs/projectname/sample.css.

 

I want this sample.css file to be loaded when i hit the template structure so that the structure looks good.

 

Is it possible to call the existing css. If yes, can you please help me with the steps.

 

Thanks in advance.

1 Accepted Solution
KiranVedantam1992
Correct answer by
Community Advisor
Community Advisor

Hi @sai_santhosht50,

 

Go to  Tools -> Templates; Select your required template --> Click on edit --> Go to page policy --> Properties --> Clientlibs, add your client library category so that you can see the css/js loading.

 

KiranVedantam1992_0-1612793770874.png

 

Hope this helps.

 

Thanks,

Kiran Vedantam.

View solution in original post

8 Replies
KiranVedantam1992
Correct answer by
Community Advisor
Community Advisor

Hi @sai_santhosht50,

 

Go to  Tools -> Templates; Select your required template --> Click on edit --> Go to page policy --> Properties --> Clientlibs, add your client library category so that you can see the css/js loading.

 

KiranVedantam1992_0-1612793770874.png

 

Hope this helps.

 

Thanks,

Kiran Vedantam.

View solution in original post

sai_santhosht50
Level 2
Level 2
Hi @KiranVedantam1992, Thanks for your reply. For my custom client libs i could see there are 2 properties called dependencies & categories , i have tries both of these in page policy bit css/js didnt loaded in template structure.
sai_santhosht50
Level 2
Level 2
Can you please confirm me if we add it at policy level , will it loads at template structure level or will it loads in the pages created with this template.
KiranVedantam1992
Community Advisor
Community Advisor
Hi, you need to add the category in the field mentioned above. The client-libs will be available in the template level with this action, which in turn will make the css and js available for the components authored
BrianKasingli
Community Advisor
Community Advisor

@sai_santhosht50,

You will need to make sure that your client library is properly created. Can you find the client library from here? http://localhost:4502/libs/granite/ui/content/dumplibs.html

Once when your client library with the category exists, you can insert the client category in the editable template's page policy page. 

As an example, I have included 2 valid client libraries of: cq.handlebars && cq.jquery (http://localhost:4502/editor.html/conf/we-retail/settings/wcm/templates/content-page/structure.html)

BrianKasingli_1-1612821676595.png

Results in the page source, I can see client libraries loading as expected. The CSS files will be loaded in the <head> while the JS files will be loaded before the closing of the </body>
view-source:http://localhost:4502/conf/we-retail/settings/wcm/templates/content-page/structure.html?wcmmode=disabled

BrianKasingli_2-1612821751559.png

 

 

 

 

 

 

sai_santhosht50
Level 2
Level 2
HI @briyanKasingli - I can find my client libs here -> http://localhost:4502/libs/granite/ui/content/dumplibs.html , and as you said i have written the category at page policy of template strucutre. After that when i load the template strucutre i dont see my css is loading in the template. Can you let me know if we can do it in an another way.
BrianKasingli
Community Advisor
Community Advisor
Might be a permission problem, do you have allowProxy = true enabled? Can you share with my the path client libs of your CSS? example /etc.clientlibs/my-site/clientlibs/base.css
Vijayalakshmi_S
Community Advisor
Community Advisor

Hi @sai_santhosht50,

Clientlibs included at Page policy level is included in /apps/core/wcm/components/page/v2/page/head.html. So cross check if your editable template's page component(as mentioned via sling:resourceType in say, /conf/we-retail/settings/wcm/templates/content-page/structure/jcr:content) is inheriting from core page component.

If it is and still not coming, try the below

  • Include the clientlib in customheaderlibs.html that is overwritten in your page component. 
  • Or try using direct link tag with path to your CSS file (as a last option just to narrow down the issue)

No clue still, share the details of how your page component(using which editable template would have been created) is designed.