javascript - 如何将 Shopify 搜索输入限制为特定集合?
问题描述
我正在尝试进行搜索输入,该输入仅通过集合中的结果搜索/过滤。
这是搜索模板:
<div id="col-main" class="page-search">
{% if search.results_count == 0 or search.performed == false %}
<h4 class="title">{{ 'search.general.heading' | t: count: search.results_count }}: {{ 'search.general.results_with_count' | t: terms: search.terms, count: search.results_count }}</h4>
<form class="search-form" action="/search">
<input type="hidden" name="type" value="product" />
<input type="hidden" name="options[prefix]" value="last" />
<input type="text" name="q" class="search_box" placeholder="{{settings.search_placeholder}}" value="{{ search.terms }}" />
<button type="submit" class="search-submit" title="Search">
{% if settings.search_icon_type == 'font-icon' %}
<i class="demo-icon {{ settings.search_font_icon }}"></i>
{% else %}
<img src="{{ settings.search_icon | img_url: '20x' }}" alt="Search" />
{% endif %}
</button>
</form>
{% else %}
{% if search.performed %}
{% paginate search.results by 16 %}
<h4 class="title">{{ 'search.general.heading' | t: count: search.results_count }}: {{ 'search.general.results_with_count' | t: terms: search.terms, count: search.results_count }}</h4>
<div class="cata-product cp-grid">
{% for product in search.results %}
{% if product.object_type == 'product' %}
<div class="product-grid-item">
{% include 'product-item' %}
</div>
{% else %}
<div class="article-grid-item">
{% include 'article-result' %}
</div>
{% endif %}
{% endfor %}
</div>
{% if paginate.pages > 1 %}
{% include 'pagination' %}
{% endif %}
{% endpaginate %}
{% endif %}
{% endif %}
我将如何编辑它以仅搜索与“已使用”匹配的集合名称?
有一个shopify 集合对象,但不知道我是否应该尝试编辑:
<input type="text" name="q" class="search_box" placeholder="{{settings.search_placeholder}}" value="{{ search.terms }}" />
或搜索结果
{% for product in search.results %}
任何帮助将不胜感激,谢谢
解决方案
获取所有结果,过滤,生成;问题是分页,我现在没有解决方案。
{% paginate search.results by search.results_count %}
{% for item in search.results %}
{% if item.object_type == 'product' %}
{% for collection in item.collections %}
{% if collection.title contains 'myCollectionTitle' %}
{% assign image = item.featured_image | img_url: 'medium' %}
<a href="{{item.url}}">{{item.title}} <img src="{{image}}" alt="" class="" loading="lazy" width="" height=""></a><br>
{% endif %}
{% endfor %}
{% endif %}
{% endfor %}
{% endpaginate %}
推荐阅读
- python - 按第二个值对字典列表进行排序
- c# - 如何以小时、分钟和秒为单位找到时差 C# windows form app
- c# - 如何在 C# 中合并两个自定义类型列表
- php - 没有显示它需要显示的内容
- spring-boot - 无法访问 Openshift 上已部署的 Spring Boot 应用程序 (war) 的端点
- python - BS4 在 Python 中没有定位元素
- python - 如何从数据帧生成频率表?
- bash - 如何使用 bash 在 Windows 上的 VSC 中自动激活 conda env?
- html - 不同表格单元格中的两个选择选项不起作用
- cmake - CMake 设置变量