Skip to content

Instantly share code, notes, and snippets.

@jorgehernandezSF
Created May 1, 2019 03:10
Show Gist options
  • Save jorgehernandezSF/25d9cf48b850f73656259267da4ba838 to your computer and use it in GitHub Desktop.
Save jorgehernandezSF/25d9cf48b850f73656259267da4ba838 to your computer and use it in GitHub Desktop.
Mixed Layout page type script
'use strict';
var Template = require('dw/util/Template');
var HashMap = require('dw/util/HashMap');
var PageRenderHelper = require('*/cartridge/experience/utilities/PageRenderHelper.js');
/**
* Render logic for the mixedlayout.
*
* @param {dw.experience.PageScriptContext} context The page script context object.
*
* @returns
*/
module.exports.render = function (context) {
var model = new HashMap();
var page = context.page;
model.page = page;
// disable the consent modal while in edit mode
if (PageRenderHelper.isInEditMode()) {
dw.system.HookMgr.callHook('app.experience.editmode', 'editmode');
}
// automatically register configured regions
model.regions = PageRenderHelper.getRegionModelRegistry(page);
// determine seo meta data
model.CurrentPageMetaData = PageRenderHelper.getPageMetaData(page);
model.decorator = PageRenderHelper.determineDecorator(context);
// render the page
var expiryTime = new Date(Date.now());
expiryTime.setMinutes(expiryTime.getMinutes() + 60);
response.setExpires(expiryTime);
return new Template('experience/pages/mixedlayout').render(model).text;
};
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment