在Craft CMS中,我只想搜索某些字段/多个字段的搜索查询值-而不是所有字段。例如限制到字段title、introduction、cardContent。
我向我的queryEntry对象添加了一个search:属性,其值为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'
}) %}发布于 2020-02-13 07:40:38
{% if craft.app.request.getParam('q') %}
{% set searchQuery = '"' ~ craft.app.request.getParam('q') ~ '"' %}
{% set queryEntries = craft.entries({
search: 'title:' ~ searchQuery ~ ' OR cardContent:' ~ searchQuery ~ ' OR introduction:' ~ searchQuery ,
order: 'score'
}) %}
{% endif %}query string
display results
发布于 2020-12-15 00:02:43
您可以将任意数量的字段与变量中的值连接在一起,然后可以简单地将其传递到带有条目的搜索参数查询中。下面是示例代码。
{% 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) %}https://stackoverflow.com/questions/60182486
复制相似问题