【发布时间】:2018-12-16 03:35:27
【问题描述】:
我正在尝试添加一个自定义页面,该页面不会与特定类型的片段或其他数据集相关联。它将用于运行报告和处理/显示数据的操作,因此它需要相当独立。我希望它是一种页面类型,因此它将在导航中以与任何其他页面相同的方式进行处理。我大部分时间都在工作,但遇到了一个问题 - 无论我如何设置它,当我尝试导航到创建的页面实例时,它总是在 lib/modules/apostrophe-pages 中查找模板/views/pages 而不是模块文件夹。
在这种情况下,我目前正在调用模块 test-item(一旦我找出问题所在,将重命名)。因此,我有一个名为 lib/modules/test-item 的文件夹,其中包含 index.js 和 views/index.html。我还尝试将视图文件夹中的模板重命名为 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/撇号中找不到模板时抛出错误- pages/views/pages/test-item.html?
谢谢!
【问题讨论】:
标签: apostrophe-cms