在何处管理撇号搜索index.html

时间:2019-02-12 21:02:41

标签: apostrophe-cms

我试图将撇号搜索模块合并到我的撇号cms项目中,但遇到模板错误。

我一直按照apostrophe cms documentationnpm apostrophe-search tutorial中的步骤安装撇号搜索:

我已经使用npm在项目目录中安装了撇号搜索:

npm install apostrophe-search

然后我将该模块与模块部分中的app.js文件放在一起。

将模块添加到app.js的默认搜索似乎可以正常工作(见下文)

default-apostrophe-search

但是当我尝试按照步骤自定义此搜索时,我遇到了问题。

我尝试将以下代码块放置在我的撇号页面之一的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

这似乎是目录结构的一个问题,但是我不确定我是否正确地遵循了文档中的步骤,因此我不确定。任何帮助将不胜感激。

1 个答案:

答案 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" %}

在其他模板中。