Zum Inhalt springen

Indexed Search auf jeder Seite

Erstellt am 17. Juli 2013 · 3 Antworten · letzte Antwort am 22. Juli 2013

Tags: Suche, Frage

joe23 ·

Hallo zusammen,
ich weiss, das Thema wurde schon zig mal behandelt, aber irgendwie habe ich nirgends den richtigen Ansatz gefunden...

Ich möchte gerne die indexed_search zusammen mit der macina_searchbox auf jeder Seite als Suchformular (innerhalb des Headers) einsetzen.
Die Suche funktioniert auch grundsätzlich. D.h. wenn ich sie als Contentelement auf einer dedizierten Seite einbaue, wird alles korrekt angezeigt und die Suche funktioniert auch.

Das Problem ist jedoch das Einbinden der macina_searchbox in meinem Header.
Hier gibt es einen entsprechenden div Container namens div.ym-searchform.
In meinem HTML Template habe ich diesen div Container mittels TemplaVoila mit dem TypoScript Object Path lib.searchbox gemappt.

Das führt in der Frontendausgabe nun dazu, dass (logischerweise) das ursprünglich im HTML Template eingebettete Input Feld und der Search Button nun nicht mehr erscheinen, da sie ja korrekterweise vom TemplaVoila Mapping ersetzt wurden.
Allerdings erscheint nun keine (wie auch immer aussehende) macina_searchbox, oder irgendein "Such-Button", sondern einfach gar nichts an dieser Stelle.

Der Quelltext zeigt an dieser Stelle, dass innerhalb des ursprünglichen DIV Containers (div.ym-searchform) nun ein weiteres DIV eingebettet wurde:

<div class="ym-searchform"><div class="tx-macinasearchbox-pi1"></div></div>

Allerdings habe ich - wie gesagt - keinerlei Ausgabe eines Input Feldes oder eines Search Buttons...

Hatte jemand eine Idee, was ich hier grundsätzlich verkehrt mache?

Vielen Dank & viele Grüsse,
Joachim

MaxJ ·

Hallo Joachim,

hört sich so an als hättest du noch kein Template für die macina Searchbox eingebunden. Deswegen erscheint zwar das div des Plugins, aber ansonsten nix.

Einbinden per TS:

plugin.tx_macinasearchbox_pi1 {  
  templateFile = weg/zu/deinem/template/template.html
}

unter typo3conf/ext/macina_searchbox/pi1/ findest du ein Beispiel Template template.htm

Liebe Grüße

joe23 ·

Hallo Max,

danke für Dein Feedback.
Aber das Template habe ich eigentlich konfiguriert.
Ich hatte mir das Original von der Extension macina_searchbox unterhalb fileadmin kopiert und in searchbox.html umbenannt.

Im Typoscript verweise ich dann folgendermassen darauf:

lib.searchbox < plugin.tx_macinasearchbox_pi1

plugin.tx_macinasearchbox_pi1 {
pidSearchpage = 34
templateFile = fileadmin/templates/macina/searchbox.html
}

Das sollte doch eigentlich passen, oder?

Viele Grüsse,
Joachim

MaxJ ·

Hallo Joachim,
ich glaube du musst von dem Plugin erstmal ein Objekt anlegen bevor du es TV übergibst.

Dafür legst du auf einer Verbogenen Seite die Searchbox an und bindest Inhaltselement wie folgt ins Template ein:

temp.searchbox=RECORDS
temp.searchbox{
    tables=tt_content
    source= pid
//Die ID des Inhaltselements, das die Searchbox beinhaltet
}
#Das ganze dann noch so zuweisen:
lib.searchbox < temp.searchbox

Gruß Max