Zum Inhalt springen

Indexed Search mit Ajax-Suchvorschlägen

Erstellt am 7. September 2009 · 4 Antworten · letzte Antwort am 1. Mai 2010

Tags: JavaScript & AJAX, Suche, Frage

swerd ·

Hallo Community,

gibt es vl. eine Extension oder eine andere Möglichkeit in die Indexed Search so Ajax Suchvorschläge wie jene von Google zu integrieren.

Habe nach langem suchen nichts dazu gefunden, und wäre für jede Hilfe dankbar.

Gruß

just2b ·

Hallo und willkommen im Forum,

swerd schrieb

Habe nach langem suchen nichts dazu gefunden, und wäre für jede Hilfe dankbar.

also da bin ich dann doch gespannt wie das gehen soll!

http://www.google.at/#hl=de&source=hp&q=typo3+indexed_search+ajax&btnG=Google-Suche&meta=&aq=f&oq=typo3+indexed_search+ajax&fp=fb6f877a5fbc2f7f => 1. Treffer

und auf der Seite mit allen TYPO3-Extensions: http://typo3.org/extensions/repository/?tx_terfe_pi1[view]=search&no_cache=1&tx_terfe_pi1[sword]=indexed+ajax => alle 3 Treffer 100% richtig

lg georg

jonas8 ·

Hallo Leute

Habe mir zum Testen die

PMK Indexed Search Auto completer (pmkisac)

installiert und konfiguriert. (http://dev01.edorf.ch/)

Soweit alles prima.

Nur, kann man die Ext auch bei der "Erweiterten Suche" verwenden?

Bei mir funktioniert es nur bei der "Einfachen Suche" und bei meinem zusätzlichen Suchfeld (macina_searchbox).

Auch funktioniert es nur mit mootols, mit jquery und prototype geht nichts.

Wie läuft die Ext bei euch?

Danke und Gruss
Jonas

B-Squad ·

Hallo zusammen,

Also ich habe einen Suchbox im Header. Die Suchbox wurde ueber ein lib eingefuegt:

lib.search_field = COA
lib.search_field.20 = TEXT
lib.search_field.20.typolink {
  parameter = 2
  returnLast = url
}
lib.search_field.20.wrap = <form method="post" action="|">
lib.search_field.40 = HTML
lib.search_field.40.value (
<input type="hidden" name="tx_indexedsearch[_sections]" value="0" />
<input type="hidden" name="tx_indexedsearch[_freeIndexUid]" value="_" />
<input type="hidden" name="tx_indexedsearch[pointer]" value="0" />
<input type="hidden" name="tx_indexedsearch[ext]" value="" />
<input type="hidden" name="tx_indexedsearch[type]" value="1" />
<input type="hidden" name="tx_indexedsearch[defOp]" value="0" />
<input type="hidden" name="tx_indexedsearch[media]" value="-1" />
<input type="hidden" name="tx_indexedsearch[order]" value="rank_flag" />
<input type="hidden" name="tx_indexedsearch[group]" value="flat" />
<input type="hidden" name="tx_indexedsearch[lang]" value="-1" />
<input type="hidden" name="tx_indexedsearch[desc]" value="0" />
<input type="hidden" name="tx_indexedsearch[results]" value="6" />
<input name="tx_indexedsearch[sword]" id="tx-indexedsearch-searchbox-sword" type="text" autocomplete="off" />
<input class="button" name="tx_indexedsearch[submit_button]" type="submit" value="Search" />
</form>
)

Bei mir funktionier die Extension PMK Indexed Search Auto completer (pmkisac) mit Indexed Search soweit ganz gut .. das einzige Problem ist, dass die Ajax Suchvorschlaege nur auf der "Ergebnisseite" Seite funktionieren .. und nicht auf den anderen Seiten. Generell funktioniert die Searchbox auf den anderen Seiten.. halt nur ohne Ajax Suchvorschlaege.

Sobald ich also auf einer Seite "indexed_search" einbinde, dann funktioniert auch die Header-Suchbox mit Ajax.

Fakt ist, dass auf Seiten wo "indexed_search" installiert ist, die Javascript Dateien im <head> geladen werden. Auf Seiten ohne "indexed_search" werdne die Javascript Dateien nicht geladen.

Hab daraufhin versucht ueber das Maintemplate die Javascript Dateien per Typoscript auf allen Seiten zu laden, jedoch hat es nicht geklappt 🙁

page.headerData = COA
   page.headerData.100 = TEXT
   page.headerData.100.value = <script src="typo3conf/ext/pmkisac/res/mootools/mootools_v1.2.1.js" type="text/javascript"></script>

page.headerData = COA
   page.headerData.200 = TEXT
   page.headerData.200.value = <script src="typo3conf/ext/pmkisac/res/mootools/Autocompleter.js" type="text/javascript"></script>

page.headerData = COA
   page.headerData.300 = TEXT
   page.headerData.300.value = <link href="typo3conf/ext/pmkisac/res/Autocompleter.css" type="text/css" rel="stylesheet" />

Weiss jemand noch eine andere Loesung ?

hector ·

@B-Squad:
Füge den nachfolgenden Code an der entsprechenden Stelle ein, dann wird der JS-Code auf allen Seiten in den Header geschrieben und die autocomplete-Funktion sollte fortan ihren Dienst auch auf allen Seiten verrichten.

lib.search_field.10 = USER
lib.search_field.10.userFunc = user_pmkisac
lib.search_field.10.userFunc < plugin.tx_pmkisac
lib.search_field.10.userFunc.cssId = tx-indexedsearch-searchbox-sword1

Man beachte hier die abweichende cssId! Diese muss auch in der Form geändert werden:

<input name="tx_indexedsearch[sword]" id="tx-indexedsearch-searchbox-sword1" type="text" />

Andernfalls hat man auf der Such-/Ergebnisseite zwei Input-Felder mit derselben Id. Das führt dazu, dass autocomplete nur in einem Input-Feld arbeitet (das Erstgenannte im HTML-Code).