Sitemap: Unterschied zwischen den Versionen

Aus DynPG-Wiki
Wechseln zu: Navigation, Suche
K (Sitemap-Tutorial wurde nach Sitemap verschoben)
(Infobox-Templates eingefügt)
 
(8 dazwischenliegende Versionen des gleichen Benutzers werden nicht angezeigt)
Zeile 1: Zeile 1:
''Ursprünglicher Autor: Marco Ris''
+
[[Kategorie:Integration in eine Webseite]]
 +
Eine Sitemap gibt Besuchern Ihrer Webseite einen Überblick über den gesamten Inhalt. Alle Gruppen und Artikel werden dabei in strukturierter und zumeist hierarchischer Form angezeigt. Eine Sitemap ist neben den [[Meta-Daten und dynamische Seitentitel|Meta-Daten]] ein weiteres Werkzeug zur Suchmaschinenoptimierung.
  
== Artikel mit "Dynamisches Menü" erstellen ==
+
== Einrichten der Sitemap ==
[[Bild:sitemap1.png|600px]]
+
In DynPG wird eine Sitemap basierend auf dem Navigationsmenü erstellt. Für die Generierung der Übersicht müssen folgende Schritte durchgeführt werden:
 +
# es muss ein [[Dynamische Navigation|dynamisches Navigationsmenü]] samt zugehörigem Artikel erstellt werden
 +
# anschließend wird eine Seite erstellt, welche die Sitemap ausgibt
 +
# und zuletzt muss dieser Artikel in die Webseite integriert werden.
  
# Falls noch kein Dynamisches Menü in DynPG erstellt wurde: zu den Texten wechseln.
+
Im Folgenden werden wir uns mit diesen drei Schritten befassen und anschließend noch darauf eingehen, wie wir bestimmte Artikel in der Sitemap ausblenden können. Danach können Sie auch das [[Tutorial - Einbau einer Sitemap]] lesen, welches diese Schritte nocheinmal beispielhaft durchgeht und einen alternativen Weg für die Einbindung der Sitemap in die Webseite zeigt.
# Ein Dynamisches Menü über das untere rechte Bild in den Text einfügen. ''„Dynamisches Menü einfügen“'' wird angezeigt, sobald man mit der Maus darüber fährt.
+
# Im Text erscheint nun diese Grafik ''„Dynamisches Menü“''
+
# Den „Menü“-Artikel nun in den Ordner ''„Diverse Artikel“'' (verschieben)
+
# Nun nur noch auf den Knopf ''„Text & zugehörigen Artikel erstellen“'' klicken.
+
  
== Artikel mit Sitemap erstellen ==
+
=== Erstellen des dynamischen Menüs ===
[[Bild:sitemap2.png|600px]]
+
Sofern Sie noch kein dynamisches Menü erstelt haben, finden Sie hierzu eine ausführliche Anleitung in den folgenden Artikeln:
 +
