Suchfunktion

Aus DynPG-Wiki
Wechseln zu: Navigation, Suche

DynPG durchsucht mit der eingebauten Such-Engine die Titel- und Lead-Texte sowie die Suchindizes, welche bei jedem Artikel manuell eingegeben werden können und gibt diese in einer Artikelliste aus.

Einbau der Suche in die Webseite

Suchfeld anzeigen

An derjenigen Stelle, wo wir das Suchfeld einbauen wollen, fügen wir nachfolgenden Code ein:

<?php
  $GLOBALS["DynPG"]->SetParam_SRCH_ResultPage('searchresults.php');
  $GLOBALS["DynPG"]->Write_ArticleSearch();
?>
Note.png Bemerkung: Für die Ausgabe des Suchfeldes wird das Template unter /tpl/default/search-form.tpl im DynPG Hauptverzeichnis verwendet.

Durch die erste Zeile erfolgt das Auflisten der gefundenen Resultate in der Datei searchresults.php.

Suchresultate anzeigen

Die Datei searchresults.php hat an der Stelle, wo die Suchresultate angezeigt werden sollen, ein Snippet zur Anzeige der drei Ansichten:

<?php
  $GLOBALS["DynPG"]->Write_AllGroups();
  $GLOBALS["DynPG"]->Write_AllArticles();
  $GLOBALS["DynPG"]->Write_Article();
?>

Ausschluss bestimmter Bereiche

Einzelne Gruppen ausschließen

Es ist manchmal sinnvoll oder erwünscht, bestimmte Bereiche einer Webseite von der Suche auszuschließen. Mit der nachfolgenden Anweisung können Sie Gruppen aus der Liste der Suchresultate ausschließen:

Einzelne Gruppen ausschließen

<?php
  $GLOBALS["DynPG"]->SetParam_AA_Groups( Array(), Array(1,2,3,5) );
 
  $GLOBALS["DynPG"]->Write_AllGroups();
  $GLOBALS["DynPG"]->Write_AllArticles();
  $GLOBALS["DynPG"]->Write_Article();
?>

Hiermit werden also entsprechend die Gruppen 1, 2, 3 und 5 aus der Suche ausgeschlossen.

Eine Gruppe einschließlich Untergruppen ausschließen

In diesem Code-Snippet geben Sie dabei in der entsprechenden Zeile diejenige Nummer an, welche der Gruppe entspricht, die Sie inklusive aller Untergruppen ausschließen möchten (hier ist dies die ID 1).

Eine Gruppe einschließlich aller Untergruppen ausschließen

<?php
  // Schließe eine Gruppe und alle Untergruppen aus
  $GLOBALS["DynPG"]->SetParam_AA_Groups(
                                         Array(),
                                         $GLOBALS["DynPG"]->get_DynPG_Subgroups_Of(1)
                                       );
 
  $GLOBALS["DynPG"]->Write_AllGroups();
  $GLOBALS["DynPG"]->Write_AllArticles();
  $GLOBALS["DynPG"]->Write_Article();
?>