Создать пользовательскую форму поиска indexed_search TYPO3 v8

Я пытаюсь добавить пользовательскую форму поиска в свой шаблон, TypoScript, который я использовал при установке v7, больше не работает.

Если я копирую форму Fluid, используемую в расширении (Form.html), и помещаю ее в один из моих шаблонов Fluid, появляется окно поиска, но оно отправляется обратно самому себе, даже если я установил rootPidList в своих константах. Это код, который я копирую:

<f:form action="search" method="post" id="tx_indexedsearch" pageUid="{settings.targetPid}">
<div class="tx-indexedsearch-hidden-fields">
    <f:form.hidden name="search[_sections]" value="0" />
    <f:form.hidden name="search[_freeIndexUid]" id="tx_indexedsearch_freeIndexUid" value="_" />
    <f:form.hidden name="search[pointer]" id="tx_indexedsearch_pointer" value="0" />
    <f:form.hidden name="search[ext]" value="{searchParams.ext}" />
    <f:form.hidden name="search[searchType]" value="{searchParams.searchType}" />
    <f:form.hidden name="search[defaultOperand]" value="{searchParams.defaultOperand}" />
    <f:form.hidden name="search[mediaType]" value="{searchParams.mediaType}" />
    <f:form.hidden name="search[sortOrder]" value="{searchParams.sortOrder}" />
    <f:form.hidden name="search[group]" value="{searchParams.group}" />
    <f:form.hidden name="search[languageUid]" value="{searchParams.languageUid}" />
    <f:form.hidden name="search[desc]" value="{searchParams.desc}" />
    <f:form.hidden name="search[numberOfResults]" value="{searchParams.numberOfResults}" />
    <f:form.hidden name="search[extendedSearch]" value="{searchParams.extendedSearch}" />
</div>
<fieldset>
    <legend><f:translate key="form.legend" /></legend>
    <div class="tx-indexedsearch-form">
        <label for="tx-indexedsearch-searchbox-sword"><f:translate key="form.searchFor" />:</label>
        <f:form.textfield name="search[sword]" value="{sword}" id="tx-indexedsearch-searchbox-sword" class="tx-indexedsearch-searchbox-sword" />
    </div>
    <div class="tx-indexedsearch-search-submit">
        <f:form.submit name="search[submitButton]" value="{f:translate(key: 'form.submit')}" id="tx-indexedsearch-searchbox-button-submit" class="tx-indexedsearch-searchbox-button" />
    </div>
</fieldset>

И мой опечатка:

config.index_enable = 1
page.config.index_enable = 1
plugin.tx_indexedsearch.settings.targetPid = 31

Если я добавлю поисковый плагин с индексированной биржей на случайную страницу, это будет работать. Просто чтобы исключить это, я также отключил realurl на всякий случай.

Еще раз спасибо сообществу T3.

1 ответ

Решение

Если вы просто скопируете шаблон поиска в свой шаблон вывода / страницы, не будет доступного плагина, который предоставил бы значения для конкретных переменных, необходимых в этой части шаблона.

  • либо вы используете вывод страницы, где вы вставили плагин (копия из HTML-источника)
  • или вы вставляете плагин на всех страницах:
    • это может быть сделано с колонкой, которую вы наследуете, и где плагин вставлен на верхнем уровне
    • или вы используете typoscript для рендеринга плагина в переменную жидкости и отображения сгенерированного HTML в вашем (page-) шаблоне.
Другие вопросы по тегам