输出中的索引搜索 extbase htmltags

Indexed Search extbase htmltags in output

我正在使用 TYPO3 7.6.11 和 indexed_search 7.6.0。

我为 indexed_search 使用了 extbase 插件,在输出中它转义了 HTML-Tags 以标记搜索词。例如,当我搜索 "search" 时,我得到以下输出:

Test text with<strong class="tx-indexedsearch-redMarkup">search</strong> pattern.

我找到了这个问题的错误修正:https://forge.typo3.org/issues/77901

但是文件 PageBrowsingResultsViewHelper.php 看起来并不完全一样,即使我添加变量 protected $escapeOutput = false; 它也没有改变任何东西。

知道这是从哪里来的以及我可以在哪里禁用转义吗?

另一个扩展覆盖了 tx_indexedsearch 的一部分导致了这个问题。-> 始终检查您正在处理的模板是否是输出的模板 ;)

发生这种情况是因为格式对象 rendering.your 结果将呈现在 {row.description} 对象中,并且最初没有设置格式。您必须将结果 ({row.description}) 格式化为 HTML。为此:

Go to the search result file.
yourindexsearch/templatingpath/IndexedSearch/Partials/Searchresult.html

这是完整的文件:

<div class="fourffCom col-sm-6">
    <f:format.html><h2>{row.title}</h2></f:format.html>

    <f:if condition="{row.headerOnly} == 0">
        <!-- Format html -->
        <f:format.html>{row.description}</f:format.html>
        <ul>
            <li>
                <p><f:translate key="result.size" />&nbsp;</p>
                <b>{row.size}</b>
            </li>
            <li>
                <p class="tx-indexedsearch-text-item-crdate"><f:translate key="result.created" />&nbsp;</p>
                <b class="tx-indexedsearch-text-item-crdate"><f:format.date>@{row.created}</f:format.date></b>
            </li>
            <li>
                <p class="tx-indexedsearch-text-item-mtime"><f:translate key="result.modified" />&nbsp;</p>
                <b class="tx-indexedsearch-text-item-mtime"><f:format.date>@{row.modified}</f:format.date></b>
            </li>
            <li>

            </li>
            <li>
                <p><f:translate key="result.path" />&nbsp;</p>
                <b><f:format.html>{row.path}</f:format.html></b>
            </li>
        </ul>
    </f:if>

    <f:if condition="{row.headerOnly} == 1">
        <!-- Format html -->
        <f:format.html>{row.description}</f:format.html>
    </f:if>

    <f:if condition="{row.subresults}">
        <p class="tx-indexedsearch-list">
            <f:for each="{row.subresults.items}" as="subrow">
                <f:render partial="Searchresult" arguments="{row: subrow}" />
            </f:for>
        </p>
    </f:if>
</div>