简体   繁体   中英

Handlebars, how to create layout for sub page using Node and express

I'm currently working on a simple CMS. I have some basic layout set up for each page like that:

app.engine('handlebars', exphbs({defaultLayout:'layout'}));
app.set('view engine', 'handlebars');

I have some pages and I would like to setup sublayout for those pages. For example. Each page need to have root layout but gallery/all, gallery/new etc. need its own sublayout. How can I do it?

solution :

I found a solution for this. Instead of using layout use handlebar partials

You can use other layout: 'gallery_all_layout' in router:

res.render('gallery/all', {
    pageTitle: 'Gallery List',
    layout: 'gallery_all_layout'; //place it the same folder defaultLayout 'layout'
    ...
});

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM