Jump to main content Jump to doc navigation

Сниппет SimpleSearchForm

Этот сниппет выводит форму поиска для SimpleSearch.

Использование

Разместите его там, где нужна форма поиска, и добавьте свойство 'landing' в вызов, чтобы указать ресурс, на котором вызывается сниппет SimpleSearch (там будут показаны результаты).

[[!SimpleSearchForm? &landing=`123`]]

Если результаты должны быть на той же странице, разместите вызов SimpleSearch под SimpleSearchForm и не указывайте параметр 'landing'.

Доступные свойства

Name Description Default
tpl Чанк для вывода формы поиска. SearchForm
landing Ресурс, на котором вызывается сниппет SimpleSearch и показываются результаты.
searchIndex Имя параметра REQUEST для поиска. search
method Отправлять поиск через POST или GET. GET
toPlaceholder Выводить результат напрямую или записать в плейсхолдер с именем этого свойства.

Чанки SimpleSearchForm

SimpleSearchForm обрабатывает 1 чанк. Соответствующий параметр SimpleSearchForm:

  • tpl: чанк для формы поиска.

Примеры

Выведите форму поиска с отправкой через POST вместо GET:

[[SimpleSearchForm? &method=`POST`]]

Запишите форму в плейсхолдер 'search.form', укажите landing на ресурсе 123 и используйте пользовательский чанк 'MySearchForm':

[[SimpleSearchForm? &tpl=`MySearchForm` &landing=`123` &toPlaceholder=`search.form`]]

<h2>Search</h2>
[[+search.form]]

В текущей версии (1.0.0) есть баг: если у вас есть чанк с именем «seachForm», его содержимое игнорируется в пользу формы по умолчанию.

Ошибки

Если после отправки поиска вы видите ошибку:

There were no search results for the search "". Please try using more general terms to get more results.

Скорее всего SimpleSearch ищет поисковый термин не в том месте массива $_POST или $_GET. Если вы создали пользовательский &tpl для SimpleSearchForm, убедитесь, что имя поля поиска совпадает с &searchIndex в вызове SimpleSearch. Ниже my_custom_search_field используется и в tpl SimpleSearchForm, и в параметре &searchIndex вызова SimpleSearch:

SimpleSearchForm tpl

<form id="my_id" action="[[~[[+landing:default=`[[*id]]`]]]]" method="[[+method:default=`get`]]">
    <input id="searchField" class="my_class" type="text" name="my_custom_search_field" value="[[+searchValue:default=`Search the site`]]"/>
    <input id="searchIcon" class="utilityButton" type="image" alt="Search" src="/assets/templates/my/images/searchButton.png">
    <input type="hidden" name="id" value="[[+landing:default=[[*id]]]]" />
</form>

Вызов сниппета SimpleSearch

[[!SimpleSearch? &searchIndex=`my_custom_search_field`]]

Смотрите также

  1. SimpleSearch.SimpleSearch
    1. SimpleSearch.SimpleSearch.containerTpl
    2. SimpleSearch.SimpleSearch.currentPageTpl
    3. SimpleSearch.SimpleSearch.pageTpl
    4. SimpleSearch.SimpleSearch.tpl
    5. SimpleSearch.Faceted Search Through PostHooks
  2. SimpleSearch.SimpleSearchForm
    1. SimpleSearch.SimpleSearchForm.tpl
  3. SimpleSearch.Solr

Support the team building MODX with a monthly donation.

The budget raised through OpenCollective is transparent, including payouts, and any contributor can apply to be paid for their work on MODX.

Backers

  • modmore
  • STERC
  • Digital Penguin
  • Jens Wittmann – Gestaltung & Entwicklung
  • CrewMark
  • Fabian Christen
  • Sepia River Studios
  • Dannevang Digital
  • Alex
  • A. Moreno
  • Chris Fickling
  • Stéphane Jäggi
  • Murray Wood
  • Anton Tarasov
  • deJaya
  • JT Skaggs
  • Lefthandmedia
  • eydolan
  • Following Sea
  • Guido Gallenkamp
  • YJ
  • Raffy
  • Snow Creative
  • Nick Clark
  • Guest
  • Helen
  • krisznet
  • Yanni
  • Richard

Budget

$204 per month—let's make that $500!

Learn more