【发布时间】:2019-02-01 11:58:14
【问题描述】:
我正在寻找一种创建单页模型/独立单页的方法。
这就像“关于我们”、“主页”、“我们的团队”等的自定义单页。
它们是带有后端选项的单页。
有人知道吗?
【问题讨论】:
标签: keystonejs
我正在寻找一种创建单页模型/独立单页的方法。
这就像“关于我们”、“主页”、“我们的团队”等的自定义单页。
它们是带有后端选项的单页。
有人知道吗?
【问题讨论】:
标签: keystonejs
所以你需要创建所有需要的文件类型,比如路由 JS 文件、模板文件,将有关该文件的信息添加到 routes/index.js
示例: 创建文件 routes/views/aboutUs.js :
var keystone = require("keystone");
exports = module.exports = function(req, res) {
var view = new keystone.View(req, res);
var locals = res.locals;
// locals.section is used to set the currently selected
// item in the header navigation.
locals.section = "about-us";
locals.title = "About our company";
// Render the view
view.render("aboutUs");
};
创建模板文件 templates/aboutUs.pug :
block content
p Our company is super cool. We based it here long time ago
使用正确的语法和 css 将所有静态内容放入模板中
最后添加到 routes/index.js 文件:
app.get("/aboutUs", routes.views.aboutUs);
如果你需要控制用户对页面的访问也添加这样的字符串
app.all("/aboutUs*", middleware.requireUser);
别忘了重启应用来查看变化
【讨论】:
这显然不是 OP 所要求的。他们询问是否有一种方法可以为主页、关于我们等创建单个 ADMIN UI 可编辑页面。我的回答是,我不相信 KeystoneJS 是可能的。这很烦人,因为我有客户想要这样,否则 Keystone 将是完美的。似乎唯一的方法是创建一个列表,如果不存在则自动创建一个记录,并在列表上设置“nocreat”和“novelette”。
【讨论】: