【发布时间】:2021-04-09 06:23:22
【问题描述】:
我正在关注这个answer,这对我在新创建的页面上拥有一些预定义的小部件非常有用。
// lib/modules/apostrophe-pages/index.js
construct: function(self, options) {
self.beforeInsert = function(req, page, options, callback) {
page.navigationArea = {
"type" : "area",
"items" : [
{
"by" : "id",
"limitByAll" : 5,
"limitByTag" : 5,
"navShadow" : false,
"linksArray" : [ ],
"_id" : self.apos.utils.generateId(),
"nav" : "default",
"pieceIds" : [ ],
"logoId" : null,
"navBackgroundImageId" : null,
"navColor" : null,
"navTextColor" : null,
"gradientColorTop" : null,
"gradientColorBottom" : null,
"tags" : [ ],
"type" : "navigations"
}
]
}
return setImmediate(callback);
};
}
但这只会在我创建的页面上添加navigationArea。在启动时创建的主页似乎被排除在外。 Home 在第一次启动时将有navigationArea 为空,我需要手动添加它。如何确保函数self.beforeInsert也适用于家庭?
【问题讨论】:
标签: apostrophe-cms