Codebeispiele - Sitemap

Aus DynPG-Wiki
(Weitergeleitet von Codebeispiel - Sitemap)
Wechseln zu: Navigation, Suche

Sitemap

Beschreibung:

Eine Sitemap einbinden

Voraussetzungen:

Snippet:

[php,N] <?php

 // Testen, ob die Sitemap im Menü angewählt wurde
 if ((isset($_GET['read_group']) && $_GET['read_group'] == <ID der Sitemap Gruppe>)
      || (isset($_GET['read_category']) && $_GET['read_category'] == <ID der Sitemap Gruppe>)) {
   $GLOBALS["DynPG"]->saveCurrentParams();                  // aktuelle Parametereinstellungen speichern
   $GLOBALS["DynPG"]->SetParam_PlugIn_Template('DPGdynmenu', 'sitemap');                   // Sitemap-Template auswählen
   $GLOBALS["DynPG"]->SetParam_PlugIn_Param('DPGdynmenu', 'hide_not_public_groups', true); // versteckte Gruppen ausblenden
   $GLOBALS["DynPG"]->SetParam_PlugIn_Param('DPGdynmenu', 'full_load', true);              // alle Gruppen und Artikel ausgeben
   $GLOBALS["DynPG"]->SetParam_A_Anytime(true);             // Sitemap muss immer angezeigt werden
   $GLOBALS["DynPG"]->SetParam_A_CategoryNavigation(false); // Kategorienavigation (Gruppe > Untergruppe > Artikel) ausblenden
   $GLOBALS["DynPG"]->SetParam_A_PrintNavigation(false);    // Drucken-Link ausblenden
   $GLOBALS["DynPG"]->SetParam_A_ArticleHeader(false);      // Artikelkopf (Titel, Lead-Bild und Lead-Text) ausblenden 
   $GLOBALS["DynPG"]->SetParam_A_Article(1);                // Artikelnummer der dynamischen Navigation
   $GLOBALS["DynPG"]->Write_Article();                      // Sitemap ausgeben
   $GLOBALS["DynPG"]->loadSavedParams();                    // vorherige Parametereinstellungen wiederherstellen
 }

?>

Beispiel ausführen

<toggledisplay status="hide" showtext="▼ Quelltext anzeigen" hidetext="▼ Quelltext verbergen" linkstyle="font-size:normal;"> index.php: [php,N] <?php

 require '../../dynpg/getcontent.php';                   // DynPG-Funktionalität einbinden
 $GLOBALS["DynPG"]->SetParam_PathToRoot('../../dynpg/'); // DynPG-Pfad setzen

?>

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en-US" lang="en-US"> <head>

 <title>Sitemap</title>
 <meta http-equiv="content-type" content="text/html; charset=iso-8859-1" />
 <link rel="stylesheet" type="text/css" href="style.css" />    
 <link rel="stylesheet" type="text/css" href="sitemap.css" />  

</head>

<body>