* [[Implementation eines kompletten Hauptmenüs#Erstellen des Navigationsmenüs|Implementation eines kompletten Hauptmenüs > Erstellen des Navigationsmenüs]]
 +
* [[DynPG Module einbinden]]
 +
* [[Dynamische Navigation#Einrichten|Dynamische Navigation einrichten]]
  
Nun auf ''„+ Artikel Formular anzeigen“'' klicken
+
=== Sitemap erstellen ===
 +
Um eine Sitemap zu erstellen, können wir das folgende Snippet verwenden:
  
[[Bild:sitemap3.png|600px]]
+
'''Sitemap-Snippet'''
 +
<code>[php,N]
 +
<?php
 +
// Sitemap Template für die dynamische Navigation setzen
 +
$DynPG->SetParam_PlugIn_Template('DPGdynmenu', 'sitemap');
 +
// Versteckte Gruppen ausblenden
 +
$DynPG->SetParam_PlugIn_Param('DPGdynmenu', 'hide_not_public_groups', TRUE);
 +
// Gruppenbaum expandieren
 +
$DynPG->SetParam_PlugIn_Param('DPGdynmenu', 'full_load', TRUE);
  
# Den Titel ''„Sitemap“'' eingeben
+
$DynPG->SetParam_A_Anytime(true);            // Sitemap immer anzeigen
# Auf den Knopf ''„Erstellen“'' klicken
+
$DynPG->SetParam_A_CategoryNavigation(false); // Kategorienavigation nicht anzeigen
 +
$DynPG->SetParam_A_PrintNavigation(false);    // Drucken-Button nicht anzeigen
 +
$DynPG->SetParam_A_ArticleHeader(false);      // Artikelkopf nicht anzeigen
 +
$DynPG->SetParam_A_Article(<ID>);            // ID des Artikels setzen, der das dynamische Menü enthält
  
[[Bild:sitemap4.png|600px]]
+
$DynPG->Write_Article();                      // Sitemap ausgeben
 +
?>
 +
</code>
  
Der Sitemap-Artikel ist nun im Ordner ''„Diverse Artikel“'' mit der Nummer 46 zu sehen.
+
{{Caution
 +
|Sie müssen in diesem Snippet noch den Platzhalter <tt><ID></tt> durch die ID des Artikels ersetzen, der die dynamische Navigation enthält.}}
  
 +
Hier wird zuerst das Template für die dynamische Navigation auf <tt>sitemap</tt> gesetzt, was die Ausgabe des Navigationsmenüs als Sitemap bewirkt. Danach werden die versteckten Gruppen ausgeblendet und das Anzeigen aller Gruppen festgelegt.
  
== Sitemap-Artikel in Website einbinden ==
+
=== Sitemap in die Webseite einbinden ===
[[Bild:sitemap5.jpg|600px]]
+
Um die Sitemap in Ihre Webseite einzubinden, gibt es verschiedene mögliche Wege. Einer ist die Erstellung einer neuen Webseite. Erstellen Sie dazu eine Kopie der Datei, welche das Layout der Seite festlegt und das dynamische Menü sowie die Inhaltsanzeige einbindet (in der Regel <tt>index.php</tt>). Benennen Sie die Kopie in <tt>sitemap.php</tt> um. Erstellen Sie nun im Backend auf der obersten Gruppenebene eine neue Gruppe mit dem Namen ''Sitemap''. Wir müssen nun das dynamische Navigationsmenü so anpassen, das bei einem Klick auf den Menüpunkt ''Sitemap'' die Datei <tt>sitemap.php</tt> aufgerufen wird. In der Datei <tt>sitemap.php</tt> möchten wir wiederum für alle Menüpunkte außer ''Sitemap'' auf die Datei <tt>index.php</tt> verlinken.
  
# Wenn die Webseite über ein dynamisches Menü von DynPG verfügt, eine Kopie von der index.php mit dem Namen sitemap.php erstellen.
+
{{Note
# Anstelle vom ''„Einzelnen Artikel“'' Code, nun den Sitemapcode einfügen. Ganz wichtig ist auch hier, dass der Headercode und der CSS-Code drin sind!
+
|Einen anderen Weg zum Einbinden einer Sitemap, der auf das Erstellen einer Kopie verzichtet, finden Sie im [[Tutorial - Einbau einer Sitemap]].}}
  
[[Bild:sitemap6.png|600px]]
+
==== Anpassen der Datei index.php ====
 +
Um nun für den Menüpunkt ''Sitemap'' auf die Datei <tt>sitemap.php</tt> zu verlinken, müssen wir in dieser Datei folgende Anweisung vor die Ausgabe des Navigationsmenüs schreiben:
  
Im Array sind die IDs der einzelnen Ordner (Die auch als Rubriken wirken), die in der nächsten Abbildung gut zu sehen sind.
+
'''<tt>index.php</tt> - Navigationsmenü'''
 
+
Den einzigen Wert, den wir verändern, ist hier bei
+
 
<code>[php,N]
 
<code>[php,N]
$GLOBALS["DynPG"]->SetParam_A_Article(1);
+
$GLOBALS["DynPG"]->SetParam_PlugIn_Param('DPGdynmenu', 'href_subpages', array(<ID> => '../<Pfad zu ihrer Webseite>/sitemap.php{query}'));
 
</code>
 
</code>
von 1 auf 46 (Den Wert haben wir auch weiter oben schon als ''Nummer'' gesehen).
 
  
== Unerwünschte Gruppen ausblenden ==
+
{{Caution
[[Bild:sitemap7.png|600px]]
+
|Sie müssen in dieser Anweisung noch den Platzhalter <tt><ID></tt> durch die ID der Sitemap-Gruppe ersetzen, die Sie zuvor erstellt haben. <tt><Pfad zu ihrer Webseite></tt> muss durch den relativen Pfad zur Datei <tt>sitemap.php</tt> ersetzt werden, ausgehend vom DynPG Hauptverzeichnis.}}
  
Hier nochmal die Abbildung mit den Rubrik-Ordner. Die grauen Ordner wurden ausgeblendet, damit sie nicht im Menü auftauchen. Diese sollten unsichtbar bleiben. Damit die Ordner aber auch in der Sitemapansicht nicht angezeigt werden, müssen wir diese mittels CSS ausblenden. Die CSS-Datei liegt im Verzeichnis: <tt>Ihr_Installiertes_CMS/plugins/DPGdynpgmenu/styles/sitemap.css</tt>. Ganz unten ist der Code zu sehen:
+
==== Anpassen der Datei sitemap.php ====
<code>[css,N]
+
Ersetzen Sie die Inhaltsanzeige, d.h. die Anweisungen <tt>$DynPG->Write_AllGroups()</tt>, <tt>$DynPG->Write_AllArticles()</tt>, <tt>$DynPG->Write_Article()</tt> usw. durch das obige Sitemap-Snippet.
div#sm_course_categories_menu div#sm_li_group_id_1 { display: none; }
+
 
 +
In der Datei <tt>sitemap.php</tt> schreiben wir nun außerdem folgende Anweisung vor die Ausgabe des Navigationsmenüs, um von dieser Datei wieder zurück auf die Datei <tt>index.php</tt> zu verlinken:
 +
 
 +
'''<tt>sitemap.php</tt> - Navigationsmenü'''
 +
<code>[php,N]
 +
$GLOBALS["DynPG"]->SetParam_PlugIn_Param('DPGdynmenu', 'href_page_groups', '../<Pfad zu ihrer Webseite>/index.php');
 +
$GLOBALS["DynPG"]->SetParam_PlugIn_Param('DPGdynmenu', 'href_page_articles', '../<Pfad zu ihrer Webseite>/index.php');
 +
$GLOBALS["DynPG"]->SetParam_PlugIn_Param('DPGdynmenu', 'href_subpages', array(<ID> => '../<Pfad zu ihrer Webseite>/sitemap.php{query}'));
 
</code>
 
</code>
Nun einfach den Wert 1 durch den ID Wert ersetzen und ggf. den Code für weitere Ordner kopieren.
+
 
 +
{{Caution
 +
|Sie müssen in dieser Anweisung noch den Platzhalter <tt><ID></tt> durch die ID der Sitemap-Gruppe ersetzen, die Sie zuvor erstellt haben. <tt><Pfad zu ihrer Webseite></tt> muss durch den relativen Pfad zur Datei <tt>sitemap.php</tt> ersetzt werden, ausgehend vom DynPG Hauptverzeichnis.}}
 +
 
 +
=== CSS anpassen ===
 +
 
 +
Um die einzelnen Punkte der Sitemap nun noch entsprechend der Hierarchie einzurücken, können wir die folgende CSS Anweisung zum Stylesheet hinzufügen:
 +
 
 
<code>[css,N]
 
<code>[css,N]
div#sm_course_categories_menu div#sm_li_group_id_6 { display: none; }
+
div#sm_course_categories_menu div {
div#sm_course_categories_menu div#sm_li_group_id_16 { display: none; }
+
  margin-left:10pt;
div#sm_course_categories_menu div#sm_li_group_id_22{ display: none; }
+
}
 
</code>
 
</code>
Hier habe ich die Nummer 15 nicht ausgeblendet, weil ich den Ordner Kontakt anzeigen will.
 

Aktuelle Version vom 26. September 2011, 16:46 Uhr

Eine Sitemap gibt Besuchern Ihrer Webseite einen Überblick über den gesamten Inhalt. Alle Gruppen und Artikel werden dabei in strukturierter und zumeist hierarchischer Form angezeigt. Eine Sitemap ist neben den Meta-Daten ein weiteres Werkzeug zur Suchmaschinenoptimierung.

Einrichten der Sitemap

In DynPG wird eine Sitemap basierend auf dem Navigationsmenü erstellt. Für die Generierung der Übersicht müssen folgende Schritte durchgeführt werden:

  1. es muss ein dynamisches Navigationsmenü samt zugehörigem Artikel erstellt werden
  2. anschließend wird eine Seite erstellt, welche die Sitemap ausgibt
  3. und zuletzt muss dieser Artikel in die Webseite integriert werden.

Im Folgenden werden wir uns mit diesen drei Schritten befassen und anschließend noch darauf eingehen, wie wir bestimmte Artikel in der Sitemap ausblenden können. Danach können Sie auch das Tutorial - Einbau einer Sitemap lesen, welches diese Schritte nocheinmal beispielhaft durchgeht und einen alternativen Weg für die Einbindung der Sitemap in die Webseite zeigt.

Erstellen des dynamischen Menüs

Sofern Sie noch kein dynamisches Menü erstelt haben, finden Sie hierzu eine ausführliche Anleitung in den folgenden Artikeln:

Sitemap erstellen

Um eine Sitemap zu erstellen, können wir das folgende Snippet verwenden:

Sitemap-Snippet

<?php
// Sitemap Template für die dynamische Navigation setzen
$DynPG->SetParam_PlugIn_Template('DPGdynmenu', 'sitemap');
// Versteckte Gruppen ausblenden
$DynPG->SetParam_PlugIn_Param('DPGdynmenu', 'hide_not_public_groups', TRUE);
// Gruppenbaum expandieren
$DynPG->SetParam_PlugIn_Param('DPGdynmenu', 'full_load', TRUE);
 
$DynPG->SetParam_A_Anytime(true);             // Sitemap immer anzeigen
$DynPG->SetParam_A_CategoryNavigation(false); // Kategorienavigation nicht anzeigen
$DynPG->SetParam_A_PrintNavigation(false);    // Drucken-Button nicht anzeigen
$DynPG->SetParam_A_ArticleHeader(false);      // Artikelkopf nicht anzeigen
$DynPG->SetParam_A_Article(<ID>);             // ID des Artikels setzen, der das dynamische Menü enthält
 
$DynPG->Write_Article();                      // Sitemap ausgeben
?>
Caution.png Achtung: Sie müssen in diesem Snippet noch den Platzhalter <ID> durch die ID des Artikels ersetzen, der die dynamische Navigation enthält.

Hier wird zuerst das Template für die dynamische Navigation auf sitemap gesetzt, was die Ausgabe des Navigationsmenüs als Sitemap bewirkt. Danach werden die versteckten Gruppen ausgeblendet und das Anzeigen aller Gruppen festgelegt.

Sitemap in die Webseite einbinden

Um die Sitemap in Ihre Webseite einzubinden, gibt es verschiedene mögliche Wege. Einer ist die Erstellung einer neuen Webseite. Erstellen Sie dazu eine Kopie der Datei, welche das Layout der Seite festlegt und das dynamische Menü sowie die Inhaltsanzeige einbindet (in der Regel index.php). Benennen Sie die Kopie in sitemap.php um. Erstellen Sie nun im Backend auf der obersten Gruppenebene eine neue Gruppe mit dem Namen Sitemap. Wir müssen nun das dynamische Navigationsmenü so anpassen, das bei einem Klick auf den Menüpunkt Sitemap die Datei sitemap.php aufgerufen wird. In der Datei sitemap.php möchten wir wiederum für alle Menüpunkte außer Sitemap auf die Datei index.php verlinken.

Note.png Bemerkung: Einen anderen Weg zum Einbinden einer Sitemap, der auf das Erstellen einer Kopie verzichtet, finden Sie im Tutorial - Einbau einer Sitemap.

Anpassen der Datei index.php

Um nun für den Menüpunkt Sitemap auf die Datei sitemap.php zu verlinken, müssen wir in dieser Datei folgende Anweisung vor die Ausgabe des Navigationsmenüs schreiben:

index.php - Navigationsmenü

$GLOBALS["DynPG"]->SetParam_PlugIn_Param('DPGdynmenu', 'href_subpages', array(<ID> => '../<Pfad zu ihrer Webseite>/sitemap.php{query}'));
Caution.png Achtung: Sie müssen in dieser Anweisung noch den Platzhalter <ID> durch die ID der Sitemap-Gruppe ersetzen, die Sie zuvor erstellt haben. <Pfad zu ihrer Webseite> muss durch den relativen Pfad zur Datei sitemap.php ersetzt werden, ausgehend vom DynPG Hauptverzeichnis.

Anpassen der Datei sitemap.php

Ersetzen Sie die Inhaltsanzeige, d.h. die Anweisungen $DynPG->Write_AllGroups(), $DynPG->Write_AllArticles(), $DynPG->Write_Article() usw. durch das obige Sitemap-Snippet.

In der Datei sitemap.php schreiben wir nun außerdem folgende Anweisung vor die Ausgabe des Navigationsmenüs, um von dieser Datei wieder zurück auf die Datei index.php zu verlinken:

sitemap.php - Navigationsmenü

$GLOBALS["DynPG"]->SetParam_PlugIn_Param('DPGdynmenu', 'href_page_groups', '../<Pfad zu ihrer Webseite>/index.php');
$GLOBALS["DynPG"]->SetParam_PlugIn_Param('DPGdynmenu', 'href_page_articles', '../<Pfad zu ihrer Webseite>/index.php');
$GLOBALS["DynPG"]->SetParam_PlugIn_Param('DPGdynmenu', 'href_subpages', array(<ID> => '../<Pfad zu ihrer Webseite>/sitemap.php{query}'));
Caution.png Achtung: Sie müssen in dieser Anweisung noch den Platzhalter <ID> durch die ID der Sitemap-Gruppe ersetzen, die Sie zuvor erstellt haben. <Pfad zu ihrer Webseite> muss durch den relativen Pfad zur Datei sitemap.php ersetzt werden, ausgehend vom DynPG Hauptverzeichnis.

CSS anpassen

Um die einzelnen Punkte der Sitemap nun noch entsprechend der Hierarchie einzurücken, können wir die folgende CSS Anweisung zum Stylesheet hinzufügen:

div#sm_course_categories_menu div {
  margin-left:10pt;
}