Zum Inhalt springen

Normale Suche auf allen Seiten einbinden

Erstellt am 11. Februar 2008 · 3 Antworten · letzte Antwort am 12. Februar 2008

Tags: Suche, Frage

cordman ·

Hallo Leute,

ich möchte gerne, daß auf jeder Seite eine Suchbox angezeigt wird damit man schnell zur benötigten Information gelangt.
Das habe ich bisher immer mit der "macina_searchbox" realisiert, da ich auf der entsprechenden Seite mit Extension "indexed_search" arbeite.
Dabei dauert die Suchanfrage aber leider immer ewig lange und findet eigentlich zuviele Seiten, da die Indexsuche auch alle mit den Programmen "catdoc", "xlhtml" sowie "xpdf" extrahierten Daten durchsucht.

Deswegen möchte ich zuerst die normale Suche benutzen und dann die Option bieten mit der Indexssuche fortzufahren.
Jetzt mal zu meiner Frage.. 🙂

Wie kann ich eine Suchbox auf allen Seiten für die normale Suche realisieren?

Ich habe mir das etwa so gedacht, was aber nicht klappt..

lib {
	# Suchbox
	suchbox = COA
	suchbox {
		# Gesamtwrap
		wrap = <!-- Suchbox --><div class="suchbox">|</div><!-- /Suchbox -->
		10 = TEXT
		10 {
			value (					
				<form action="index.php?id=764&no_cache=1" method="post" name="searchform" id="searchform">
					<input type="text" name="sword" id="" size="20" alt="search" value="Suchbegriff eingeben..." onblur="if(this.value=='') this.value='Suchbegriff eingeben...';" onfocus="if(this.value=='Suchbegriff eingeben...') this.value='';" />	
					<input type="hidden" name="submit" />
				</form>
			)		
		}											
	}
}

Die ID ist die Seite auf der die normale Suchfunktion eingebunden ist (page:id).

Hat jemand das schonmal gemacht oder kann mir ein wenig auf die Sprünge helfen?
Habe irgendwie ein Brett vorm Kopf und bin für jede Hilfe dankbar 🙂

Grüße

ttim ·

jetzt kommt wieder der mit seinen scheiss ideen:

wie ich es realisieren würde:

im Template einen Marker (zB: ###suche### anlegen)
diesen Marker mit deinem Template ansprechen.

page = PAGE

page {

        typeNum = 0

        10 = TEMPLATE

        10 {

                template = TEXT

                template.file = !!fileadmin/templates/designvorlage.tmpl!!

                workOnSubpart = SCREEN

                marks {

                        !!suche!! = CONTENT

                        !!suche!! {

                                table = tt_content

                                select {pidInList = !!14!!
                                        orderBy = sorting
                                        where = colPos= 0
}
} 
}
}

Alles was zwischen zwei Ausrufezeichen steht, muss ersetzt werden.
die 14 ist eine Page id auf welcher du dein suchformular hast.

es gibt bestimmt bessere Wege, ich gehe immer den Weg, auf welchem es am meisten Stolpersteine hat. 😉

gruss

cordman ·

Danke für deine schnelle Antwort!

Leider ist das nicht ganz das was ich machen möchte, da ich die Box selber gestalten möchte (nur ein <input> zur Direkteingabe) und dann quasi nur die Formulareingabe an die Suchseite übergeben möchte, sodass direkt Ergebnisse ausgespuckt werden.

Hat jemand eine Idee wie man das realisiert?

cordman ·

Ich habe es nun selber gelöst.

Hier der Codeschnipsel:

lib {
	...
	# Suchbox	
	suchbox = COA
	suchbox{
		wrap = <div class="suchbox">|</div>
		10 = TEXT
		10 {
			insertData = 1			
			/* Variablen anpassen
			Überschriften und Schlagwörter:
			&pages.title-subtitle-keywords-description:tt_content.header
			Seiteninhalt: 
			&tt_content.header-bodytext-imagecaption
			*/
			value (
				<form action="index.php?id=764&amp;no_cache=1&scols=tt_content.header-bodytext-imagecaption" enctype="multipart/form-data" method="post">
					<div style="display:none;">
						<input type="hidden" name="stype" id="" value="L0" />						
					</div>
					<input type="text" name="sword" size="20" value="{$sword}" title="{$sword}" />				
				</form>
			)
		}
	}
	...
}

Die Variablen (id der Suchseite und Suchtoptionen) müssen natürlich auf die jeweilige Umgebung angepasst werden.

Grüße