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

how to get currentPage object in javascript, as javascript file resides in clientlibs folder of the component. please give me example code snippets.

1 Accepted Solution
asutosh_jena
Correct answer by
Community Advisor
Community Advisor

Hi @karthick1356 

When you say you want currentPage object in JS which is inside your clientlib, for what purpose you need it? You will not be able to get the currentPage object in JS as the context will not be avilable on clientside and it's either available on HTL or Java which is on server side.


If you can provide the use case we can come with a concrete answer.

 

Thanks!

View solution in original post

7 Replies
asutosh_jena
Correct answer by
Community Advisor
Community Advisor

Hi @karthick1356 

When you say you want currentPage object in JS which is inside your clientlib, for what purpose you need it? You will not be able to get the currentPage object in JS as the context will not be avilable on clientside and it's either available on HTL or Java which is on server side.


If you can provide the use case we can come with a concrete answer.

 

Thanks!

View solution in original post

karthick1356
Level 2
Level 2
I was trying to get language of the page. is there any possible way to get language in the frontend?
asutosh_jena
Community Advisor
Community Advisor

@karthick1356 
You can get it in Backend and put it in HTL as a hidden attribute on page:
<div id="some-id" data-page-lang="${model.lang}">


Then use the value in JS:
var lang = $("#some-id").data("page-lang");

 

Hope this help!

Thanks!

karthick1356
Level 2
Level 2
thanks letme try. is there any way to get language other then jcr:language
KiranVedantam1992
Community Advisor
Community Advisor

Hi @karthick1356,

 

you can use Javascript USE API to get all the values you need.

 

Sample code:

use(function () {
    var Constants = {
        DESCRIPTION_PROP: "jcr:description",
        DESCRIPTION_LENGTH: 50
    };

    var title = currentPage.getNavigationTitle() || currentPage.getTitle() || currentPage.getName();
    var description = properties.get(Constants.DESCRIPTION_PROP, "").substr(0, Constants.DESCRIPTION_LENGTH);

    return {
        title: title,
        description: description
    };
});

Reference page: https://experienceleague.adobe.com/docs/experience-manager-htl/using/htl/use-api-javascript.html?lan...

 

Hope this helps.

 

Thanks,

Kiran Vedantam