Twig 如何从Craft CMS中的多个指定字段中搜索搜索查询值?

Twig 如何从Craft CMS中的多个指定字段中搜索搜索查询值?,twig,craftcms,Twig,Craftcms,在Craft CMS中,我只想搜索某些字段/多个字段的搜索查询值,但不是所有字段。 例如,仅限于标题、简介、卡片内容等字段 我已经向queryEntry对象添加了一个search:property,其值为title和查询字符串。但我想添加更多字段 {% set searchQuery = craft.app.request.getParam('q') %} {# {% set queryEntries = craft.entries({ section: queryFilters }).

在Craft CMS中,我只想搜索某些字段/多个字段的搜索查询值,但不是所有字段。 例如,仅限于标题、简介、卡片内容等字段

我已经向queryEntry对象添加了一个search:property,其值为title和查询字符串。但我想添加更多字段

{% set searchQuery = craft.app.request.getParam('q') %}
{# {% set queryEntries = craft.entries({
    section: queryFilters
}).search(searchQuery) %} #}


{% set queryEntries = craft.entries({
        search: 'title:' ~ searchQuery,
        order: 'score'
}) %}
  • 获取查询字符串
  • 使用或和查询将AddSearchTerms包含在字符串中
  • 这将返回与queryEntries.search匹配的条目数组,您可以使用-eg循环并显示结果

您可以将任意数量的字段与其在变量中的值连接起来,然后您可以通过查询条目在搜索参数中简单地传递这些字段。下面是这方面的示例代码

{% set nameparam = craft.app.request.getParam('data') %}
{% set categoryparam = craft.app.request.getParam('data1') %}

{% set queryString = '' %}

{% if nameparam is defined and nameparam is not empty %}
        {% set queryString = queryString ~ 'title:*'~nameparam~'* ' %}        
{% endif %}

{% if categoryparam is defined and categoryparam is not empty %}
    {% set queryString = queryString ~ 'blogCategory:'~categoryparam~' ' %}
{% endif %}

{% if queryString is defined and queryString is not empty %}
    {% set queryParams = {
        search: {
            query: queryString,
            order: 'score'
        },
    } %}
{% else %}
    {% set queryParams = {} %}
{% endif %}

{% set queryEntries = craft.entries(queryParams) %}
{% set nameparam = craft.app.request.getParam('data') %}
{% set categoryparam = craft.app.request.getParam('data1') %}

{% set queryString = '' %}

{% if nameparam is defined and nameparam is not empty %}
        {% set queryString = queryString ~ 'title:*'~nameparam~'* ' %}        
{% endif %}

{% if categoryparam is defined and categoryparam is not empty %}
    {% set queryString = queryString ~ 'blogCategory:'~categoryparam~' ' %}
{% endif %}

{% if queryString is defined and queryString is not empty %}
    {% set queryParams = {
        search: {
            query: queryString,
            order: 'score'
        },
    } %}
{% else %}
    {% set queryParams = {} %}
{% endif %}

{% set queryEntries = craft.entries(queryParams) %}