我试图将撇号搜索模块合并到我的撇号cms项目中,但遇到模板错误。
我一直按照apostrophe cms documentation和npm apostrophe-search tutorial中的步骤安装撇号搜索:
我已经使用npm在项目目录中安装了撇号搜索:
npm install apostrophe-search
然后我将该模块与模块部分中的app.js文件放在一起。
将模块添加到app.js的默认搜索似乎可以正常工作(见下文)
但是当我尝试按照步骤自定义此搜索时,我遇到了问题。
我尝试将以下代码块放置在我的撇号页面之一的index.html中,以尝试并使用小型搜索工具的默认功能:
{% include "search:miniForm.html" %}
但遇到以下错误:
e.stack: Template render error: (vendor-pages:index.html)
Error: Module doesn't exist: search
我还尝试在项目中创建一个撇号搜索模块文件夹,以使其看起来像project / lib / modules / apostrophe-search / views /,并复制了在node_modules中找到的撇号搜索模块的index.html库,但是当我加载localhost:3000 / search页面时,我遇到了另一个错误:
e.stack: Template render error: (apostrophe-search:index.html)
Template render error: (apostrophe-search:index.html)
Error: template not found: apostrophe-search:pagerMacros.html
这似乎是目录结构的一个问题,但是我不确定我是否正确地遵循了文档中的步骤,因此我不确定。任何帮助将不胜感激。
答案 0 :(得分:1)
除非您使用的是旧版本的撇号,否则不必单独安装搜索模块:
来自npm page:
该模块用于A20.5.x。对于新项目,请使用具有内置搜索模块的Apostrophe 2。
npm页面上的所有说明均与使徒2中的the instructions for the built-in apostrophe-search不兼容。
相反,您可以放置示例迷你表单
<form method="GET" action="/search">
<input type="text" name="q" /><input type="submit" value="Search" />
</form>
在{project}/lib/modules/apostrophe-search/views/mini-form.html
然后:
{% include "apostrophe-search:mini-form.html" %}
在其他模板中。