Codebeispiele - Sitemap
Aus DynPG-Wiki
(Weitergeleitet von Codebeispiel - Sitemap)
Sitemap
Beschreibung:
Eine Sitemap einbinden
Voraussetzungen:
- einen Artikel, der das Modul Dynamische Navigation einbindet
Snippet:
<?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 } ?>
<toggledisplay status="hide" showtext="▼ Quelltext anzeigen" hidetext="▼ Quelltext verbergen" linkstyle="font-size:normal;"> index.php:
<?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" /> <!--eigene style.css einbinden--> <link rel="stylesheet" type="text/css" href="sitemap.css" /> <!--Sitemap style einbinden--> </head> <body> <h1>Sitemap</h1> <!-- Navigation --> <div id="navigation"> <?php $GLOBALS["DynPG"]->SetupTemplate('uneditable'); // diese Template verhindert, dass der Artikel selbst im Frontend-Editiermodus bearbeitet werden kann $GLOBALS["DynPG"]->SetParam_A_Anytime(true); // dynamische Navigation immer anzeigen $GLOBALS["DynPG"]->SetParam_A_Article(1); // Artikelnummer der dynamischen Navigation $GLOBALS["DynPG"]->SetParam_A_ArticleHeader(false); // Artikelkopf (Titel, Lead-Bild und Lead-Text) ausblenden $GLOBALS["DynPG"]->SetParam_A_CategoryNavigation(false); // Kategorienavigation (Gruppe > Untergruppe > Artikel) ausblenden $GLOBALS["DynPG"]->SetParam_A_PrintNavigation(false); // Drucken-Link ausblenden $GLOBALS["DynPG"]->Write_Article(); // dynamische Navigation ausgeben $GLOBALS["DynPG"]->SetupTemplate('default'); // Standard-Template setzen ?> </div> <!-- Inhalt --> <div id="inhalt"> <?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) || (isset($_GET['read_category']) && $_GET['read_category'] == 7)) { $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 } ?> </div> </body> </html>
sitemap.css:
/* das Sitemap div */ div#sm_course_categories_menu { } /* Alle divs innerhalb der Sitemap */ div#sm_course_categories_menu div { padding-left: 20px; /* Einrückung */ cursor: pointer; } /* Definitionen für Artikel innerhalb der Liste */ div#sm_course_categories_menu p.sm_articles { line-height: 20px; list-style-type: square; list-style-position: outside; display: list-item; }
style.css:
/* 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; }
</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:
- einen Artikel, der das Modul Dynamische Navigation einbindet
Snippet:
sitemap.xml.php:
<?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 ?>
<toggledisplay status="hide" showtext="▼ Quelltext anzeigen" hidetext="▼ Quelltext verbergen" linkstyle="font-size:normal;"> index.php:
<?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" /> <!--eigene style.css einbinden--> </head> <body> <h1>XML Sitemap</h1> <!-- Navigation --> <div id="navigation"> <?php $GLOBALS["DynPG"]->SetParam_PlugIn_Param('DPGdynmenu', 'href_subpages', Array( 7 => Array( 'page' => '../examples/sitemap-xml/sitemap.xml.php{query}', 'successors' => true ) ) ); $GLOBALS["DynPG"]->SetupTemplate('uneditable'); // diese Template verhindert, dass der Artikel selbst im Frontend-Editiermodus bearbeitet werden kann $GLOBALS["DynPG"]->SetParam_A_Anytime(true); // dynamische Navigation immer anzeigen $GLOBALS["DynPG"]->SetParam_A_Article(1); // Artikelnummer der dynamischen Navigation $GLOBALS["DynPG"]->SetParam_A_ArticleHeader(false); // Artikelkopf (Titel, Lead-Bild und Lead-Text) ausblenden $GLOBALS["DynPG"]->SetParam_A_CategoryNavigation(false); // Kategorienavigation (Gruppe > Untergruppe > Artikel) ausblenden $GLOBALS["DynPG"]->SetParam_A_PrintNavigation(false); // Drucken-Link ausblenden $GLOBALS["DynPG"]->Write_Article(); // dynamische Navigation ausgeben $GLOBALS["DynPG"]->SetupTemplate('default'); // Standard-Template setzen ?> </div> <!-- Inhalt --> <div id="inhalt"> <?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 ?> </div> <!-- Link zur XML Sitemap --> <div id="footer"> <a href="sitemap.xml.php" >XML Sitemap</a> </div> </body> </html>
sitemap.xml.php:
<?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 ?>
style.css:
/* 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; }
</toggledisplay>