Как настроить mSearchForm так, чтобы он искал все статьи в конкретном идентификаторе (ID)?

Как настроить mSearchForm чтобы он искал только в ресурсах с ID 725 и их дочерних ресурсах? Также, я не понимаю, почему он некорректно работает, что я упустил?

```html
[[!mSearchForm?
    &pageId=`74`
    &tplForm=`tpl.mSearch2.form_new`
    &tpl=`tpl.mSearch2.ac_new`
]]
```

Код tpl.mSearch2.form_new:
```html
<form action="[[~[[+pageId]]]]" method="get" class="well msearch2" id="mse2_form">
    <div class="msearch2__inner">
        <div class="form-group col-md-10">
            <input type="text" class="form-control Searchmain" name="[[+queryVar]]" placeholder="[[%mse2_search]]" value="[[+mse2_query]]" />
        </div>
        <button type="submit" class="btn btn-1 btn-default">
            Поиск
        </button>
    </div>
</form>
```

Код tpl.mSearch2.ac_new:
```html
<div class="mse2-ac-item" data-show-modal data-src="{$id|url}">
    <div class="mse2-ac-item__title">{$pagetitle}</div>
</div>
```

При вводе запроса поисковой строкой он пытается найти, но в итоге пишет "No search results". (Использовал mSearch2 индекс, сохраняет запросы).
  • 22 января 2024 г. 13:00
Ответы на вопрос 1
Чтобы настроить mSearch2 для поиска статей только в определенном ресурсе с ID 725 и его дочерних ресурсах, вы можете использовать параметр `&parents` в вызове сниппета `mSearchForm`. Документация mSearch2 утверждает, что вы можете задать список родительский ID, через запятую, в которых будет осуществляться поиск.

Вот пример вызова, который ограничит область поиска только для ресурса с ID 725 и его дочерних элементов:

```html
[[!mSearchForm?
    &pageId=`74`
    &parents=`725`
    &tplForm=`tpl.mSearch2.form_new`
    &tpl=`tpl.mSearch2.ac_new`
]]
```

Если у вас некорректно работает поиск, есть несколько вещей, которые вы должны проверить:

1. Убедитесь, что все документы, которые должны быть найдены, уже проиндексированы. Вы можете переиндексировать их через панель управления mSearch2.

2. Проверьте, корректно ли установлено значение `&pageId`. `pageId` ожидается, что это будет ID документа с результатами поиска, а не исходного документа с формой поиска.

3. Убедитесь, что объекты (ресурсы) с ID 725 и его дочерние имеют нужный статус для поиска (опубликованы, доступны для пользователя, который ищет и т. п.).

4. Проверьте логи системы на предмет ошибок. Логи обычно предоставляют информацию о том, что пошло не так во время выполнения сниппета.

5. Если вы используйте дополнительные критерии поиска, убедитесь, что они правильно настроены. Например, если используете фильтрацию по шаблонам или TV-параметрам, проверьте корректность их указания.

6. Проверьте, что у вас установлена последняя версия mSearch2 и что она совместима с вашей версией MODX.

Если проблемы продолжаются после проверки этих элементов, вы можете обратиться к сообществу MODX или на форумы поддержки за дополнительной помощью.
Похожие вопросы