Hallo,
ich setzte die aktuelle Version 2.13.0 der indexed_seach in TYPO3 4.6.4 mit folgender Konfiguration ein:
plugin.tx_indexedsearch {
show {
advancedSearchLink = 0
#L1sections = 0
resultNumber = 1
rules = 0
}
templateFile = fileadmin/templates/search-and-find.html
whatis_stdWrap = |
_LOCAL_LANG.de.pi_list_browseresults_display =
_CSS_DEFAULT_STYLE >
_DEFAULT_PI_VARS.results = 100
}
Da die Seite relativ klein ist und somit wenig Suchergebnisse zu erwarten sind, werden diese auf einer Seite dargestellt.
Mit obigem TS habe ich es geschafft, den Pagebrowser zu entfernen. Leider sind im DOM noch die leeren DIV- und P-Tages des Pagebrowsers <div class="tx-indexedsearch-browsebox"><p></p></div>.
Um diese zu entfernen, habe ich bisher nur die Lösung gefunden, die Extension im Quellcode direkt zu bearbeiten: http://lists.typo3.org/pipermail/typo3-german/2009-August/061474.html.
Weiterhin stören mich die folgenden DIVs, die ich gerne entfernen möchte:
<div class="tx-indexedsearch"></div> (umschließt die ganze Extension im DOM)
<div class="tx-indexedsearch-whatis"></div> (umschließt die Anzeige des Suchausdrucks: Suche nach ...)
<div class="tx-indexedsearch-res"></div> (umschließt die eigentliche Liste der Suchergebnisse)
Ist jemandem bekannt, wie ich diese DIVs per TS entfernen kann, ohne den Code der Extension anzufassen?
Falls keine andere Möglichkeit besteht, gibt es eine "saubere Lösung" um die indexed_search-Extension anzupassen (Ableiten, Schreiben eines Wrappers oder dergleichen der class.tx_indexedsearch.php [habe bisher leider keine Erfahrung mit Extension-Programmierung])?
Vorab schon mal Danke!
Dafür musst Du nicht in den Quelltext der Extension eingreifen.
Erstell Dein eigenes HTML-Template.
Z.B. mit
plugin.tx_indexedsearch.templateFile = fileadmin/templates/indexed_search.tmpl
kannst Du den Pfad zu Deinem eigenen Template angeben.
Als Vorlage und um zu sehen, welche Marker zur Verfügung stehen, schaust Du Dir das Original-Template an, welches sich unter typo3/sysext/indexed_search/pi/ befindet (es gibt dort zwei, indexed_search.tmpl und template_css.tmpl).
Hallo igorshmigor,
danke für die Antwort. Ein angepasstest Template verwende ich bereits (siehe mein TS).
Vielmehr ist es so, dass die drei genannten DIVs IMMER um das Template herum gewrappt sind (soweit ich das sehen konnte, passiert das im Quelltext der class.tx_indexedsearch.php.
Hab mir vorhin mal über XCLASS und HOOK einen Überblick verschafft, finde bzgl. HOOK allerdings keinen richtigen Einstiegspunkt in der Suche. Hat jemand hierzu ein paar gute Tipps oder Ratschläge, wie ich die Ausgabe anpassen kann, ohne die Extension selbst anzufassen?
Danke!
Oh ja, tatsächlich, Du nutzt ja schon ein eigenes Template, das hatte ich übersehen. Soweit ich das sehe, stammt aber <div class="tx-indexedsearch-res"> aus dem HTML-Template, das ist nicht hart kodiert.
<div class="tx-indexedsearch-browsebox"> und <div class="tx-indexedsearch-whatis"> werden in der Methode getDisplayResults gesetzt. Hierfür kannst Du den Hook $TYPO3_CONF_VARS['EXTCONF']['indexed_search']['pi1_hooks']['getDisplayResults'] nutzen, um anstelle dieser Methode eigenen Code ausführen zu lassen.
Den Div <div class="tx-indexedsearch"> wirst Du nur über XCLASS wegbekommen. Dieses umschließende Tag wird in der Methode main() durch Aufruf von $this->pi_wrapInBaseClass($content); erstellt.