Как я могу найти значение поискового запроса из нескольких указанных полей в Craft CMS? - PullRequest
2 голосов
/ 12 февраля 2020

В Craft CMS я хочу найти значение поискового запроса только для некоторых полей / нескольких полей - но не для всех. Например, ограничение полей title, вводный, cardContent.

Я добавил search: property в свой объект queryEntry со значением 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'
}) %}

1 Ответ

0 голосов
/ 13 февраля 2020
{% 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 %}
  • Получить строку запроса
  • add searchTerms объединяется в строку, используя OR, и запрос
  • Возвращает массив записей, соответствующих queryEntries.search, и вы с этим можно делать что угодно - например, l oop over и отображать результаты
...