[英]TYPO3 Indexed Search not working
我正在使用TYPO3版本8,我已經安裝了帶有錯字的indexed_search表單框
50 = COA
50 {
stdWrap {
wrap = <div id="searchcontainer">|</div><div class="clearboth"></div>
required = 1
}
10 = TEXT
10 {
wrap = <form id="searchbox" name="searchbox" action="|" method="post">
typolink.parameter = {$searchPID}
typolink.returnLast = url
if.isTrue = {$config.tx_realurl_enable}
}
20 = TEXT
20 {
value = <form id="searchbox" name="searchbox" action="/" method="post">
if.isFalse = {$config.tx_realurl_enable}
}
30 = COA
30 {
10 = TEXT
10{
wrap = <input type="hidden" name="id" value="|" />
value = {$searchPID}
if.isFalse = {$config.tx_realurl_enable}
}
20 = TEXT
20 {
wrap = <input type="text" id="swords" name="swords" value="|" size="20" onfocus="this.value='';" />
value = {$searchTEXT}
}
30 = TEXT
30 {
wrap = <input type="submit" id="searchbutton" value="" />
}
}
40 = TEXT
40 {
value = </form>
}
}
當我單擊搜索時,我被重定向到包含已安裝搜索插件的搜索頁面,但是沒有搜索結果甚至沒有顯示關鍵字。 頁面索引良好,並且在后端索引搜索關鍵字中出現,但在前端卻沒有,我在這里誤解了什么? 請幫忙!
您可以在FLUIDTEMPLATE中使用<f:form>
生成Quicksearch-Form。 這樣,將自動生成基本的cHash參數並將其附加到action-URL。
TypoScript(常量)
plugin.tx_indexedsearch.settings.targetPid = 35
TypoScript(設置)
lib.quicksearch = FLUIDTEMPLATE
lib.quicksearch{
file = fileadmin/Quicksearch.html
settings.targetPid = {$plugin.tx_indexedsearch.settings.targetPid}
}
Quicksearch.html
<html xmlns:f="http://typo3.org/ns/TYPO3/CMS/Fluid/ViewHelpers" data-namespace-typo3-fluid="true">
<div id="quicksearch">
<f:form action="search" method="post" controller="Search" extensionName="indexedsearch" pluginName="pi2" pageUid="{settings.targetPid}">
<f:form.textfield name="search[sword]" value="{sword}" class="quicksearch-sword" />
<f:form.submit name="search[submitButton]" value="Search" class="quicksearch-submit" />
</f:form>
</div>
</html>
user2714261顯示了如何停用所有元素的cHash檢查。 這樣做可能有點冒險。 但是,您只能將它用於indexed_search插件。 那不會有什么問題,因為indexed_search仍然不應該緩存。 這樣您就可以在您的插件設置中編寫jsut了:
plugin {
tx_indexedsearch {
features.requireCHashArgumentForActionArguments = 0
}
}
在TYPO3 8.7.9中效果很好。
馬丁
編輯:我找到了解決方案。 您必須向typolink ts添加一些內容(我的結果插件具有_pi2 btw)
wrap = <form id="searchbox" name="searchbox" action="|" method="post">
typolink.parameter = 25
typolink.additionalParams = &tx_indexedsearch_pi2[action]=search&tx_indexedsearch_pi2[controller]=Search
typolink.returnLast = url
typolink.useCacheHash = 1
首次發布:
我目前沒有解決方案,但是我發現了可以解決的問題。
TYPO3 8和搜索框出現類似問題。 我修改了搜索框的HTML,使其適合嵌入式插件,如下所示:
<form action="searchresult.html?tx_indexedsearch_pi2%5Baction%5D=search&tx_indexedsearch_pi2%5Bcontroller%5D=Search" method="post" name="searchform" id="searchform">
<input name="tx_indexedsearch_pi2[search][sword]" type="text"/>
<input name="tx_indexedsearch_pi2[search][submitButton]" type="submit" id="submitbutton" value="submit"/>
...
如您所見,我的模板在此處具有固定的設置。 我注意到的是,如果您不發送動作URL中的chash,則嵌入式插件顯然不會運行。 可能您可以使用打字稿生成它。
我只是確定這是問題所在,至少對於我來說,是因為當我關閉extbase的嚴格要求時,它就起作用了...
config.tx_extbase.features.requireCHashArgumentForActionArguments = 0
但我認為這有點冒險,不應在生產中使用
因此產生沖擊力應該是使其工作的方法。 只是想分享我發現的東西。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.