输出中的索引搜索 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" /> </p>
<b>{row.size}</b>
</li>
<li>
<p class="tx-indexedsearch-text-item-crdate"><f:translate key="result.created" /> </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" /> </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" /> </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>
我正在使用 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" /> </p>
<b>{row.size}</b>
</li>
<li>
<p class="tx-indexedsearch-text-item-crdate"><f:translate key="result.created" /> </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" /> </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" /> </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>