Suchfunktion: Unterschied zwischen den Versionen

Aus DynPG-Wiki
Wechseln zu: Navigation, Suche
 
K
Zeile 1: Zeile 1:
 
[[Kategorie:Integration in eine Webseite]]
 
[[Kategorie:Integration in eine Webseite]]
''Ursprünglicher Autor: Urs Gamper, Daniel Schliebner''
 
 
 
Immer wieder kommt es vor, dass auf grösseren Web-Sites Suchfelder eingebaut werden müssen. DynPG durchsucht mit der eingebauten Such-Engine die Titel- und Lead-Texte sowie die Suchindizes, welche bei jedem Artikel manuell eingegeben werden können.
 
Immer wieder kommt es vor, dass auf grösseren Web-Sites Suchfelder eingebaut werden müssen. DynPG durchsucht mit der eingebauten Such-Engine die Titel- und Lead-Texte sowie die Suchindizes, welche bei jedem Artikel manuell eingegeben werden können.
  
== Einbau in die Webseite ==
+
== Einbau der Suche in die Webseite ==
 
An derjenigen Stelle, wo wir das Suchfeld einbauen wollen, fügen wir nachfolgenden Code ein.
 
An derjenigen Stelle, wo wir das Suchfeld einbauen wollen, fügen wir nachfolgenden Code ein.
 
<code>[php,N]
 
<code>[php,N]
Zeile 13: Zeile 11:
 
</code>
 
</code>
  
Die erste Zeile verursacht das Auflisten der gefundenen Resultate in der Datei "searchresults.php".
+
Durch die erste Zeile erfolgt das Auflisten der gefundenen Resultate in der Datei "searchresults.php".
  
"searchresults.php" ist eigentlich genau gleich aufgebaut wie alle anderen Seiten, hat jedoch dort wo die Suchresultate angezeigt werden sollen folgenden Eintrag:
+
"searchresults.php" ist eigentlich genau gleich aufgebaut wie alle anderen Seiten, hat jedoch dort wo die Suchresultate angezeigt werden sollen, folgenden Eintrag:
 
<code>[php,N]
 
<code>[php,N]
 
<?php
 
<?php
Zeile 27: Zeile 25:
 
Die Suche greift auf das Template in <tt>(cms)/tpl/default/search-form.tpl</tt> zu.  
 
Die Suche greift auf das Template in <tt>(cms)/tpl/default/search-form.tpl</tt> zu.  
  
''Bermerkung: <tt>(cms)</tt> kann sich ändern, je nachdem, unter welchem Verzeichnisnamen Sie das Backend von DynPG abgelegt haben.''
+
[[Image:note.png]] ''Bermerkung: <tt>(cms)</tt> kann sich ändern, je nachdem, unter welchem Verzeichnisnamen Sie das Backend von DynPG abgelegt haben.''
  
 
== Ausschluss von bestimmten Bereichen ==
 
== Ausschluss von bestimmten Bereichen ==
Zeile 65: Zeile 63:
 
== Diese Informationen als PDF ==
 
== Diese Informationen als PDF ==
 
Diese Informationen stehen mit dem Stand von heute (10:45, 23. Mär 2009 (CET)) auch als PDF zur Verfügung: [[Media:Einbau_der_DynPG-Suche.pdf|Einbau_der_DynPG-Suche.pdf]].
 
Diese Informationen stehen mit dem Stand von heute (10:45, 23. Mär 2009 (CET)) auch als PDF zur Verfügung: [[Media:Einbau_der_DynPG-Suche.pdf|Einbau_der_DynPG-Suche.pdf]].
 +
 +
 +
''Ursprünglicher Autor: Urs Gamper, Daniel Schliebner''

Version vom 10. Mai 2010, 11:25 Uhr

Immer wieder kommt es vor, dass auf grösseren Web-Sites Suchfelder eingebaut werden müssen. DynPG durchsucht mit der eingebauten Such-Engine die Titel- und Lead-Texte sowie die Suchindizes, welche bei jedem Artikel manuell eingegeben werden können.

Einbau der Suche in die Webseite

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();
?>

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

"searchresults.php" ist eigentlich genau gleich aufgebaut wie alle anderen Seiten, hat jedoch dort wo die Suchresultate angezeigt werden sollen, folgenden Eintrag:

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

Die Suche greift auf das Template in (cms)/tpl/default/search-form.tpl zu.

Note.png Bermerkung: (cms) kann sich ändern, je nachdem, unter welchem Verzeichnisnamen Sie das Backend von DynPG abgelegt haben.

Ausschluss von bestimmten Bereichen

Es ist manchmal sinnvoll, wenn bestimmte Bereiche einer Web-Site von der Suche ausgeschlossen werden können. Deshalb nachfolgend noch einmal der ganze Code, welcher auf der searchresults.php eingefügt werden kann:

  1. <?php
  2. /* Lade default-Parameter Voreinstellungen (Semantik bleibt nur
  3.   * erhalten, wenn vorher nicht "saveCurrentParams" aufgerufen wurde). */
  4. $GLOBALS["DynPG"]->loadSavedParams();
  5. /* Schliesse einzelne Gruppen aus ("get_DynPG_Subgroups_Of" existiert
  6.   * erst seit DynPG Version >= 3.5.2 und gibt alle Untergruppen der
  7.   * angegebenen Gruppe aus). */
  8. $GLOBALS["DynPG"]->SetParam_AA_Groups(
  9. Array(),
  10. $GLOBALS["DynPG"]->get_DynPG_Subgroups_Of(1)
  11. );
  12. /* Implementiere einzelne Ansichten, damit Suchresultatsseite Ergebnisse
  13.   * anzeigt (in AA) und man wie gewohnt durch die Ansichten surfen kann
  14.   * (AG und A).*/
  15. $GLOBALS["DynPG"]->Write_AllGroups();
  16. $GLOBALS["DynPG"]->Write_AllArticles();
  17. $GLOBALS["DynPG"]->Write_Article();
  18. ?>

In diesem Code-Snippet geben Sie dabei in der markierten Zeile diejenige Nummer an, welche der Gruppe entspricht, die Sie inklusive aller Untergruppen ausschließen möchten (hier ist dies die ID 1). Alternativ können Sie auch eine Liste von Gruppen angeben, welche Sie ausschließen möchten, indem Sie AA_Groups stattdessen wie folgt belegen:

  1. $GLOBALS["DynPG"]->SetParam_AA_Groups(
  2. Array(),
  3. Array(1,2,3,5)
  4. );

Hiermit hätten Sie also entsprechend die Gruppen 1, 2, 3 und 5 aus der Suche heraus genommen.

Diese Informationen als PDF

Diese Informationen stehen mit dem Stand von heute (10:45, 23. Mär 2009 (CET)) auch als PDF zur Verfügung: Einbau_der_DynPG-Suche.pdf.


Ursprünglicher Autor: Urs Gamper, Daniel Schliebner