Sitemap

   <?php
   $GLOBALS["DynPG"]->Write_AllGroups();                      // Gruppenlisten-Ansicht ausgeben (standardmäßig abhängig vom Navigationskontext)
   $GLOBALS["DynPG"]->SetParam_AA_CategoryNavigation(false);  // Kategorienavigation (Gruppe > Untergruppe > Artikel) ausblenden
   $GLOBALS["DynPG"]->Write_AllArticles();                    // Artikdelliste-Ansicht ausgeben (standardmäßig abhängig vom Navigationskontext)
   $GLOBALS["DynPG"]->SetParam_A_Anytime(false);              // Parameter wieder auf false setzen (wurde bei der Navigation auf true gesetzt)
   $GLOBALS["DynPG"]->Write_Article();                        // Artikel-Detailansicht ausgeben
   // Testen, ob die Sitemap im Menü angewählt wurde
   if ((isset($_GET['read_group']) && $_GET['read_group'] == 7)

</toggledisplay>

XML Sitemap

Beschreibung:

Eine XML Sitemap einbinden. Die eigentliche Sitemap wird in einer separaten Datei erzeugt. Die Einbindung kann über einen Link auf die Datei oder über das Navigationsmenü erfolgen.

Voraussetzungen:

Snippet:

sitemap.xml.php: <code>[php,N] <?php

 require '../../dynpg/getcontent.php';                   // DynPG-Funktionalität einbinden
 $GLOBALS["DynPG"]->SetParam_PathToRoot('../../dynpg/'); // DynPG-Pfad setzen
 echo '<?xml version="1.0" encoding="UTF-8"?>';
 $GLOBALS["DynPG"]->SetParam_PlugIn_Template('DPGdynmenu', 'xml-sitemap');                  // XML-Sitemap-Template auswählen               
 $GLOBALS["DynPG"]->SetParam_PlugIn_Param('DPGdynmenu', 'hide_not_public_groups', true);    // versteckte Gruppen ausblenden
 $GLOBALS["DynPG"]->SetParam_PlugIn_Param('DPGdynmenu', 'full_load', true);                 // alle Gruppen und Artikel ausgeben
 $GLOBALS["DynPG"]->SetParam_PlugIn_Param('DPGdynmenu', 'href_page_groups', 'index.php');   // Verweise auf die Hauptdatei der Webseite setzen
 $GLOBALS["DynPG"]->SetParam_PlugIn_Param('DPGdynmenu', 'href_page_articles', 'index.php'); // Verweise auf die Hauptdatei der Webseite setzen
 $GLOBALS["DynPG"]->SetParam_PlugIn_Param('DPGdynmenu', 'href_page_detail', 'index.php');   // Verweise auf die Hauptdatei der Webseite setzen
 $GLOBALS["DynPG"]->SetupTemplate('plugin_content');      // Template setzen, welches nur die XML-Anweisungen ausgibt
 $GLOBALS["DynPG"]->SetParam_A_Anytime(true);             // Sitemap muss immer angezeigt werden
 $GLOBALS["DynPG"]->SetParam_A_Article(1);                // Artikelnummer der dynamischen Navigation
 $GLOBALS["DynPG"]->Write_Article();                      // Sitemap ausgeben

?> </code>

Beispiel ausführen

<toggledisplay status="hide" showtext="▼ Quelltext anzeigen" hidetext="▼ Quelltext verbergen" linkstyle="font-size:normal;"> index.php: <code>[php,N] <?php

 require '../../dynpg/getcontent.php';                   // DynPG-Funktionalität einbinden
 $GLOBALS["DynPG"]->SetParam_PathToRoot('../../dynpg/'); // DynPG-Pfad setzen

?>

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en-US" lang="en-US"> <head>

 <title>XML Sitemap</title>
 <meta http-equiv="content-type" content="text/html; charset=iso-8859-1" />
 <link rel="stylesheet" type="text/css" href="style.css" />    

</head>

<body>

XML Sitemap

   <?php
   $GLOBALS["DynPG"]->Write_AllGroups();         // Gruppenlisten-Ansicht ausgeben (standardmäßig abhängig vom Navigationskontext)
   $GLOBALS["DynPG"]->Write_AllArticles();       // Artikdelliste-Ansicht ausgeben (standardmäßig abhängig vom Navigationskontext)
   $GLOBALS["DynPG"]->SetParam_A_Anytime(false); // Parameter wieder auf false setzen (wurde bei der Navigation auf true gesetzt)
   $GLOBALS["DynPG"]->Write_Article();           // Artikel-Detailansicht ausgeben
   ?>

</body> </html> </code>

sitemap.xml.php: <code>[php,N] <?php

 require '../../dynpg/getcontent.php';                   // DynPG-Funktionalität einbinden
 $GLOBALS["DynPG"]->SetParam_PathToRoot('../../dynpg/'); // DynPG-Pfad setzen
 print '<?xml version="1.0" encoding="UTF-8"?>';
 $GLOBALS["DynPG"]->SetParam_PlugIn_Template('DPGdynmenu', 'xml-sitemap');                  // XML-Sitemap-Template auswählen               
 $GLOBALS["DynPG"]->SetParam_PlugIn_Param('DPGdynmenu', 'hide_not_public_groups', true);    // versteckte Gruppen ausblenden
 $GLOBALS["DynPG"]->SetParam_PlugIn_Param('DPGdynmenu', 'full_load', true);                 // alle Gruppen und Artikel ausgeben
 $GLOBALS["DynPG"]->SetParam_PlugIn_Param('DPGdynmenu', 'href_page_groups', 'index.php');   // Verweise auf die Hauptdatei der Webseite setzen
 $GLOBALS["DynPG"]->SetParam_PlugIn_Param('DPGdynmenu', 'href_page_articles', 'index.php'); // Verweise auf die Hauptdatei der Webseite setzen
 $GLOBALS["DynPG"]->SetParam_PlugIn_Param('DPGdynmenu', 'href_page_detail', 'index.php');   // Verweise auf die Hauptdatei der Webseite setzen
 $GLOBALS["DynPG"]->SetupTemplate('plugin_content');      // Template setzen, welches nur die XML-Anweisungen ausgibt
 $GLOBALS["DynPG"]->SetParam_A_Anytime(true);             // Sitemap muss immer angezeigt werden
 $GLOBALS["DynPG"]->SetParam_A_Article(1);                // Artikelnummer der dynamischen Navigation
 $GLOBALS["DynPG"]->Write_Article();                      // Sitemap ausgeben

?> </code>

style.css: <code>[css,N] /* Navigation */ div#navigation{

 /* Angaben für ein zweispaltiges Layout */
 float:left;
 width:150pt;
 margin-left:5pt;
 margin-right:5pt;

 border:1px solid #AAA;

}

/* Inhalt */ div#inhalt {

 /* Angaben für ein zweispaltiges Layout */ 
 margin-left:165pt;
 margin-right:5pt;

}

/* Alle divs innerhalb des Navigationsmenüs verschieben ihren Inhalt

  um 10 pt nach rechts. Durch die Verschaltelung von divs innerhalb
  des Menüs erhalten wir so eine Einrückung. */

div#course_categories_menu div {

 padding-left:10pt;

}

/* Alle links innerhalb des Navigationsmenüs */ div#course_categories_menu a {

 text-decoration:none;

} </code>

</toggledisplay>