Meta Tag Rules: Site Integration
Use these APIs to obtain page meta tags that are generated based on rules.
-
dw.catalog.Product for product detail page
-
dw.catalog.ProductSearchModel for product list page
-
dw.content.Content for content detail page
-
dw.content.ContentSearchModel for content list page
You can then add them into your dw.web.PageMetaData
container to have them available in your header generation, as shown in
this example:
updatePageMetaTags: function (object)
{
if ( object.class === dw.content.Content
|| object.class === dw.system.Site
|| object.class === dw.catalog.Product
|| object.class === dw.catalog.ProductSearchModel
|| object.class === dw.content.ContentSearchModel)
{
var pageMetaData = request.pageMetaData;
pageMetaData.addPageMetaTags(object.pageMetaTags);
}
},
The dw.web.PageMetaData container supports a loop approach, creating all your page meta tags in an easy way:
<iscomment>Rule based page meta tags</iscomment>
<isloop items="${pdict.CurrentPageMetaData.getPageMetaTags()}" var="pageMetaTag">
<isif condition="${pageMetaTag.title}">
<title><isprint value="${pageMetaTag.content}"/></title>
<iselseif condition="${pageMetaTag.name}">
<meta name="<isprint value="${pageMetaTag.ID}">" content="<isprint value="${pageMetaTag.content}">">
<iselseif condition="${pageMetaTag.property}">
<meta property="<isprint value="${pageMetaTag.ID}">" content="<isprint value="${pageMetaTag.content}">">
</isif>
</isloop>
The following methods enable you to check if page meta tags are generated and perform fallback behavior:
<isif condition="${!pdict.CurrentPageMetaData.isPageMetaTagSet('description')}">
<meta name="description" content="Add here your fallback description!">
</isif>