Search code examples
searchtypo3

TYPO3 Indexed Search not displayed on page


I'm using the TYPO3 version 8, I have installed the indexed_search form box with typoscript

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>
    }
}

When I click on search, I'm redirected to my search page which contains the search plugin installed, but no search results or even the keyword is showing. The pages are well indexed and in the backend indexing searched keyword it appears, but not in the frontend, what am I missing here? please help!


Solution

  • Edit: i found the solution. You have to add something to the typolink ts (my result plugin has _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
    

    First Posting:

    I don't have the solution right now, but i found something that could help.

    I'm having a similar problem with TYPO3 8 and a searchbox. I adapted my HTML of the searchbox, that it fits to the embedded plugin, like this:

    <form action="searchresult.html?tx_indexedsearch_pi2%5Baction%5D=search&amp;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"/> 
    ...
    

    As you can see i have a fixed setup here in my template. What i noticed is, that the embedded plugin obviously doesn't run if you don't send the chash in the action url. Probably you can generate it with your typoscript.

    I'm just sure that this is the problem, at least for my case, because when i turn the chash requirements for extbase off, it works ...

    config.tx_extbase.features.requireCHashArgumentForActionArguments = 0
    

    but i believe that is a little bit risky and should not be used in production

    so generating the chash should be the way to do make it work. just wanted to share what i found out.