Zum Inhalt springen

Brauche Eure Hilfe in der "SUCHE"

Erstellt am 11. Juni 2003 · 6 Antworten · letzte Antwort am 29. April 2005

Tags: Suche, Frage

celeron ·

Hallol,
ich bin bald am Verzweifeln.

Ich habe alle meine Seiten mit Stichwörtern, die in der Suche auftauchen sollen gepflegt.

Zusätzlich habe ich ein Suchfeld in meiner Seite eingebaut. Wenn man in dieses Feld etwas hereinschreibt und Enter drückt, beginnt die Suche.

Typo sucht aber erst im Seiteninhalt und da findet er nichts. Erst dannach kann man in der Combobox von "Seiteninhalt" auf "Überschriften und Stichworte" umstellen.

Wo kann man das ändern?

Gibt es die Möglichkeit es so einzustellen, das automatisch in beiden gesucht wird. Also in Seiteninhalt und Überschriften und Stichwörtern ???

Wäre über Eure Hilfe sehr dankbar.

Gruß
Celeron

Dirk Jung ·

Hallo,

die einfache Suche bietet solche Möglichkeiten meines Wissen nicht.

Ich habe mich mit der Indexsuche befasst, die viel weitreichendere Möglichkeiten bietet. So kann man eine einfache Stichwortsuche realisieren, die nach Wortteilen im Content sucht:

<!--Stichwortsuche-->
<form style="margin:0;" action="index.php?id=461" method="POST" name="tx_indexedsearch">
<table border="0" cellspacing="0" cellpadding="0" width="160">

<tr>
 <td align="center">
 <input title="Suche nach Wortteilen. Mehrere Suchbegriffe werden UND-verknüpft." type="text" name="tx_indexedsearch[sword]" value="Suchbegriff(e)" style="background-color:lightcyan; color:black; border: 2 solid rgb(91,189,43); width:160px;">
 </td>
</tr>

<tr>
 <td align="center">
 <input type="submit" name="tx_indexedsearch[submit_button]" value="Suche" style="background-color:white; color:black; border: 2 solid rgb(91,189,43); font-size:10px;">
<!--Ausgabe auf der Seite "Erweiterte Suche"-->
<input type="hidden" name="tx_indexedsearch[ext]" value="1">
<!--Suche nach Wortteil-->
<input type="hidden" name="tx_indexedsearch[type]" value="1">
<!--Suchwörter UND-->
<input type="hidden" name="tx_indexedsearch[defOp]" value="0">

 </td>
</tr>

</table>
</form>

<br>

<!--Button zur "Erweiterten Suche"-->
<form action="index.php?id=461" method="POST" name="tx_indexedsearch">
<table border="0" cellspacing="0" cellpadding="0" width="160">

<tr>
 <td align="center">
 <input type="submit" name="tx_indexedsearch[submit_button]" value="Profisuche" style="background-color:white; color:black; border: 2 solid rgb(91,189,43); font-size:10px;">
 <!--Sprung auf der Seite "Erweiterte Suche"-->
 <input type="hidden" name="tx_indexedsearch[ext]" value="1">
 </td>
</tr>

</table>
</form>

Das hier erzeugt ein Eingabefeld, in das man ein oder mehrere Wortteile eingeben kann. Durch die hidden-Felder wird bestimmt, wie mit der Eingabe verfahren werden soll. Wenn man mit den Suchergebnissen nicht zufrieden ist, kann man auf der Seite, auf der das Suchergebnis ausgegeben wird, direkt die erweiterte Suche benutzen. Unter dem Suchfeld finden sich zwei Buttons: "Suche", und die Suche zu starten, und "Profisuche", um direkt zu der Profisuche (so nenne ich die erweiterte Suche) zu springen.

Das Eingabefeld habe ich fest in mein HTML-Template eingebaut. Man kann also jederzeit die Suche benutzen. Ich habe das selber zusammengebastelt aus dem Quellcode von der Seite von Kaspar. Den Button zum Aufrufen der erweiterten Suche habe ich mir selber ausgedacht.

http://typo3.com

Vielleicht übernimmst du einfach man den obeigen Code und experientierst ein wenig mit den hidden-Feldern.

Übrigens: Es gibt auch eine aufschlussreiche Dokumentation. Besonders zu beachten ist der Einsatz der Marker, die bestimmen, von wo bis wo auf der Seite die Suche gehen soll. So kann man bestimmen, dass wirklich nur der Content durchsucht wird und Menüs etc. nicht. Zu finden auf der Übersichtsseite unter Extension Manuals:

http://typo3.org/1421.0.html

Gruß

Dirk

db ·

Bei mir sucht die Suche und findet auch....

Seiteninhalt anlegen, Typ auf "Suchen" stellen, sonst braucht es nichts.

Dann steht bei mir folgendes im Template:

tt_content.search.30.dataArray.10.label = Suchbegriff:
tt_content.search.30.dataArray.20.label = Suchen in:
tt_content.search.30.dataArray.40.value = Absenden
tt_content.search.30.dataArray.20.valueArray.10.value = tt_content.header-bodytext-imagecaption
tt_content.search.30.dataArray.20.valueArray.10.label = Seiteninhalt
tt_content.search.30.dataArray.20.valueArray.20.label = Überschriften
tt_content.search.30.dataArray.20.valueArray.20.value = pages.title-subtitle-keywords-description:tt_content.header
tt_content.search.30.labelWrap.wrap = <font face="Verdana" size="1"> | </font>

Am wichtigsten scheint mir die vierte und siebente Zeile zu sein, denn dort legt man fest wo in der Datenbank gesucht wird.

Hoffentlich hilft es.

PS: Dirk Jung hat natürlich recht, Indexed-Search ist wesentlich leistungsfähiger.

db ·
celeron schrieb

Gibt es die Möglichkeit es so einzustellen, das automatisch in beiden gesucht wird. Also in Seiteninhalt und Überschriften und Stichwörtern ???

Ja, nämlich vierte und siebente Zeile zusammenfassen.
Und dann natürlich .20.label = ......
und .20.value = ......
einfach löschen.

Allerdings braucht es dann keine Combo-Box mehr..... 😃

celeron ·

Super hat funktioniert.

Noch mal vielen dank an Euch.
Ich komme mit beiden Varianten zu meinem Ziel.

Gruß
celeron

xxxxxx ·

wo finde ich die Templates, wo ich den code unten verändern kann?

Code:
tt_content.search.30.dataArray.10.label = Suchbegriff:
tt_content.search.30.dataArray.20.label = Suchen in:
tt_content.search.30.dataArray.40.value = Absenden
tt_content.search.30.dataArray.20.valueArray.10.value = tt_content.header-bodytext-imagecaption
tt_content.search.30.dataArray.20.valueArray.10.label = Seiteninhalt
tt_content.search.30.dataArray.20.valueArray.20.label = Überschriften
tt_content.search.30.dataArray.20.valueArray.20.value = pages.title-subtitle-keywords-description:tt_content.header
tt_content.search.30.labelWrap.wrap = <font face="Verdana" size="1"> | </font>

hab auf buton "template" gedrückt und im "Steiten-Baum" auf "Suche-Seite" gedrückt, aber da kommt nix! da steht nur -> template=nicht vorhanden!

bitte erkläre es mir!
danke!

Dirk Jung ·

Hallo,

es ist völlig egal, in welchem Template Du den Code packst, Hauptsache ist, das Template gilt für die betreffenden Seiten. Wenn Du also nur ein Template für Deine Website hast, packst Du es hierein.