Seite 1 von 1
Suchfeld
Verfasst: 11.03.2005 11:12
von mgutt
wie mache ich mir ein eigenes Suchfeld, z.B. auf der Startseite?
Ich würde auch gerne Textlinks schalten. Soll heißen, wenn jemand auf "Honda Civic" klickt, dass dann im Forum danach gesucht wird.
Verfasst: 11.03.2005 15:30
von Christian_W
http://www.phpbb.de/viewtopic.php?t=74033
Für ein eigenes Feld musst Du ein
Formular erstellen und als Ziel die search.php angeben.
Gruß Christian
Verfasst: 14.03.2005 22:08
von mgutt
danke!
ok ich fasse mal zusammen:
Christian_W hat geschrieben:Dann musst Du die search.php anpassen.
Code: Alles auswählen
----- finde -----
$show_results = ( isset($HTTP_POST_VARS['show_results']) ) ? $HTTP_POST_VARS['show_results'] : 'posts';
----- ersetzte mit -----
if ( isset($HTTP_POST_VARS['show_results']) || isset($HTTP_GET_VARS['show_results']))
{
$show_results = ( isset($HTTP_POST_VARS['show_results']) ) ? $HTTP_POST_VARS['show_results'] : $HTTP_GET_VARS['show_results'];
}
else
{
$show_results = 'posts';
}
Die URL muss dann noch um den parameter show_results=topics ergänzt werden:
search.php?mode=results&show_results=topics&search_keywords=Suchbegriffe+getrennt+durch+Plus
Gruß Christian
Christian_W hat geschrieben:Du kannst die Worte direkt beim übergeben mit AND verknüpfen:
search.php?mode=results&show_results=topics&search_keywords=Suchbegriffe+AND+getrennt+AND+durch+AND+Plus
Oder Du änderst in der search.php die Standardeinstellung:
Code: Alles auswählen
---- finde ----
$search_terms = 0;
---- ersetze mit ----
$search_terms = 1;
Oder Du fügst wie bei $show_results in den code noch $HTTP_GET_VARS ein und übergibst auch das in der URL. (any/all)
Gruß Christian
Christian_W hat geschrieben:Also ich hab's gefunden. Du wirst aber um eine weitere kleine Änderung im code nicht herumkommen.
Code: Alles auswählen
----- öffne -----
search.php
----- finde -----
$search_fields = ( $HTTP_POST_VARS['search_fields'] == 'all' ) ? 1 : 0;
}
else
{
$search_fields = 0;
----- ersetze mit -----
$search_fields = ( $HTTP_POST_VARS['search_fields'] == 'msgonly' ) ? 0 : 1;
}
else
{
$search_fields = 1;
Zur Erklärung:
Standard bei der Suche ist: "Titel und Text durchsuchen" Das wird beim absenden durch search_fields=all übergeben.
Im code ist aber: "Nur Nachrichtentext durchsuchen" der Standard. Wenn search_fields=all nicht übergeben wird, wird nur der Text durchsucht.
Die oben angegebene Änderung macht den Standard des Formulars auch zum Standard im Code.
Gruß Christian
weiteres zur Zusammenfassung folgt...