我正在尝试添加一个自定义页面,该页面不会与特定类型的数据或其他数据集相关联。它将用于运行报告和处理/显示数据的操作,因此它必须相当独立。我希望它是页面类型,因此它将在导航中以与其他任何页面相同的方式进行处理。我大多数情况下都能正常工作,但是遇到一个问题-无论如何设置,当我尝试导航到要创建的页面实例时,它总是在lib / modules / apostrophe-pages中寻找模板/ views / pages,而不是模块文件夹。
在这种情况下,我当前正在调用模块test-item(一旦弄清问题所在,它将重命名)。因此,我有一个名为lib / modules / test-item的文件夹,其中包含index.js和views / index.html。我还尝试将views文件夹中的模板重命名为show.html和test-item.html,以确保这不是命名问题。这是在index.js中配置模块的方式:
module.exports = {
name: 'test-item',
extend: 'apostrophe-custom-pages',
construct: function(self, options) {
//more logic stuff
}
}
此外,如果我向模块添加字段,则当我尝试使用test-item类型创建新页面时,它确实会显示,所以我知道模块本身正在加载。
在app.js中,我已为此模块加载了
'test-item': {},
除非将页面类型添加到撇号页面模块中,否则不会将页面类型添加到新页面对话框的类型列表中,所以我将其添加为:
types: [
{
name: 'test-item',
label: 'Test Page'
}
]
我是否需要做一些其他事情来使模块从lib / modules / test-item / views / index.html加载模板,而不是在无法在lib / modules / apostrophe-中找到模板时抛出错误? pages / views / pages / test-item.html?
谢谢!
答案 0 :(得分:1)
imageNamed:inBundle:compatibleWithTraitCollection:
模板仍位于项目级别userInterfaceStyle
中。
如果您想将自定义页面完全模块化为npm模块,则可以制作一个基于apostrophe-custom-pages
的模块,该模块可以将视图添加到lib/modules/apostrophe-pages/views/pages/MODULE-NAME.html
模块中。