Как запустить поиск по id с помощью mSearch2
К примеру если мне нужно в поиске вбить id ресурса и он мне его вернет
Комментарии: 5
Могу подсказать как сделать поиск по id из трех спичек и старой аудио-кассеты))
- Если поиск запускается через сниппет mSearchForm, то укажи параметр minQuery поменьше
- Идем в системные настройки, msearch2, ключ mse2_index_fields или также mSearchForm передаешь fields указывая поля поиска с весом для каждого из них и id присваиваешь больше веса. Например: &fields=`id:5,pagetitle:5,content:3 и т.д.`
подскажи
Смотри, очень примитивно покажу, чтобы суть была понятна. (Это то как бы я сделал. Ни в коем случае не претендую на джедайский ум):
Помещаем форму в нужном месте:
На странице с выводом:
По хорошему нужно будет проверить вводимые данные, и тогда отправлять (вдруг что-то плохое напишут) или также форму отправить, но забрать своим сниппетом который будет оберткой pdoResources и предварительно проверить приходящие данные ну и также засунет в pdoResources
Это вариант вывода, но если что-то другое захочется, то можно при вводе id отправлять ajax-ом запрос на свой php-скрипт, который по идее должен будет в ответе вернуть название и ссылку например, и подсказкой вывести. Получится при клике отправлять на страницу.
Короче вариантов наверное много
Помещаем форму в нужном месте:
<form action="Ссылка на страницу с выдачей" method="GET или POST">
<input type="search" name="query" placeholder="Введите id ресурса если он вам известен">
<button type="submit">Жмякни чтобы получить желанное</button>
</form>
На странице с выводом:
// MODX
[[pdoResources:default=`Нихрена не нашлось, иди поспи`?
&parents=`0`
&resources=`[[#GET.query:default=`9999`]] или [[#POST.query:default=`9999`]]` // 9999 - это id несуществующего ресурса
... // Тут чанки и другие параметры
&checkPermissions=`...` // По-моему нужно указать права доступа, «Но это не точно»
]]
// Fenom
{var $search = $_modx->runSnippet('pdoResources', [
'parents' => 0,
'resources' => $.get.query ?: 9999 или $.post.query ?: 9999,
... // Тут чанки и другие параметры
'checkPermissions' => '...' // По-моему нужно указать права доступа, «Но это не точно»
])}
{$search ?: 'Нихрена не нашлось, иди поспи'}
// Или
{if $search}
{$search}
{else}
Говорю же, нихрена не нашлось, иди поспи
{/if}
По хорошему нужно будет проверить вводимые данные, и тогда отправлять (вдруг что-то плохое напишут) или также форму отправить, но забрать своим сниппетом который будет оберткой pdoResources и предварительно проверить приходящие данные ну и также засунет в pdoResources
Это вариант вывода, но если что-то другое захочется, то можно при вводе id отправлять ajax-ом запрос на свой php-скрипт, который по идее должен будет в ответе вернуть название и ссылку например, и подсказкой вывести. Получится при клике отправлять на страницу.
Короче вариантов наверное много
Эх… я то думал все mSearch2 сделать можно… Просто он у меня есть и хочется по мимо слов и фраз с которыми он так хорошо работает добавить id товара…
Так никто и не мешает:
Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.