搜索

搜索模板渲染搜索页面,显示商店搜索的结果。

提示
可以参考Dawn主题中搜索模板及其主要分区的示例实现。

位置

搜索模板位于主题的templates目录中:

└── theme
    ├── layout
    ├── templates
    |   ...
    |   ├── search.json
    |     ...
    ...

内容

您应在搜索模板或模板中的一个部分包含以下内容:

搜索对象

您可以访问 Liquid 搜索对象以显示搜索详情。

搜索表单

要进入搜索页面,客户需要通过搜索表单进行搜索。您可以在主题中加入一个搜索表单,使用属性为 action=”{{ routes.search_url }}”的<form>元素。在表单中,您需要一个具有以下属性的输入:

  • type=”text”
  • name=”q”。


您还应设置<input>的值,以反映搜索对象的 terms 属性的值,从而保留客户的搜索词 :

<form action="{{ routes.search_url }}">
  <input type="text"
    placeholder="Search"
    name="q"
    value="{{ search.terms | escape }}"
 >
  <input type="submit" value="Search">
</form>

搜索结果

您可以通过循环遍历搜索对象的results属性的值来显示搜索结果:

{% for item in search.results %}
  <!-- item details -->
{% endfor %}

突出显示搜索词

如果您输出任何与搜索结果相关的内容,则可以使用 Liquid highlight filter突出显示该内容中的搜索词:

{% for item in search.results %}
  <!-- item details -->

  {{ item.content | highlight: search.terms }}
{% endfor %}

提示:
该过滤器将通过将匹配的文本包裹在<strong>元素中来使其加粗,如果您想添加其他样式,可以使用 class=”highlight” 属性。

原文链接:https://shopify.dev/docs/themes/architecture/templates/search

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注