<?xml version="1.0"?>
<?xml-stylesheet type="text/css" href="https://wiki-en.dynpg.org/wiki_de/skins/common/feed.css?303"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="de">
		<id>https://wiki-en.dynpg.org/wiki_de/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Sebastian</id>
		<title>DynPG-Wiki - Benutzerbeiträge [de]</title>
		<link rel="self" type="application/atom+xml" href="https://wiki-en.dynpg.org/wiki_de/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Sebastian"/>
		<link rel="alternate" type="text/html" href="https://wiki-en.dynpg.org/wiki_de/index.php?title=Spezial:Beitr%C3%A4ge/Sebastian"/>
		<updated>2026-04-17T15:37:27Z</updated>
		<subtitle>Benutzerbeiträge</subtitle>
		<generator>MediaWiki 1.23.5</generator>

	<entry>
		<id>https://wiki-en.dynpg.org/wiki_de/index.php?title=MediaWiki:Sidebar</id>
		<title>MediaWiki:Sidebar</title>
		<link rel="alternate" type="text/html" href="https://wiki-en.dynpg.org/wiki_de/index.php?title=MediaWiki:Sidebar"/>
				<updated>2009-10-10T08:16:32Z</updated>
		
		<summary type="html">&lt;p&gt;Sebastian: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;* navigation&lt;br /&gt;
** mainpage|mainpage&lt;br /&gt;
&amp;lt;!-- ** portal-url|portal --&amp;gt;&lt;br /&gt;
&amp;lt;!-- ** currentevents-url|currentevents --&amp;gt;&lt;br /&gt;
&amp;lt;!-- ** recentchanges-url|recentchanges --&amp;gt;&lt;br /&gt;
&amp;lt;!-- ** randompage-url|randompage --&amp;gt;&lt;br /&gt;
** helppage|help&lt;br /&gt;
&amp;lt;!-- ** sitesupport-url|sitesupport --&amp;gt;&lt;br /&gt;
** dynpgforum-url|DynPG-Forum&lt;br /&gt;
** http://www.dynpg.org|DynPG-Webseite&lt;br /&gt;
* Andere Wikis&lt;br /&gt;
** http://www.dynpg.org/wiki_en|English&lt;br /&gt;
** http://www.dynpg.org/wiki_es|Español&lt;/div&gt;</summary>
		<author><name>Sebastian</name></author>	</entry>

	<entry>
		<id>https://wiki-en.dynpg.org/wiki_de/index.php?title=MediaWiki:Dynpgforum-url</id>
		<title>MediaWiki:Dynpgforum-url</title>
		<link rel="alternate" type="text/html" href="https://wiki-en.dynpg.org/wiki_de/index.php?title=MediaWiki:Dynpgforum-url"/>
				<updated>2009-10-10T08:14:58Z</updated>
		
		<summary type="html">&lt;p&gt;Sebastian: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;http://www.dynpg.org/cms-freeware.php?t=Support+Forum&amp;amp;read_group=38&lt;/div&gt;</summary>
		<author><name>Sebastian</name></author>	</entry>

	<entry>
		<id>https://wiki-en.dynpg.org/wiki_de/index.php?title=Eine_einfache_Inhalts%C3%BCbersicht</id>
		<title>Eine einfache Inhaltsübersicht</title>
		<link rel="alternate" type="text/html" href="https://wiki-en.dynpg.org/wiki_de/index.php?title=Eine_einfache_Inhalts%C3%BCbersicht"/>
				<updated>2009-09-23T13:11:54Z</updated>
		
		<summary type="html">&lt;p&gt;Sebastian: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Kategorie:Integration in eine Webseite]]&lt;br /&gt;
[[en:Integration short and sweet]]&lt;br /&gt;
== Ein paar Hinweise zum Einstieg ==&lt;br /&gt;
&lt;br /&gt;
Infolge der bestehenden Standard-Templates ist es nicht zwingend notwendig, neue&lt;br /&gt;
Templates zu erstellen. Es kann demnach einfach erst einmal der Code eingebunden&lt;br /&gt;
werden. Ansichten werden durch das CSS &amp;quot;config_general.css&amp;quot; verändert, welches sich&lt;br /&gt;
im Verzeichnis CSS im Stammverzeichnis von DynPG befindet.&lt;br /&gt;
&lt;br /&gt;
Wir verweisen darauf hin, dass diese Erklärung hier nicht die komplette Dokumentation ersetzt.&lt;br /&gt;
Wir zeigen hier nur grob ein Muster auf, Erklärungen zu den einzelnen Varianten können&lt;br /&gt;
in anderen Artikeln nachgelesen werden.&lt;br /&gt;
&lt;br /&gt;
Nun zur Definition der einzelnen Ansichten.&lt;br /&gt;
&lt;br /&gt;
Um DynPG in Ihren PHP-Seiten verwenden zu können, setzen Sie bitte die folgenden&lt;br /&gt;
drei Zeilen an den Anfang Ihrer PHP-Seite, noch bevor Sie irgend welche HTML-Tags&lt;br /&gt;
einfügen (d.h. auch noch vor den &amp;lt;tt&amp;gt;DOCTYPE&amp;lt;/tt&amp;gt;).&lt;br /&gt;
&amp;lt;code&amp;gt;[php,N]&lt;br /&gt;
&amp;lt;?php&lt;br /&gt;
  require(&amp;#039;dynpg/getcontent.php&amp;#039;);&lt;br /&gt;
  $DynPG-&amp;gt;SetParam_PathToRoot(&amp;#039;dynpg/&amp;#039;);&lt;br /&gt;
?&amp;gt;&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Sie haben daraufhin nun die Möglichkeit, verschiedene Ansichten zu implementieren,&lt;br /&gt;
welche die Aufgabe haben, den von Ihnen erzeugten Inhalt aus dem Backend ins Frontend&lt;br /&gt;
zu implementieren. Logischerweise ergeben sich daraus drei Listungen, welche&lt;br /&gt;
die Darstellung der Daten abdecken: Artikellisten, Gruppenlisten und einzelne Ansichten&lt;br /&gt;
der Artikel.&lt;br /&gt;
&lt;br /&gt;
DynPG arbeitet hier mit PHP-Snipptes, Codeschnipseln, welche Sie an die jeweiligen&lt;br /&gt;
Stellen Ihrer Seite schieben, wodurch an eben diesen Stellend er Inhalt angezeigt wird.&lt;br /&gt;
&lt;br /&gt;
Der Sinn dahinter ist, dass die Templatearbeit verringert wird, da sie im äußersten Falle&lt;br /&gt;
nur die Templates der dynamsichen Ansichten editieren müssen, der Rest der Seite&lt;br /&gt;
kann von Ihnen frei und wie gewohnt erstellt werden.&lt;br /&gt;
&lt;br /&gt;
== Die Einbindung eines einzelnen Artikels ==&lt;br /&gt;
&lt;br /&gt;
Im &amp;lt;tt&amp;gt;&amp;lt;head&amp;gt;&amp;lt;/tt&amp;gt;-Bereich jeder php-Datei kann danach ein CSS definiert werden. Dabei sind&lt;br /&gt;
Sie frei, an welcher Stelle Sie das Snippet einsetzen. Es empfiehlt sich aber der Übersichtlichkeit&lt;br /&gt;
halber, dieses immer am selben Ort einzufügen.&lt;br /&gt;
&amp;lt;code&amp;gt;[php,N]&lt;br /&gt;
&amp;lt;?php $DynPG-&amp;gt;Write_CSS_JS_Header(); ?&amp;gt;&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Dieser Befehl implementiert die CSS-Dateien des CMS, alternativ können Sie natürlich&lt;br /&gt;
auch jegliche CSS-Definitionen in ihren eigenen CSS-Dateien vornehmen.&lt;br /&gt;
&lt;br /&gt;
Nun folgt das eigentliche Snippet für den einzubindenden Artikel. Sie haben also die&lt;br /&gt;
Möglichkeit, den Artikel einfach in Ihr vorgesehenes Design einzubinden, wo auch immer&lt;br /&gt;
dies auf der Seite sein möge.&lt;br /&gt;
&amp;lt;code&amp;gt;[php,N]&lt;br /&gt;
&amp;lt;?php&lt;br /&gt;
  // parameters&lt;br /&gt;
  $DynPG-&amp;gt;SetParam_A_CategoryNavigation(FALSE);&lt;br /&gt;
  $DynPG-&amp;gt;SetParam_A_PrintNavigation(FALSE);&lt;br /&gt;
  $DynPG-&amp;gt;SetParam_A_ArticleHeader(FALSE);&lt;br /&gt;
  $DynPG-&amp;gt;SetParam_A_Article(1);&lt;br /&gt;
  // implementation&lt;br /&gt;
  $DynPG-&amp;gt;SetParam_A_Anytime(TRUE);&lt;br /&gt;
  $DynPG-&amp;gt;Write_Article();&lt;br /&gt;
?&amp;gt;&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Für die &amp;quot;1&amp;quot; unter &amp;lt;tt&amp;gt;SetParam_A_Article&amp;lt;/tt&amp;gt; geben Sie diejenige Artikel-ID an, welche Sie implementieren möchten. Die jeweilige ID erfahren Sie im Backend.&lt;br /&gt;
&lt;br /&gt;
== Die Einbindung einer Artikelliste ==&lt;br /&gt;
&lt;br /&gt;
Snippet für die Artikelliste (hier werden alle Artikel der Gruppe „DynPG“ implementiert).&lt;br /&gt;
&amp;lt;code&amp;gt;[php,N]&lt;br /&gt;
&amp;lt;?php&lt;br /&gt;
  $DynPG-&amp;gt;SetParam_AA_Anytime(TRUE);&lt;br /&gt;
  $DynPG-&amp;gt;SetParam_AA_Group(&amp;quot;DynPG&amp;quot;);&lt;br /&gt;
  $DynPG-&amp;gt;Write_AllArticles();&lt;br /&gt;
  $DynPG-&amp;gt;SetParam_A_Anytime(FALSE);&lt;br /&gt;
  $DynPG-&amp;gt;SetParam_A_CategoryNavigation(TRUE);&lt;br /&gt;
  $DynPG-&amp;gt;SetParam_A_PrintNavigation(TRUE);&lt;br /&gt;
  $DynPG-&amp;gt;SetParam_A_ArticleHeader(TRUE);&lt;br /&gt;
  $DynPG-&amp;gt;SetParam_A_IgnoreSeperator(TRUE);&lt;br /&gt;
  $DynPG-&amp;gt;Write_Article();&lt;br /&gt;
?&amp;gt;&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Die Einbindung einer Gruppenliste ==&lt;br /&gt;
&lt;br /&gt;
Die dazugehörige Gruppenstruktur im Backend sähe folgendermaßen aus:&lt;br /&gt;
*DynPG&lt;br /&gt;
**Module&lt;br /&gt;
***diverse Artikel&lt;br /&gt;
**Demos&lt;br /&gt;
***diverse Artikel&lt;br /&gt;
&lt;br /&gt;
Snippet für die Gruppenliste&lt;br /&gt;
&amp;lt;code&amp;gt;[php,N]&lt;br /&gt;
&amp;lt;?php&lt;br /&gt;
  $DynPG-&amp;gt;SetParam_UseCategory(&amp;#039;DynPG&amp;#039;);&lt;br /&gt;
  $DynPG-&amp;gt;SetParam_AG_Anytime(TRUE);&lt;br /&gt;
  $DynPG-&amp;gt;SetParam_AG_ForceNav(TRUE);&lt;br /&gt;
  $DynPG-&amp;gt;Write_AllGroups();&lt;br /&gt;
  $DynPG-&amp;gt;SetParam_AA_Anytime(FALSE);&lt;br /&gt;
  $DynPG-&amp;gt;SetParam_AA_ForceNav(TRUE);&lt;br /&gt;
  $DynPG-&amp;gt;Write_AllArticles();&lt;br /&gt;
  $DynPG-&amp;gt;SetParam_A_CategoryNavigation(FALSE);&lt;br /&gt;
  $DynPG-&amp;gt;SetParam_A_PrintNavigation(TRUE);&lt;br /&gt;
  $DynPG-&amp;gt;SetParam_A_ArticleHeader(TRUE);&lt;br /&gt;
  $DynPG-&amp;gt;Write_Article();&lt;br /&gt;
?&amp;gt;&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Diese Informationen als PDF ==&lt;br /&gt;
Dieser Artikel liegt auch als PDF vor, jedoch möglicherweise nicht so aktuell: [[Media:Integration.pdf|Integration.pdf]].&lt;/div&gt;</summary>
		<author><name>Sebastian</name></author>	</entry>

	<entry>
		<id>https://wiki-en.dynpg.org/wiki_de/index.php?title=Kategorie:Integration_in_eine_Webseite</id>
		<title>Kategorie:Integration in eine Webseite</title>
		<link rel="alternate" type="text/html" href="https://wiki-en.dynpg.org/wiki_de/index.php?title=Kategorie:Integration_in_eine_Webseite"/>
				<updated>2009-09-23T13:10:18Z</updated>
		
		<summary type="html">&lt;p&gt;Sebastian: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[en:Category:Integrating DynPG into a web site]]&lt;br /&gt;
=== Artikel ===&lt;br /&gt;
Vorschlag einer Reihenfolge zum Lesen:&lt;br /&gt;
*[[Integration kurz und knackig]]&lt;br /&gt;
*[[Ein erstes kleines Beispiel]]&lt;br /&gt;
*[[Die drei Ansichten von DynPG]]&lt;br /&gt;
*[[Funktionsreferenz/Globals]]&lt;br /&gt;
*[[CSS]]&lt;br /&gt;
*[[Templates]]&lt;br /&gt;
*[[Implementation eines kompletten Hauptmenüs]]&lt;br /&gt;
*[[Einbau der DynPG-Suche]]&lt;br /&gt;
*[[Sitemap-Tutorial]]&lt;br /&gt;
*[[Snippet-Beispiele]]&lt;br /&gt;
*[[Webseiten Suchmaschinen-tauglich machen]]&lt;br /&gt;
*[[SEO-Mythos]]&lt;br /&gt;
&lt;br /&gt;
=== Video-Tutorials ===&lt;br /&gt;
Hilfestellung erhalten Sie auch in Form von Video-Tutorials:&lt;br /&gt;
* Das [[Video Kurze Erklärung des Backends]] gibt Ihnen grundlegenden Einblick in das Backend und damit auch in die Denkart von DynPG. Es ist also durchaus von Interesse für die Implementation von DynPG in eine Webseite.&lt;br /&gt;
* Das [[Video Globals in Adobe Dreamweaver]] wird Nutzern von Adobe Dreamweaver oder GoLive den Einstieg mit DynPG erleichtern.&lt;br /&gt;
&lt;br /&gt;
==== Eine Beispiel-Implementierung von DynPG ====&lt;br /&gt;
* [[Video Erklärung der Grundstruktur]] -- Teil 1 einer Beispiel-Implementierung von DynPG&lt;br /&gt;
* [[Video Einbau eines einzelnen Artikels]] -- Teil 2 der Beispiel-Implementierung&lt;br /&gt;
* [[Video Einbau einer Artikelliste]] -- Teil 3 der Folge&lt;br /&gt;
* [[Video Einbau einer Gruppenliste]] -- Teil 4 des Tutorials&lt;br /&gt;
&lt;br /&gt;
==== Eine volldynamische Website ====&lt;br /&gt;
Ein weitere Reihe von Videos erläutert Ihnen beispielhaft das Erstellen einer kleinen volldynamischen Website in fünf Schritten:&lt;br /&gt;
* Teil 1 -- [[Video Volldynamische Website - Einbinden von Globals]]&lt;br /&gt;
* Teil 2 -- [[Video Volldynamische Website - Erstellen der Navigation]]&lt;br /&gt;
* Teil 3 -- [[Video Volldynamische Website - Aufbau innerhalb dem Backend]]&lt;br /&gt;
* Teil 4 -- [[Video Volldynamische Website - Das CSS]]&lt;br /&gt;
* Teil 5 -- [[Video Volldynamische Website - Der CSS-Aufbau]]&lt;/div&gt;</summary>
		<author><name>Sebastian</name></author>	</entry>

	<entry>
		<id>https://wiki-en.dynpg.org/wiki_de/index.php?title=Installation_von_Modulen</id>
		<title>Installation von Modulen</title>
		<link rel="alternate" type="text/html" href="https://wiki-en.dynpg.org/wiki_de/index.php?title=Installation_von_Modulen"/>
				<updated>2009-09-23T13:09:23Z</updated>
		
		<summary type="html">&lt;p&gt;Sebastian: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[en:Installation of Modules]]&lt;br /&gt;
[[Kategorie:Module]]&lt;br /&gt;
Nachdem Sie ein Modul erworben haben, entpacken Sie dieses und laden den Inhalt in ihren Installationsordner (&amp;quot;cms&amp;quot;) hoch. Dabei ist zu beachten, dass Sie den Unterordner im Ordner &amp;quot;plugin&amp;quot; (z.B. DPGshop, DPGforum) auch im Installationsordner in den Ordner &amp;quot;plugin&amp;quot; hochladen. Die Dateien im Ordner &amp;quot;update&amp;quot; laden Sie logischerweise auch im Installationsordner in den Ordner &amp;quot;update&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
Wenn Sie nun in der Adresszeile Ihres Browsers das Installationsverzeichnis (also das Verzeichnis von DynPG) eingeben, startet die Installation des jeweiligen Moduls automatisch. Nach abgeschlossener Installation gelangen Sie über diese Adresse wieder zum Login für DynPG.&lt;/div&gt;</summary>
		<author><name>Sebastian</name></author>	</entry>

	<entry>
		<id>https://wiki-en.dynpg.org/wiki_de/index.php?title=Installation_eines_Updates</id>
		<title>Installation eines Updates</title>
		<link rel="alternate" type="text/html" href="https://wiki-en.dynpg.org/wiki_de/index.php?title=Installation_eines_Updates"/>
				<updated>2009-09-23T13:08:20Z</updated>
		
		<summary type="html">&lt;p&gt;Sebastian: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[en:Installation of Updates]]&lt;br /&gt;
[[Kategorie:Installation und Update]]&lt;br /&gt;
Entzippen Sie als erstes das entsprechende Update. Achten Sie darauf, dass Sie die&lt;br /&gt;
Updates der Reihenfolge nach vornehmen, sollten allenfalls mehrere gleichzeitig&lt;br /&gt;
notwendig sein.&lt;br /&gt;
&lt;br /&gt;
[[Bild:update01.png]]&lt;br /&gt;
&lt;br /&gt;
Kopieren Sie die Dateien in Ihre Website in ein leeres Verzeichnis, oder kopieren Sie&lt;br /&gt;
einfach den Hauptordner des entpackten ZIP-Files in Ihre Website hinein. Es ist&lt;br /&gt;
empfehlenswert, diesen Vorgang nicht im Web-Editor sondern über den Dateibrowser&lt;br /&gt;
Ihres Systems vorzunehmen.&lt;br /&gt;
&lt;br /&gt;
Danach wechseln Sie zum FTP-Programm und stellen die Verbindung zum virtuellen&lt;br /&gt;
Server her.&lt;br /&gt;
&lt;br /&gt;
Versichern Sie sich vor dem Hochladen, dass im Verzeichnis Update alle Dateien mit dem&lt;br /&gt;
Namen &amp;quot;update.* entfernt worden sind, welche allenfalls von einem vorgängigen Update&lt;br /&gt;
noch vorhanden sind.&lt;br /&gt;
&lt;br /&gt;
In unserem Beispiel sehen Sie nun das geöffnete FTP-Programm. Wir haben das ganze&lt;br /&gt;
Update in das Verzeichnis &amp;quot;tool&amp;quot; gelegt, weil wir auch auf dem Server das gleichnamige&lt;br /&gt;
Verzeichnis haben. Nun markieren Sie den Inhalt des Verzeichnisses und schieben diesen&lt;br /&gt;
Inhalt in der genau gleichen Hierarchie auf Ihren Webserver.&lt;br /&gt;
&lt;br /&gt;
[[Bild:update02.png]]&lt;br /&gt;
&lt;br /&gt;
Wenn Sie alle Dateien hochgeladen haben, gehen Sie auf dem virtuellen Server in das&lt;br /&gt;
Verzeichnis Update und geben der Datei die erforderlichen Rechte 777.&lt;br /&gt;
&lt;br /&gt;
Rechte vorher:&lt;br /&gt;
&lt;br /&gt;
[[Bild:update03.png]]&lt;br /&gt;
&lt;br /&gt;
Rechte danach:&lt;br /&gt;
&lt;br /&gt;
[[Bild:update04.png]]&lt;br /&gt;
&lt;br /&gt;
Nun wechseln Sie zum Browser und rufen das Verzeichnis auf, in welchem sich das&lt;br /&gt;
Backend befindet. In unserem Fall ist dies das Verzeichnis www.domain.ch/tool. Dabei&lt;br /&gt;
wird uns dieser Bildschirm angezeigt:&lt;br /&gt;
&lt;br /&gt;
[[Bild:update05.png]]&lt;br /&gt;
&lt;br /&gt;
Hier ersehen Sie die Änderungen, welche seit der letzten Version vorgenommen wurden.&lt;br /&gt;
Gleich darunter finden Sie die Lizenzbestimmungen und der aktuelle Stand des&lt;br /&gt;
Installationsvorganges.&lt;br /&gt;
&lt;br /&gt;
[[Bild:update06.png]]&lt;br /&gt;
&lt;br /&gt;
Wenn obige Voraussetzungen erfüllt sind, bestätigen Sie die Lizenzbedingungen und&lt;br /&gt;
beginnen mit der Installation bzw. schliessen sie schon wieder ab.&lt;br /&gt;
&lt;br /&gt;
[[Bild:update07.png]]&lt;br /&gt;
&lt;br /&gt;
Bevor Sie die Dateien vom Server löschen, aktualisieren Sie doch bitte erst das&lt;br /&gt;
Verzeichnis. Dadurch sehen Sie dann alle vorhandenen Dateien, welche dann auch&lt;br /&gt;
gemäss Beschreibung gelöscht werden müssen.&lt;br /&gt;
&lt;br /&gt;
[[Bild:update08.png]]&lt;br /&gt;
&lt;br /&gt;
Klicken Sie danach auf den Link zur Administration. Wenn Sie obige update-Dateien nicht&lt;br /&gt;
gelöscht haben, werden Sie nicht über die nächste Maske hinauskommen.&lt;br /&gt;
&lt;br /&gt;
[[Bild:update09.png]]&lt;br /&gt;
&lt;br /&gt;
Sobald Sie die Dateien gelöscht haben ist das Update abgeschlossen und Sie können sich&lt;br /&gt;
wieder in das Backend einloggen.&lt;br /&gt;
&lt;br /&gt;
== Diese Informationen als PDF ==&lt;br /&gt;
Dieser Artikel existiert auch als PDF, jedoch möglicherweise nicht so aktuell:[[Media:Install_update.pdf|Install_update.pdf]]&lt;/div&gt;</summary>
		<author><name>Sebastian</name></author>	</entry>

	<entry>
		<id>https://wiki-en.dynpg.org/wiki_de/index.php?title=Installation_von_DynPG</id>
		<title>Installation von DynPG</title>
		<link rel="alternate" type="text/html" href="https://wiki-en.dynpg.org/wiki_de/index.php?title=Installation_von_DynPG"/>
				<updated>2009-09-23T13:07:47Z</updated>
		
		<summary type="html">&lt;p&gt;Sebastian: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[en:Installation of DynPG]]&lt;br /&gt;
{{old}}&lt;br /&gt;
[[Kategorie:Installation und Update]]&lt;br /&gt;
== Hochladen von DynPG und ausführen der Installation ==&lt;br /&gt;
*Entpacken Sie das heruntergeladene Archiv. Sie erhalten einen Ordner, indem die Installationsdateien für DynPG liegen. Benennen Sie ihn nach &amp;quot;cms&amp;quot; oder auch &amp;quot;dynpg&amp;quot; und laden diesen Ordner samt Dateien auf ihren Webserver.&lt;br /&gt;
&lt;br /&gt;
*Bevor Sie die Installation beginnen, müssen Sie noch die Rechte für bestimmte Dateien und Ordner vergeben. Setzen Sie dazu für die Ordner &amp;quot;cms&amp;quot; und &amp;quot;cms/update/bin&amp;quot; und die Datei &amp;quot;configuration.php-dist&amp;quot; den CHMOD auf 777 (alle Rechte). &lt;br /&gt;
&lt;br /&gt;
*Haben Sie alles hochgeladen, rufen Sie die Datei &amp;quot;cms/index.php&amp;quot; in Ihrem Browser auf. Nun wird automatisch die Installationsdatei ausgeführt.&lt;br /&gt;
&lt;br /&gt;
*Lesen Sie im &amp;#039;&amp;#039;&amp;#039;1. Schritt&amp;#039;&amp;#039;&amp;#039; die Lizenzbedingungen und nehmen Sie diese mit einem Klick auf die Box &amp;quot;Ja, ich akzeptiere die o. g. Lizenzbedingungen&amp;quot; an. Darunter sehen Sie die Produktvoraussetzungen und ob Sie diese erfüllen. Ist alles in Ordnung drücken Sie auf &amp;quot;Weiter&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
*Nun gelangen Sie zu &amp;#039;&amp;#039;&amp;#039;Schritt 2&amp;#039;&amp;#039;&amp;#039;. Hier geben Sie die Zugangsdaten zu Ihrem MySQL-Datenbankserver ein: Server (befindet sich Ihre Datenbank auf dem Server, auf dem auch DynPG liegt, dann geben Sie hier bitte &amp;quot;localhost&amp;quot; an), Benutzer, Passwort und Datenbank. Möchten Sie das CMS ohne Datenbankinstallation konfigurieren, so setzten Sie bitte einen Haken bei „DynPG Stand-Alone installieren“. Haben Sie alle Daten eingegeben, drücken Sie auf &amp;quot;Weiter&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
*Im &amp;#039;&amp;#039;&amp;#039;3. Schritt&amp;#039;&amp;#039;&amp;#039; müssen Sie die Installationsoptionen vornehmen. Je nach Pakettyp stehen Ihnen unter &amp;quot;Module&amp;quot; verschiedene Zusatzmodule zur Verfügung. Unter &amp;quot;Optionen&amp;quot; können Sie angeben, welche zusätzlichen Daten mitinstalliert werden sollen.&lt;br /&gt;
**Prüfen Sie anschließend bitte den Installationsordner auf Korrektheit. Die Pfadangabe erfolgt absolut oder ausgehend vom Installationsverzeichnis.&lt;br /&gt;
**Geben Sie darunter die Domain an, unter der DynPG installiert wird. Zur Identifikation müssen Sie danach die Seriennummer angeben, welche Sie beim Download von DynPG erhalten haben. Diese Nummer besteht aus 13 Buchstaben und Ziffern und kann unter [http://www.dynpg.ch/ www.dynpg.ch] -&amp;gt;Download -&amp;gt; Meine Downloads nachgesehen werden. Zuletzt bestimmen Sie einen &amp;quot;Superadmin&amp;quot;, mit dem Sie sich danach im CMS einloggen können. Dieser Benutzer besitzt zu Beginn absolute Administrationsrechte. Geben Sie im linken Textfeld einen Benutzernamen und im rechten ein Passwort ein. Mit einem Klick auf &amp;quot;Installieren&amp;quot; wird DynPG nun installiert.&lt;br /&gt;
&lt;br /&gt;
*Im &amp;#039;&amp;#039;&amp;#039;4. Schritt&amp;#039;&amp;#039;&amp;#039; werden Sie über den Installationsverlauf informiert. Fehler werden mit roter Schrift angezeigt. Sollte dies der Fall sein, überprüfen Sie die entsprechende Fehlerquelle mit einem Klick auf &amp;quot;Zurück&amp;quot;. Liegen keine Fehler vor, so ist die Installation erfolgreich abgeschlossen. Klicken Sie anschließend auf den Link &amp;lt;center&amp;gt;&amp;#039;&amp;#039;&amp;#039;Hier gelangen Sie zur DynPG Administration!&amp;#039;&amp;#039;&amp;#039;&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*Es werden Ihnen nun noch diejenigen Installationsdateien genannt, welche zu entfernen sind. In der Regel betrifft dies nur den Ordner „install“ in Ihrem DynPG Verzeichnis.&lt;br /&gt;
&lt;br /&gt;
*Ausserdem müssen Sie danach dem Ordner &amp;quot;upload&amp;quot; noch alle Rechte zuweisen (CHMOD Wert muss auf &amp;quot;777&amp;quot; sein), da mittels DynPG hochgeladene Dateien in diesem Ordner gespeichert werden.&lt;br /&gt;
&lt;br /&gt;
== Installation von Modulen ==&lt;br /&gt;
Siehe hier: [[Installation von Modulen]]&lt;br /&gt;
&lt;br /&gt;
== Modifizieren der config.php ==&lt;br /&gt;
Nun können Sie im Programmordner von DynPG noch weitere Einstellungen vornehmen. Die entsprechende Datei heisst &amp;#039;&amp;#039;config.php&amp;#039;&amp;#039;. Nachfolgend sind die verschiedenen Konfigurationsmöglichkeiten mit Beschreibung aufgelistet:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;dynpgwikitable&amp;quot;&lt;br /&gt;
! &amp;lt;center&amp;gt;&amp;#039;&amp;#039;&amp;#039;Bezeichner&amp;#039;&amp;#039;&amp;#039;&amp;lt;/center&amp;gt;&lt;br /&gt;
! &amp;lt;center&amp;gt;&amp;#039;&amp;#039;&amp;#039;Beschreibung&amp;#039;&amp;#039;&amp;#039;&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| C_TOOL_TITLE &lt;br /&gt;
&lt;br /&gt;
FORMS_IMAGES_DESTINATIONURL_ROOT&lt;br /&gt;
| Lassen Sie diese Werte unverändert um Fehler zu vermeiden.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| MYSQL_SERVER&lt;br /&gt;
&lt;br /&gt;
(wird bei Installation konfiguriert)&lt;br /&gt;
| Die Adresse bzw. IP zu dem Server, auf dem die MySQL Datenbank liegt. Befindet sich die Datenbank auf dem Server, auf dem auch DynPG liegt, dann geben Sie hier bitte &amp;#039;&amp;#039;&amp;#039;localhost&amp;#039;&amp;#039;&amp;#039; an (Standard).&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| MYSQL_USER&lt;br /&gt;
&lt;br /&gt;
(wird bei Installation konfiguriert)&lt;br /&gt;
| Der Benutzername, mit dem Sie sich bei Ihrer MySQL Datenbank anmelden.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| MYSQL_PASSWORD&lt;br /&gt;
&lt;br /&gt;
(wird bei Installation konfiguriert)&lt;br /&gt;
| Das Passwort, welches DynPG authentifiziert und berechtigt an der Datenbank zu arbeiten.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| MYSQL_DATABASE&lt;br /&gt;
&lt;br /&gt;
(wird bei Installation konfiguriert)&lt;br /&gt;
| Der Datenbankname auf Ihrem MySQL-Server.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| config_AllGroups_Limit&lt;br /&gt;
| Stellen Sie hier die maximale Anzahl an Gruppen ein, die in der Ansicht einer Gruppen-Liste angezeigt werden soll. Nach der angegebenen Anzahl wird eine neue Seite erstellt, auf der dann die restlichen Gruppen angezeigt werden.&lt;br /&gt;
&lt;br /&gt;
Beispiel: Es existieren 15 Gruppen. Sie stellen diesen Wert auf &amp;quot;5&amp;quot;. Dadurch werden die ersten fünf Gruppen angezeigt und es existieren weitere zwei Seiten auf denen dann die anderen Gruppen angezeigt werden.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| config_AllArticles_Limit&lt;br /&gt;
| Das Äquivalent zur obigen Einstellung für die Ansicht der Artikel-Liste.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| config_Home_Limit&lt;br /&gt;
| Die Anzahl der Artikel die auf der Home-Seite angezeigt werden sollen.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| config _Guestbook_Limit&lt;br /&gt;
| Geben Sie hier die maximale Anzahl an Einträgen an, welche pro Seite des Gästebuches angezeigt werden soll.&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| config_Navigation_Range_Numbered&lt;br /&gt;
| Diese Einstellung betrifft die Navigation im Frontend. Geben Sie hier die Anzahl der Seitenzahlen um die aktuell angewählte an.&lt;br /&gt;
&lt;br /&gt;
Beispiel: Ihre Angabe: 2&lt;br /&gt;
&lt;br /&gt;
&amp;lt;nowiki&amp;gt;Navigation: Seiten [1] [2] … &amp;lt;/nowiki&amp;gt;&amp;#039;&amp;#039;&amp;#039;&amp;lt;nowiki&amp;gt;[4]&amp;lt;/nowiki&amp;gt;&amp;#039;&amp;#039;&amp;#039;&amp;lt;nowiki&amp;gt; … [9] [10]&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| Config_General_CompatibilityMode&lt;br /&gt;
| Diese Konfiguration besteht aus Kompatibilitätsgründen zu älteren Versionen. I. d. R. sollten Sie hier den voreingestellten Wert belassen. Wenn Sie eine Umsetzung alter Psdeudo-Code-Elemente im Artikeltext wünschen, setzen Sie diese Option auf &amp;#039;&amp;#039;&amp;#039;true&amp;#039;&amp;#039;&amp;#039;.&lt;br /&gt;
&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Sebastian</name></author>	</entry>

	<entry>
		<id>https://wiki-en.dynpg.org/wiki_de/index.php?title=Kategorie:Installation_und_Update</id>
		<title>Kategorie:Installation und Update</title>
		<link rel="alternate" type="text/html" href="https://wiki-en.dynpg.org/wiki_de/index.php?title=Kategorie:Installation_und_Update"/>
				<updated>2009-09-23T13:07:11Z</updated>
		
		<summary type="html">&lt;p&gt;Sebastian: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[en:Category:Installation and update]]&lt;br /&gt;
{{old}}&lt;br /&gt;
=== Download ===&lt;br /&gt;
Sie gehen einfach auf [http://www.dynpg.ch www.dynpg.ch] in die Download-Sektion und laden die aktuellste Version herunter.&lt;br /&gt;
&lt;br /&gt;
=== Upload und Installation ===&lt;br /&gt;
&lt;br /&gt;
Wie Sie DynPG auf Ihren Server hochladen und konfigurieren, können Sie hier nachlesen: [[Installation von DynPG]].&lt;br /&gt;
&lt;br /&gt;
=== Update von DynPG ===&lt;br /&gt;
&lt;br /&gt;
Hinweise zum Updaten von DynPG finden sie hier: [[Installation eines Updates]]&lt;br /&gt;
&lt;br /&gt;
=== Video-Tutorial ===&lt;br /&gt;
&lt;br /&gt;
In diesen beiden Videos wird Ihnen der Download von der Webseite und Upload/Installation auf Ihren Webserver nochmals erklärt:&lt;br /&gt;
* [[Video Download, Registration und FTP-Upload|Download, Registration und FTP-Upload]]&lt;br /&gt;
* [[Video Die Installation auf dem Webserver|Die Installation auf dem Webserver]]&lt;/div&gt;</summary>
		<author><name>Sebastian</name></author>	</entry>

	<entry>
		<id>https://wiki-en.dynpg.org/wiki_de/index.php?title=Kategorie:Einleitung</id>
		<title>Kategorie:Einleitung</title>
		<link rel="alternate" type="text/html" href="https://wiki-en.dynpg.org/wiki_de/index.php?title=Kategorie:Einleitung"/>
				<updated>2009-09-23T13:06:26Z</updated>
		
		<summary type="html">&lt;p&gt;Sebastian: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[en:Category:Introduction]]&lt;br /&gt;
{{old}}&lt;br /&gt;
== Was? ==&lt;br /&gt;
DynPG steht für &amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;quot;Dynamic Webpages&amp;quot;&amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039; und ist ein sogenanntes &amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;quot;Content Management System&amp;quot;&amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039; (CMS), also ein System mit dem es möglich ist Websiten zu bauen und insbesondere sehr leicht instandzuhalten. Die Aufgabe eines CMS besteht bspw. darin den Aufwand für die Erstellung / Änderung eines Artikels und für die Einbindung dieses Artikels zu minimieren. Mit solch einem System können auch Personen &amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039;ohne Programmierkenntnisse ihre Website aktualisieren und neue Texte und Dateien einbinden&amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039;. &lt;br /&gt;
&lt;br /&gt;
== Warum? ==&lt;br /&gt;
Warum ein neues CMS wenn es schon so viele davon gibt? Nun, viele CMS sind sehr umfangreich und bieten extrem viel Funktionalität, die Autoren kleiner bis mittlerer Websiten eher weniger verwenden. Dadurch werden sie recht schnell komplex und schwierieger einzubinden / zu bedienen. DynPG ist direkt &amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039;auf kleine bis mittlere Webpräsenzen zugeschnitten&amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039; und bietet die gängigsten Funktionen, bleibt dabei jedoch &amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039;einfach&amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039; in der Handhabung und ist zudem &amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039;kostenlos&amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039;! &lt;br /&gt;
&lt;br /&gt;
Zusätzlich ist es mit Hilfe von Plugins sehr gut erweiterbar. &lt;br /&gt;
&lt;br /&gt;
== Wie? ==&lt;br /&gt;
DynPG basiert auf &amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039;PHP (ab Version 4.0.6)&amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039;, besitzt ein Pluginsystem, eine Template-Engine, ist &amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039;multilingual&amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039; und mit Hilfe von CSS flexibel gestaltbar! Nachdem Sie DynPG in Ihre Website integriert haben, können Sie mit Hilfe des sogenannten &amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039;Backends&amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039; (Verwaltungsoberfläche) Artikel schreiben, diese in Gruppen anordnen und sie dann auf dem &amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039;Frontend&amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039; (der eigentlichen Website) anzeigen lassen. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;gallery&amp;gt;&lt;br /&gt;
Image:backend_example1.jpg|Abbildung 1: Ansicht des Backends - Artikel erstellen&lt;br /&gt;
Image:backend_example2.jpg|Abbildung 2: Ansicht des Backends - Gruppen verwalten&lt;br /&gt;
Image:frontend_example1.jpg|Abbildung 3: Ansicht des Frontends - Gruppen anzeigen&lt;br /&gt;
&amp;lt;/gallery&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{-}}&lt;br /&gt;
&lt;br /&gt;
== Wer? ==&lt;br /&gt;
Für die Entwicklung von DynPG zeichnen hauptsächlich [mailto:mail@ds-develop.de Daniel Schliebner] (Hauptentwickler) sowie [mailto:info@gamper-media.ch Urs Gamper] (Idee/Initiant und Auftraggeber) verantwortlich. Des Weiteren gibt es viele Menschen, die sich aktiv an der Entwicklung von DynPG beteiligen / beteiligt haben. Siehe hierzu [http://www.dynpg.ch/cms-freeware.php?t=Kontakt&amp;amp;read_category=27 Bereich Kontakt auf der DynPG-Website].&lt;br /&gt;
&lt;br /&gt;
== System-Voraussetzungen ==&lt;br /&gt;
*PHP ab Version 4.0.6&lt;br /&gt;
*1 bereits vorhandene MySQL Datenbank&lt;br /&gt;
*FTP-Zugang&lt;br /&gt;
*Internet-Browser mit aktiviertem JavaScript&lt;br /&gt;
&lt;br /&gt;
== Lizenz ==&lt;br /&gt;
Bei DynPG handelt es sich um Open-Source-Software die unter der [http://de.wikipedia.org/wiki/LGPL GNU Lesser General Public License] (LGPL) steht. Das System kann frei unter der LGPL verwendet werden! Die meisten Plugins sind kostenpflichtig und können mit einer einmaligen Lizenz je Domain erworben werden. &lt;br /&gt;
&lt;br /&gt;
== Weiteres ==&lt;br /&gt;
Auf [http://www.dynpg.de/ www.dynpg.de] finden Sie in der &amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039;Rubrik Support&amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039; ein [http://www.dynpg.ch/index1.php?read_group=30 Forum], das speziell für Fragen zu DynPG eingerichtet wurde. In diesem Wiki befinden sich zudem weitere Artikel und einige Videos, welche die Installation wie auch die Bedienung von DynPG erklären.&lt;/div&gt;</summary>
		<author><name>Sebastian</name></author>	</entry>

	<entry>
		<id>https://wiki-en.dynpg.org/wiki_de/index.php?title=Implementation_eines_kompletten_Hauptmen%C3%BCs</id>
		<title>Implementation eines kompletten Hauptmenüs</title>
		<link rel="alternate" type="text/html" href="https://wiki-en.dynpg.org/wiki_de/index.php?title=Implementation_eines_kompletten_Hauptmen%C3%BCs"/>
				<updated>2009-08-17T18:49:55Z</updated>
		
		<summary type="html">&lt;p&gt;Sebastian: /* Weitere Informationen */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Kategorie:Integration in eine Webseite]]&lt;br /&gt;
{{Einführungsartikel}}&lt;br /&gt;
== Einleitung ==&lt;br /&gt;
In den vorangegangenen Kapiteln haben Sie gelernt wie man DynPG in seine Seite integriert und es entsprechend anpasst. Ausgerüstet mit diesem Wissen wollen wir uns nun an eine wichtige Aufgabe machen: Die Erstellung eines &amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039;Seitenhauptmenüs&amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039;. Fangen wir also an. Als erstes benötigen wir eine leere &amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039;index.php&amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039;, d.h. nicht ganz leer, sie enthält natürlich das Html-Grundgerüst. Außerdem erstellen wir uns eine CSS-Datei namens &amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039;style.css&amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039; mit der unser Menü optisch auf Vordermann gebracht werden soll. Das Grundgerüst könnte wie folgt aussehen: &lt;br /&gt;
&amp;lt;code&amp;gt;[php,N]&lt;br /&gt;
&amp;lt;?php&lt;br /&gt;
  require &amp;#039;cms/getcontent.php&amp;#039;;  //DynPG-Funktionalität einbinden&lt;br /&gt;
  $DynPG-&amp;gt;SetParam_PathToRoot(&amp;#039;cms/&amp;#039;);  //DynPG-Pfad setzen&lt;br /&gt;
?&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!DOCTYPE HTML PUBLIC &amp;quot;-//W3C//DTD HTML 4.01 Transitional//EN&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;html xmlns=&amp;quot;http://www.w3.org/1999/xhtml&amp;quot; xml:lang=&amp;quot;en-US&amp;quot; lang=&amp;quot;en-US&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;head&amp;gt;&lt;br /&gt;
    &amp;lt;title&amp;gt;Hauptmenue-Tutorial&amp;lt;/title&amp;gt;&lt;br /&gt;
    &amp;lt;meta http-equiv=&amp;quot;content-type&amp;quot; content=&amp;quot;text/html; charset=iso-8859-1&amp;quot; /&amp;gt;&lt;br /&gt;
    &amp;lt;?php $DynPG-&amp;gt;Write_CSS_JS_Header(); ?&amp;gt;  &amp;lt;!--Standard-Css von DynPG einbinden--&amp;gt;&lt;br /&gt;
    &amp;lt;link rel=&amp;quot;stylesheet&amp;quot; type=&amp;quot;text/css&amp;quot; href=&amp;quot;style.css&amp;quot; /&amp;gt;  &amp;lt;!--eigene style.css einbinden--&amp;gt;&lt;br /&gt;
  &amp;lt;/head&amp;gt;&lt;br /&gt;
  &amp;lt;body&amp;gt;&lt;br /&gt;
    &amp;lt;h1&amp;gt;Hauptmenue-Tutorial&amp;lt;/h1&amp;gt;&lt;br /&gt;
    &amp;lt;table  border=&amp;quot;0&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;tr valign=&amp;quot;top&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;th align=&amp;quot;left&amp;quot; style=&amp;quot;width:230px&amp;quot; id=&amp;quot;hauptmenue&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;div style=&amp;quot;border: 3px black solid&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;?php&lt;br /&gt;
        //hier soll das Hauptmenü hin&lt;br /&gt;
      ?&amp;gt;&lt;br /&gt;
      &amp;lt;/div&amp;gt;&lt;br /&gt;
      &amp;lt;/th&amp;gt;&lt;br /&gt;
      &amp;lt;th id=&amp;quot;anzeige&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;div style=&amp;quot;border: 3px black solid&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;?php&lt;br /&gt;
        //hier sollen die anzuzeigenden Artikel und Gruppen hin&lt;br /&gt;
      ?&amp;gt;&lt;br /&gt;
      &amp;lt;/div&amp;gt;&lt;br /&gt;
      &amp;lt;/th&amp;gt;&lt;br /&gt;
      &amp;lt;/tr&amp;gt;&lt;br /&gt;
    &amp;lt;/table&amp;gt;&lt;br /&gt;
  &amp;lt;/body&amp;gt;&lt;br /&gt;
&amp;lt;/html&amp;gt;&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
In den Spalten &amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039;hauptmenue&amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039; und &amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039;anzeige&amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039; sollen das Hauptmenü bzw. die eigentlichen Artikel, Artikellisten und Gruppenlisten angezeigt werden. Bevor wir nun den eigentlichen Code schreiben, müssen wir in das DynPG Backend und einen Artikel erstellen, nämlich den Artikel der das Hauptmenü tragen soll. Ja richtig, das Hauptmenü ist nämlich auch ein Artikel, nur eben ein etwas spezieller! Loggen Sie sich mit ihrem Account in das DynPG-Backend ein und gehen Sie in die Sektion &amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039;Artikelbezogene Texte&amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039;. Nun haben Sie schon einen neuen Artikeltext vor sich und müssen nur noch auf das &amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039;Dynamisches Menü einfügen&amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039; - Symbol über dem Textfeld klicken und just in diesem Moment müsste eine blaue Grafik mit der Bezeichnung &amp;quot;dynamisches Menü&amp;quot; im Textfeld erscheinen. Nun, das war es auch schon fast, drücken Sie nun den Knopf &amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039;Erstellen&amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039;. &lt;br /&gt;
&lt;br /&gt;
[[Image:create_article.jpg|thumb|Abbildung 2.3. Artikel für das Hauptmenü erstellen]]&lt;br /&gt;
&lt;br /&gt;
Der Hauptmenü-Artikel müsste nun darunter in der Liste &amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;quot;Texte / Text-Gruppen&amp;quot;&amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039; angezeigt werden. Schauen Sie wo er sich dort befindet und merken Sie sich die &amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039;ID&amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039;. Mit der werden wir den Artikel nämlich jetzt anzeigen lassen. Gehen wir also wieder in unsere &amp;quot;index.php&amp;quot; und fügen in der &amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039;Spalte hauptmenue&amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039; folgendes ein: &lt;br /&gt;
{{-}}&lt;br /&gt;
&amp;lt;code&amp;gt;[php,Y]&lt;br /&gt;
&amp;lt;?php&lt;br /&gt;
  //nur anzeigen, wenn es der Kontext (also Position im Menü) vorgibt!&lt;br /&gt;
  $DynPG-&amp;gt;SetParam_A_Anytime(true);&lt;br /&gt;
  $DynPG-&amp;gt;SetParam_A_Article(15);&lt;br /&gt;
  $DynPG-&amp;gt;Write_Article();&lt;br /&gt;
?&amp;gt;&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Was genau passiert da? Nun in der 1. Zeile sagen wir DynPG, dass es den folgenden Artikel immer anzeigen soll, kontextunabhängig also. Das macht auch Sinn, denn es handelt sich hier schließlich um unser Hauptmenü und das ist sozusagen omni-präsent. Bei mir wurde dem Menü-Artikel die ID 15 zugewiesen, deshalb verwende ich beim Setzen des Artikels in Zeile 2 auch diese Nummer. Mit Zeile 3 wird dann das Menü angezeigt. &lt;br /&gt;
&lt;br /&gt;
Nun müssen wir uns noch um die anzuzeigenden Artikel kümmern die man über das Menü erreichen kann, dazu fügen wir in der &amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039;Spalte anzeige&amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039; folgendes ein: &lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;[php,Y]&lt;br /&gt;
&amp;lt;?php&lt;br /&gt;
  //nur anzeigen, wenn es der Kontext (also Position im Menü) vorgibt!&lt;br /&gt;
  $DynPG-&amp;gt;SetParam_A_Anytime(false);&lt;br /&gt;
  $DynPG-&amp;gt;SetParam_AA_Maxview(10);  //Maximal zehn Einträge in Artikellisten&lt;br /&gt;
  $DynPG-&amp;gt;Write_AllArticles();&lt;br /&gt;
  $DynPG-&amp;gt;Write_Article();&lt;br /&gt;
?&amp;gt;&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Zeile 1 funktioniert analog zu obigem Code. Die Zeilen 3 und 4 bewirken, dass sowohl Artikellisten (wenn im Menü auf eine Gruppe geklickt wird) als auch einzelne Artikel (wenn auf einen Artikel geklickt wird) angezeigt werden. Zeile 2 gibt an wie lang die Artikellisten sein dürfen, bevor sie der Übersicht halber auf mehreren Seiten (mit Navigation) dargestellt werden. &lt;br /&gt;
&lt;br /&gt;
Für das Beispiel werden wir die style.css wie folgt füllen: &lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;[css,N]&lt;br /&gt;
/*alle Links schwarz*/&lt;br /&gt;
a{color: black;}&lt;br /&gt;
&lt;br /&gt;
#hauptmenu p{&lt;br /&gt;
	text-align: left;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/*Navigation, Print-Button und Artikelheader unsichtbar machen*/&lt;br /&gt;
#dynpg_A_breadcrumb{display: none;}&lt;br /&gt;
	&lt;br /&gt;
#dynpg_AA_breadcrumb_navi{display: none;}&lt;br /&gt;
#dynpg_AA_breadcrumb_pages{display: none;}&lt;br /&gt;
&lt;br /&gt;
#dynpg_A_btnprint{display: none;}&lt;br /&gt;
&lt;br /&gt;
#dynpg_A_header{display: none;}&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Hier werden die Artikel-Navigation (dynpg_A_breadcrumb), der Artikel- Printbutton (dynpg_A_btnprint) sowie der Artikelkopf (dynpg_A_header) ausgeblendet. &lt;br /&gt;
&lt;br /&gt;
Nun kann das ganze sogar schon ausgeführt werden und sieht bei mir folgendermaßen aus: &lt;br /&gt;
&lt;br /&gt;
[[Image:first_look.jpg|200px|Abbildung 2.4. ein erstes funktionierendes Hauptmenü]]&lt;br /&gt;
&lt;br /&gt;
Freilich variiert diese Ansicht, denn es werden natürlich immer die Gruppen und Artikel angezeigt die man im Backend definiert hat. Hier habe ich größtenteils alles so gelassen wie man es nach der Installation von DynPG mit den Beispieldaten vorfindet. Nun kann man daran gehen eigene Artikel/Gruppen zu erzeugen, die dann natürlich auch im Menü auftauchen werden. &lt;br /&gt;
&lt;br /&gt;
Das Menü, so wie es jetzt erscheint, ist rein optisch noch etwas rudimentär, daher werden wir nun daran gehen das ganze ein bisschen aufzupeppen indem wir Grafiken für die einzelnen Menüpunkte einfügen.&lt;br /&gt;
&lt;br /&gt;
== Grafiken für die Menüpunkte ==&lt;br /&gt;
Da nun bereits ein fertiges Menü-Grundgerüst steht, sollte es ein leichtes sein Grafiken für die einzelnen Menüpunkte einzufügen, denn dazu müssen wir lediglich die Stylesheet-Datei &amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039;style.css&amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039; um folgenden Code erweitern: &lt;br /&gt;
&amp;lt;code&amp;gt;[css,N]&lt;br /&gt;
/*===========================Hauptkategorien==============================*/&lt;br /&gt;
/*Hintergrundbilder für die Menüeinträge setzen*/&lt;br /&gt;
#hauptmenue .level_0_r_i_exp, #hauptmenue .level_0_r_i_exp_hover, &lt;br /&gt;
#hauptmenue .level_0_r_a_exp_hover, #hauptmenue .level_0_r_a_exp&lt;br /&gt;
{&lt;br /&gt;
	background: url(&amp;quot;images/note.gif&amp;quot;) no-repeat left top;&lt;br /&gt;
	padding: 0px 0px 5px 0px;&lt;br /&gt;
}&lt;br /&gt;
/*Bezeichnungen für die Menüeinträge positionieren*/&lt;br /&gt;
#hauptmenue .level_0_r_i_exp p, #hauptmenue .level_0_r_i_exp_hover p, &lt;br /&gt;
#hauptmenue .level_0_r_a_exp_hover p, #hauptmenue .level_0_r_a_exp p&lt;br /&gt;
{&lt;br /&gt;
	position: relative;&lt;br /&gt;
	left: 40px;&lt;br /&gt;
}&lt;br /&gt;
/*===========================Sub-Kategorien==============================*/&lt;br /&gt;
/*Bezeichnungen für die Menüeinträge positionieren*/&lt;br /&gt;
#hauptmenue .level_1_r_i_exp p, #hauptmenue .level_1_r_i_exp_hover p, &lt;br /&gt;
#hauptmenue .level_1_r_a_exp_hover p, #hauptmenue .level_1_r_a_exp p&lt;br /&gt;
{&lt;br /&gt;
	position: relative;&lt;br /&gt;
	left: 60px;&lt;br /&gt;
}&lt;br /&gt;
/*===========================Sub-Sub-Kategorien==============================*/&lt;br /&gt;
/*Bezeichnungen für die Menüeinträge positionieren*/&lt;br /&gt;
#hauptmenue .level_2_r_i_exp p, #hauptmenue .level_2_r_i_exp_hover p, &lt;br /&gt;
#hauptmenue .level_2_r_a_exp_hover p, #hauptmenue .level_2_r_a_exp p&lt;br /&gt;
{&lt;br /&gt;
	position: relative;&lt;br /&gt;
	left: 60px;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
Um diesen Code zu verstehen müssen wir zunächst ein paar Sachen klären. Jedem Menüpunkt wird von DynPG in CSS automatisch eine Klasse zugeordnet mit der wir in die Lage versetzt werden die einzelnen Eigenschaften zu setzen. Folgende Gruppen gibt es: &lt;br /&gt;
&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039;level_0_r_i_exp&amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039; (inaktiver(noch nicht geklickter) Menüpunkt)&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039;level_0_r_i_exp_hover&amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039; (inaktiver(noch nicht geklickter) Menüpunkt auf dem die Maus steht)&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039;level_0_r_a_exp&amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039; (aktiver(geklickter) Menüpunkt)&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039;level_0_r_a_exp_hover&amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039; (aktiver(geklickter) Menüpunkt auf dem die Maus steht)&lt;br /&gt;
&lt;br /&gt;
All diese Klassen beziehen sich auf Menüpunkte des Typs &amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039;Level 0&amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039;, also die Hauptpunkte / Punkte der obersten Kategorie. Für Menüpunkte des Typs &amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039;Level X&amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039; gibt es natürlich auch Klassen: &lt;br /&gt;
&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039;level_X_r_i_exp&amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039; (inaktiver(noch nicht geklickter) Menüpunkt)&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039;level_X_r_i_exp_hover&amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039; (inaktiver(noch nicht geklickter) Menüpunkt auf dem die Maus steht)&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039;level_X_r_a_exp&amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039; (aktiver(geklickter) Menüpunkt)&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039;level_X_r_a_exp_hover&amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039; (aktiver(geklickter) Menüpunkt auf dem die Maus steht)&lt;br /&gt;
&lt;br /&gt;
Wobei X im Bereich von 0 bis 3 liegt! Ist ein Menüpunkt eine Gruppe werden alle seine Untergruppen bzw. Unterartikel in einem Div mit dem Namen &lt;br /&gt;
&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039;group_fold_ID&amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
zusammengefasst, wobei &amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039;ID&amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039; für die ID der Gruppe steht (diese wird beim Erstellen generiert und kann im Backend bzw. im generierten Html-Code (Browser) nachgelesen werden). Jetzt wird sicher auch klar wie der Code in style.css zu verstehen ist, in der nur Menüeinträge bis Level2 formatiert werden. Den vollständigen Code und ein laufendes Beispiel kann man sich [[CSS Einfaches Hauptmenü mit Bildern|hier]] anschauen.&lt;br /&gt;
&lt;br /&gt;
== Verschiedene dynamische Grafiken für verschiedene Menüpunkte ==&lt;br /&gt;
Im vorherigen Beispiel haben wir Grafiken für die Menüpunkte eingefügt, nun soll jeder Menüpunkt seine eigene Grafik erhalten und diese soll sich zudem ändern, wenn man mit der Maus daraufzeigt. Das hört sich zwar schon etwas komplizierter an, tatsächlich müssen wir aber wieder &amp;quot;nur&amp;quot; die &amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039;style.css&amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039; ändern, der eigentliche Code für das Menü bleibt so bestehen. &lt;br /&gt;
&lt;br /&gt;
[[CSS Einfaches Hauptmenü mit verschiedenen Bildern und Hovereffekt|Hier]] können der Css-Code und das ausführbare Beispiel bewundert werden. &lt;br /&gt;
&lt;br /&gt;
Erklärung: Im vorigen Beispiel stellten wir bereits fest, dass jedem Menüpunkt eine Klasse zugeordet wird und das Menüpunkte die Gruppen sind von divs mit dem Namen &amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039;group_fold_ID&amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039; (wobei &amp;quot;ID&amp;quot; die Id der Gruppe ist) umschlossen werden. Da die Namen (bzw. Ids) dieser divs eindeutig sind, können wir mit ihrer Hilfe jedem Menüpunkt eine eigene Grafik zuordnen: &lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;[css,N]&lt;br /&gt;
#group_fold_6 .level_0_r_i_exp &lt;br /&gt;
{&lt;br /&gt;
	background: url(&amp;quot;images/warning1.gif&amp;quot;) no-repeat left top;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Bei mir ist der erste Menüpunkt eine Gruppe welche die Id &amp;quot;6&amp;quot; trägt, daher &amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039;group_fold_6&amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039;! Mit &amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039;.level_0_r_i_exp&amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039; beziehe ich mich auf die Eigenschaften des Menüpunktes die er hat, wenn er nicht aktiv (nicht angeklickt oder mit dem Mauszeiger berührt) ist. In diesem Zustand soll ihm die Grafik &amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039;warning1.gif&amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039; zugewiesen werden. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;[css,N]&lt;br /&gt;
#group_fold_6 .level_0_r_i_exp_hover, &lt;br /&gt;
#group_fold_6 .level_0_r_a_exp_hover, #group_fold_6 .level_0_r_a_exp&lt;br /&gt;
{&lt;br /&gt;
	background: url(&amp;quot;images/warning2.gif&amp;quot;) no-repeat left top;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Wenn er aktiv ist (also angeklickt oder mit dem Mauszeiger berührt wird), dann soll er die Grafik &amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039;warning2.gif&amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039; erhalten. Nun kann man so für alle weiteren Hauptpunkte vorgehen und erhält den im [http://www.dynpg.ch/doku/examples/css/menu_with_different_images/index.php ausfürbaren Beispiel] vorgestellten Effekt.&lt;br /&gt;
&lt;br /&gt;
== Direktklick auf Gruppen ==&lt;br /&gt;
[[Image:special_group.jpg|thumb|Abbildung 2.5. Spezielle Gruppe]]&lt;br /&gt;
Bis jetzt wurde bei einem Klick auf eine Gruppe im Hauptmenü immer eine Artikelliste (sowohl im Menü als auch im Anzeigefenster) dargestellt. Was aber wenn wir wollen, dass direkt und ohne jeden Umweg ein Artikel angezeigt werden soll? Nun, die Lösung ist einfach und erfordert noch nicht einmal Quellcode, denn das &amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039;Backend&amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039; erledigt all dies schon für uns. Für das Beispiel habe ich dort nämlich eine Gruppe namens &amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039;spezielle Gruppe&amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039; erstellt. In der Gruppe habe ich dann einen Artikel mit dem Namen &amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039;spezieller Artikel&amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039; erstellt und ihm einen beliebiegen Artikeltext zugewiesen. Ist dies einmal geschehen kann man in der Gruppenliste bei &amp;quot;spezielle Gruppe&amp;quot; auf das &amp;quot;Bearbeiten&amp;quot;-Symbol klicken (das, welches wie ein Kugelschreiber aussieht) und bei &amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;quot;Gruppeninhalt&amp;quot;&amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039; die Id von &amp;quot;spezieller Artikel&amp;quot; eintragen. Und schon erhält man im [http://www.dynpg.ch/doku/examples/css/menu_with_different_images/index.php ausfürbaren Beispiel] den beschriebenen Effekt.&lt;br /&gt;
{{-}}&lt;br /&gt;
== Unterschiedliche Stile für unterschiedliche Seiten ==&lt;br /&gt;
Angenommen Sie haben einen Menüpunkt Kontakt und einen namens Startseite und Sie wollen, dass beide z.B. verschiedene Hintergrundfarben zur Darstellung verwenden. Was tun? Glücklicherweise gibt es dafür Menüfunktionalitäten die einem die Arbeit abnehmen. Dabei sei auf [[Code-Schnipsel Unterschiedliche Stile für unterschiedliche Seiten|dieses Beispiel]] verwiesen. &lt;br /&gt;
&lt;br /&gt;
Im Beispiel werden die folgenden beiden Funktionen verwendet: &lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;[php,Y]&lt;br /&gt;
$DynPG-&amp;gt;SetParam_PlugIn_Param(&amp;#039;DPGdynmenu&amp;#039;, &amp;#039;href_page_articles&amp;#039;, &amp;#039;../index.php&amp;#039;);&lt;br /&gt;
$DynPG-&amp;gt;SetParam_PlugIn_Param(&amp;#039;DPGdynmenu&amp;#039;, &amp;#039;href_subpages&amp;#039;, Array(1 =&amp;gt; &amp;#039;../details.php&amp;#039;));&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Funktion 1 legt die PHP-Datei fest, die zum anzeigen sämtlicher Menüpunkte verwendet werden soll (hier: index.php). Funktion 2 legt die Datei fest, die zum anzeigen der &amp;quot;Startseite&amp;quot;-Gruppe verwendet werden soll. Somit überschreibt Funktion 2 die Einstellungen von Funktion 1 für &amp;quot;Startseite&amp;quot;. Dabei muss wieder die ID der Gruppe angegeben werden (kann im Backend nachgelesen werden). Jedesmal wenn man jetzt auf die Startseiten-Gruppe klickt, wird statt dem Code von index.php, der von details.php zum anzeigen verwendet. Man kann natürlich auch mehr als eine Datei angeben: &lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;[php,N]&lt;br /&gt;
$DynPG-&amp;gt;SetParam_PlugIn_Param(&amp;#039;DPGdynmenu&amp;#039;,&lt;br /&gt;
                              &amp;#039;href_subpages&amp;#039;,&lt;br /&gt;
                               Array(&lt;br /&gt;
                                     5 =&amp;gt; &amp;#039;../details.php&amp;#039;,&lt;br /&gt;
                                     7 =&amp;gt; &amp;#039;../beliebige_datei.php&amp;#039;&lt;br /&gt;
                                    )&lt;br /&gt;
                             );&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Image:caution.png]] &amp;#039;&amp;#039;&amp;#039;Achtung&amp;#039;&amp;#039;&amp;#039; Bei dem Pfad für die anzugebenen Dateien wird von dem Standard-Pfad von DynPG ausgegangen (dem in dem die &amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039;getcontent.php&amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039; liegt), nicht von dem der Datei in dem die Funktion aufgerufen wird!&lt;br /&gt;
&lt;br /&gt;
[[Image:caution.png]] &amp;#039;&amp;#039;&amp;#039;Achtung&amp;#039;&amp;#039;&amp;#039; Hat man für eine Gruppe eine andere Datei festgelegt, dann wird diese Datei nicht zwingend auch für die Untergruppen verwendet! Man muss auch explizit für die Untergruppen die zu verwendenden Dateien angeben!!&lt;br /&gt;
&lt;br /&gt;
== Einträge sortieren ==&lt;br /&gt;
Der Titel sagt bereits alles: Wir wollen hier die Einträge im Menü sortieren, und zwar nach verschiedenen Schlüsseln, wie z.B. dem Index der Gruppe / des Artikels oder dem Namen. Dazu gibt uns DynPG zwei Funktionen zur Hand nämlich: &lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;[php,Y]&lt;br /&gt;
$DynPG-&amp;gt;SetParam_PlugIn_Param(&amp;#039;DPGdynmenu&amp;#039;, &amp;#039;order&amp;#039;, Array(&amp;#039;INDEX&amp;#039;));&lt;br /&gt;
$DynPG-&amp;gt;SetParam_PlugIn_Param(&amp;#039;DPGdynmenu&amp;#039;, &amp;#039;sort&amp;#039;, Array(&amp;#039;ASC&amp;#039;));&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Die erste der beiden legt den Sortierschlüssel fest (hier: der Index der Gruppe / des Artikels). Mögliche Sortierschlüssel sind: &lt;br /&gt;
&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039;INDEX&amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039; (Index des Eintrages)&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039;NAME&amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039; (Name des Eintrages)&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039;CREATEDATE&amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039; (Erstellungsdatum)&lt;br /&gt;
&lt;br /&gt;
Die zweite sortiert schließlich die Einträge. Dabei hat man die Wahl zwischen auf- (&amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039;ASC&amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039;) und absteigend (&amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039;DESC&amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039;). [[Code-Schnipsel Menüeinträge sortieren|In diesem Beispiel]] sieht man die Funktionen in Aktion. &lt;br /&gt;
&lt;br /&gt;
[[Image:caution.png]] &amp;#039;&amp;#039;&amp;#039;Achtung&amp;#039;&amp;#039;&amp;#039; Die Funktionen müssen natürlich &amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039;vor&amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039; der Ausgabe des Menüs aufgerufen werden.&lt;br /&gt;
&lt;br /&gt;
==Weitere Informationen==&lt;br /&gt;
&lt;br /&gt;
[[Bild:Tip.png]] Mehr Informationen zum Einbinden von Hauptmenüs in Ihre Seite erhalten Sie im Artikel [[Modul Dynamische Navigation]], der Beschreibungsseite des DynPG-Plugins, dass in obigem Artikel Verwendung fand.&lt;/div&gt;</summary>
		<author><name>Sebastian</name></author>	</entry>

	<entry>
		<id>https://wiki-en.dynpg.org/wiki_de/index.php?title=Implementation_eines_kompletten_Hauptmen%C3%BCs</id>
		<title>Implementation eines kompletten Hauptmenüs</title>
		<link rel="alternate" type="text/html" href="https://wiki-en.dynpg.org/wiki_de/index.php?title=Implementation_eines_kompletten_Hauptmen%C3%BCs"/>
				<updated>2009-08-17T18:48:23Z</updated>
		
		<summary type="html">&lt;p&gt;Sebastian: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Kategorie:Integration in eine Webseite]]&lt;br /&gt;
{{Einführungsartikel}}&lt;br /&gt;
== Einleitung ==&lt;br /&gt;
In den vorangegangenen Kapiteln haben Sie gelernt wie man DynPG in seine Seite integriert und es entsprechend anpasst. Ausgerüstet mit diesem Wissen wollen wir uns nun an eine wichtige Aufgabe machen: Die Erstellung eines &amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039;Seitenhauptmenüs&amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039;. Fangen wir also an. Als erstes benötigen wir eine leere &amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039;index.php&amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039;, d.h. nicht ganz leer, sie enthält natürlich das Html-Grundgerüst. Außerdem erstellen wir uns eine CSS-Datei namens &amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039;style.css&amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039; mit der unser Menü optisch auf Vordermann gebracht werden soll. Das Grundgerüst könnte wie folgt aussehen: &lt;br /&gt;
&amp;lt;code&amp;gt;[php,N]&lt;br /&gt;
&amp;lt;?php&lt;br /&gt;
  require &amp;#039;cms/getcontent.php&amp;#039;;  //DynPG-Funktionalität einbinden&lt;br /&gt;
  $DynPG-&amp;gt;SetParam_PathToRoot(&amp;#039;cms/&amp;#039;);  //DynPG-Pfad setzen&lt;br /&gt;
?&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!DOCTYPE HTML PUBLIC &amp;quot;-//W3C//DTD HTML 4.01 Transitional//EN&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;html xmlns=&amp;quot;http://www.w3.org/1999/xhtml&amp;quot; xml:lang=&amp;quot;en-US&amp;quot; lang=&amp;quot;en-US&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;head&amp;gt;&lt;br /&gt;
    &amp;lt;title&amp;gt;Hauptmenue-Tutorial&amp;lt;/title&amp;gt;&lt;br /&gt;
    &amp;lt;meta http-equiv=&amp;quot;content-type&amp;quot; content=&amp;quot;text/html; charset=iso-8859-1&amp;quot; /&amp;gt;&lt;br /&gt;
    &amp;lt;?php $DynPG-&amp;gt;Write_CSS_JS_Header(); ?&amp;gt;  &amp;lt;!--Standard-Css von DynPG einbinden--&amp;gt;&lt;br /&gt;
    &amp;lt;link rel=&amp;quot;stylesheet&amp;quot; type=&amp;quot;text/css&amp;quot; href=&amp;quot;style.css&amp;quot; /&amp;gt;  &amp;lt;!--eigene style.css einbinden--&amp;gt;&lt;br /&gt;
  &amp;lt;/head&amp;gt;&lt;br /&gt;
  &amp;lt;body&amp;gt;&lt;br /&gt;
    &amp;lt;h1&amp;gt;Hauptmenue-Tutorial&amp;lt;/h1&amp;gt;&lt;br /&gt;
    &amp;lt;table  border=&amp;quot;0&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;tr valign=&amp;quot;top&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;th align=&amp;quot;left&amp;quot; style=&amp;quot;width:230px&amp;quot; id=&amp;quot;hauptmenue&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;div style=&amp;quot;border: 3px black solid&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;?php&lt;br /&gt;
        //hier soll das Hauptmenü hin&lt;br /&gt;
      ?&amp;gt;&lt;br /&gt;
      &amp;lt;/div&amp;gt;&lt;br /&gt;
      &amp;lt;/th&amp;gt;&lt;br /&gt;
      &amp;lt;th id=&amp;quot;anzeige&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;div style=&amp;quot;border: 3px black solid&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;?php&lt;br /&gt;
        //hier sollen die anzuzeigenden Artikel und Gruppen hin&lt;br /&gt;
      ?&amp;gt;&lt;br /&gt;
      &amp;lt;/div&amp;gt;&lt;br /&gt;
      &amp;lt;/th&amp;gt;&lt;br /&gt;
      &amp;lt;/tr&amp;gt;&lt;br /&gt;
    &amp;lt;/table&amp;gt;&lt;br /&gt;
  &amp;lt;/body&amp;gt;&lt;br /&gt;
&amp;lt;/html&amp;gt;&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
In den Spalten &amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039;hauptmenue&amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039; und &amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039;anzeige&amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039; sollen das Hauptmenü bzw. die eigentlichen Artikel, Artikellisten und Gruppenlisten angezeigt werden. Bevor wir nun den eigentlichen Code schreiben, müssen wir in das DynPG Backend und einen Artikel erstellen, nämlich den Artikel der das Hauptmenü tragen soll. Ja richtig, das Hauptmenü ist nämlich auch ein Artikel, nur eben ein etwas spezieller! Loggen Sie sich mit ihrem Account in das DynPG-Backend ein und gehen Sie in die Sektion &amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039;Artikelbezogene Texte&amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039;. Nun haben Sie schon einen neuen Artikeltext vor sich und müssen nur noch auf das &amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039;Dynamisches Menü einfügen&amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039; - Symbol über dem Textfeld klicken und just in diesem Moment müsste eine blaue Grafik mit der Bezeichnung &amp;quot;dynamisches Menü&amp;quot; im Textfeld erscheinen. Nun, das war es auch schon fast, drücken Sie nun den Knopf &amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039;Erstellen&amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039;. &lt;br /&gt;
&lt;br /&gt;
[[Image:create_article.jpg|thumb|Abbildung 2.3. Artikel für das Hauptmenü erstellen]]&lt;br /&gt;
&lt;br /&gt;
Der Hauptmenü-Artikel müsste nun darunter in der Liste &amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;quot;Texte / Text-Gruppen&amp;quot;&amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039; angezeigt werden. Schauen Sie wo er sich dort befindet und merken Sie sich die &amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039;ID&amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039;. Mit der werden wir den Artikel nämlich jetzt anzeigen lassen. Gehen wir also wieder in unsere &amp;quot;index.php&amp;quot; und fügen in der &amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039;Spalte hauptmenue&amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039; folgendes ein: &lt;br /&gt;
{{-}}&lt;br /&gt;
&amp;lt;code&amp;gt;[php,Y]&lt;br /&gt;
&amp;lt;?php&lt;br /&gt;
  //nur anzeigen, wenn es der Kontext (also Position im Menü) vorgibt!&lt;br /&gt;
  $DynPG-&amp;gt;SetParam_A_Anytime(true);&lt;br /&gt;
  $DynPG-&amp;gt;SetParam_A_Article(15);&lt;br /&gt;
  $DynPG-&amp;gt;Write_Article();&lt;br /&gt;
?&amp;gt;&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Was genau passiert da? Nun in der 1. Zeile sagen wir DynPG, dass es den folgenden Artikel immer anzeigen soll, kontextunabhängig also. Das macht auch Sinn, denn es handelt sich hier schließlich um unser Hauptmenü und das ist sozusagen omni-präsent. Bei mir wurde dem Menü-Artikel die ID 15 zugewiesen, deshalb verwende ich beim Setzen des Artikels in Zeile 2 auch diese Nummer. Mit Zeile 3 wird dann das Menü angezeigt. &lt;br /&gt;
&lt;br /&gt;
Nun müssen wir uns noch um die anzuzeigenden Artikel kümmern die man über das Menü erreichen kann, dazu fügen wir in der &amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039;Spalte anzeige&amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039; folgendes ein: &lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;[php,Y]&lt;br /&gt;
&amp;lt;?php&lt;br /&gt;
  //nur anzeigen, wenn es der Kontext (also Position im Menü) vorgibt!&lt;br /&gt;
  $DynPG-&amp;gt;SetParam_A_Anytime(false);&lt;br /&gt;
  $DynPG-&amp;gt;SetParam_AA_Maxview(10);  //Maximal zehn Einträge in Artikellisten&lt;br /&gt;
  $DynPG-&amp;gt;Write_AllArticles();&lt;br /&gt;
  $DynPG-&amp;gt;Write_Article();&lt;br /&gt;
?&amp;gt;&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Zeile 1 funktioniert analog zu obigem Code. Die Zeilen 3 und 4 bewirken, dass sowohl Artikellisten (wenn im Menü auf eine Gruppe geklickt wird) als auch einzelne Artikel (wenn auf einen Artikel geklickt wird) angezeigt werden. Zeile 2 gibt an wie lang die Artikellisten sein dürfen, bevor sie der Übersicht halber auf mehreren Seiten (mit Navigation) dargestellt werden. &lt;br /&gt;
&lt;br /&gt;
Für das Beispiel werden wir die style.css wie folgt füllen: &lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;[css,N]&lt;br /&gt;
/*alle Links schwarz*/&lt;br /&gt;
a{color: black;}&lt;br /&gt;
&lt;br /&gt;
#hauptmenu p{&lt;br /&gt;
	text-align: left;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/*Navigation, Print-Button und Artikelheader unsichtbar machen*/&lt;br /&gt;
#dynpg_A_breadcrumb{display: none;}&lt;br /&gt;
	&lt;br /&gt;
#dynpg_AA_breadcrumb_navi{display: none;}&lt;br /&gt;
#dynpg_AA_breadcrumb_pages{display: none;}&lt;br /&gt;
&lt;br /&gt;
#dynpg_A_btnprint{display: none;}&lt;br /&gt;
&lt;br /&gt;
#dynpg_A_header{display: none;}&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Hier werden die Artikel-Navigation (dynpg_A_breadcrumb), der Artikel- Printbutton (dynpg_A_btnprint) sowie der Artikelkopf (dynpg_A_header) ausgeblendet. &lt;br /&gt;
&lt;br /&gt;
Nun kann das ganze sogar schon ausgeführt werden und sieht bei mir folgendermaßen aus: &lt;br /&gt;
&lt;br /&gt;
[[Image:first_look.jpg|200px|Abbildung 2.4. ein erstes funktionierendes Hauptmenü]]&lt;br /&gt;
&lt;br /&gt;
Freilich variiert diese Ansicht, denn es werden natürlich immer die Gruppen und Artikel angezeigt die man im Backend definiert hat. Hier habe ich größtenteils alles so gelassen wie man es nach der Installation von DynPG mit den Beispieldaten vorfindet. Nun kann man daran gehen eigene Artikel/Gruppen zu erzeugen, die dann natürlich auch im Menü auftauchen werden. &lt;br /&gt;
&lt;br /&gt;
Das Menü, so wie es jetzt erscheint, ist rein optisch noch etwas rudimentär, daher werden wir nun daran gehen das ganze ein bisschen aufzupeppen indem wir Grafiken für die einzelnen Menüpunkte einfügen.&lt;br /&gt;
&lt;br /&gt;
== Grafiken für die Menüpunkte ==&lt;br /&gt;
Da nun bereits ein fertiges Menü-Grundgerüst steht, sollte es ein leichtes sein Grafiken für die einzelnen Menüpunkte einzufügen, denn dazu müssen wir lediglich die Stylesheet-Datei &amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039;style.css&amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039; um folgenden Code erweitern: &lt;br /&gt;
&amp;lt;code&amp;gt;[css,N]&lt;br /&gt;
/*===========================Hauptkategorien==============================*/&lt;br /&gt;
/*Hintergrundbilder für die Menüeinträge setzen*/&lt;br /&gt;
#hauptmenue .level_0_r_i_exp, #hauptmenue .level_0_r_i_exp_hover, &lt;br /&gt;
#hauptmenue .level_0_r_a_exp_hover, #hauptmenue .level_0_r_a_exp&lt;br /&gt;
{&lt;br /&gt;
	background: url(&amp;quot;images/note.gif&amp;quot;) no-repeat left top;&lt;br /&gt;
	padding: 0px 0px 5px 0px;&lt;br /&gt;
}&lt;br /&gt;
/*Bezeichnungen für die Menüeinträge positionieren*/&lt;br /&gt;
#hauptmenue .level_0_r_i_exp p, #hauptmenue .level_0_r_i_exp_hover p, &lt;br /&gt;
#hauptmenue .level_0_r_a_exp_hover p, #hauptmenue .level_0_r_a_exp p&lt;br /&gt;
{&lt;br /&gt;
	position: relative;&lt;br /&gt;
	left: 40px;&lt;br /&gt;
}&lt;br /&gt;
/*===========================Sub-Kategorien==============================*/&lt;br /&gt;
/*Bezeichnungen für die Menüeinträge positionieren*/&lt;br /&gt;
#hauptmenue .level_1_r_i_exp p, #hauptmenue .level_1_r_i_exp_hover p, &lt;br /&gt;
#hauptmenue .level_1_r_a_exp_hover p, #hauptmenue .level_1_r_a_exp p&lt;br /&gt;
{&lt;br /&gt;
	position: relative;&lt;br /&gt;
	left: 60px;&lt;br /&gt;
}&lt;br /&gt;
/*===========================Sub-Sub-Kategorien==============================*/&lt;br /&gt;
/*Bezeichnungen für die Menüeinträge positionieren*/&lt;br /&gt;
#hauptmenue .level_2_r_i_exp p, #hauptmenue .level_2_r_i_exp_hover p, &lt;br /&gt;
#hauptmenue .level_2_r_a_exp_hover p, #hauptmenue .level_2_r_a_exp p&lt;br /&gt;
{&lt;br /&gt;
	position: relative;&lt;br /&gt;
	left: 60px;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
Um diesen Code zu verstehen müssen wir zunächst ein paar Sachen klären. Jedem Menüpunkt wird von DynPG in CSS automatisch eine Klasse zugeordnet mit der wir in die Lage versetzt werden die einzelnen Eigenschaften zu setzen. Folgende Gruppen gibt es: &lt;br /&gt;
&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039;level_0_r_i_exp&amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039; (inaktiver(noch nicht geklickter) Menüpunkt)&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039;level_0_r_i_exp_hover&amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039; (inaktiver(noch nicht geklickter) Menüpunkt auf dem die Maus steht)&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039;level_0_r_a_exp&amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039; (aktiver(geklickter) Menüpunkt)&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039;level_0_r_a_exp_hover&amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039; (aktiver(geklickter) Menüpunkt auf dem die Maus steht)&lt;br /&gt;
&lt;br /&gt;
All diese Klassen beziehen sich auf Menüpunkte des Typs &amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039;Level 0&amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039;, also die Hauptpunkte / Punkte der obersten Kategorie. Für Menüpunkte des Typs &amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039;Level X&amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039; gibt es natürlich auch Klassen: &lt;br /&gt;
&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039;level_X_r_i_exp&amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039; (inaktiver(noch nicht geklickter) Menüpunkt)&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039;level_X_r_i_exp_hover&amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039; (inaktiver(noch nicht geklickter) Menüpunkt auf dem die Maus steht)&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039;level_X_r_a_exp&amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039; (aktiver(geklickter) Menüpunkt)&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039;level_X_r_a_exp_hover&amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039; (aktiver(geklickter) Menüpunkt auf dem die Maus steht)&lt;br /&gt;
&lt;br /&gt;
Wobei X im Bereich von 0 bis 3 liegt! Ist ein Menüpunkt eine Gruppe werden alle seine Untergruppen bzw. Unterartikel in einem Div mit dem Namen &lt;br /&gt;
&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039;group_fold_ID&amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
zusammengefasst, wobei &amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039;ID&amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039; für die ID der Gruppe steht (diese wird beim Erstellen generiert und kann im Backend bzw. im generierten Html-Code (Browser) nachgelesen werden). Jetzt wird sicher auch klar wie der Code in style.css zu verstehen ist, in der nur Menüeinträge bis Level2 formatiert werden. Den vollständigen Code und ein laufendes Beispiel kann man sich [[CSS Einfaches Hauptmenü mit Bildern|hier]] anschauen.&lt;br /&gt;
&lt;br /&gt;
== Verschiedene dynamische Grafiken für verschiedene Menüpunkte ==&lt;br /&gt;
Im vorherigen Beispiel haben wir Grafiken für die Menüpunkte eingefügt, nun soll jeder Menüpunkt seine eigene Grafik erhalten und diese soll sich zudem ändern, wenn man mit der Maus daraufzeigt. Das hört sich zwar schon etwas komplizierter an, tatsächlich müssen wir aber wieder &amp;quot;nur&amp;quot; die &amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039;style.css&amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039; ändern, der eigentliche Code für das Menü bleibt so bestehen. &lt;br /&gt;
&lt;br /&gt;
[[CSS Einfaches Hauptmenü mit verschiedenen Bildern und Hovereffekt|Hier]] können der Css-Code und das ausführbare Beispiel bewundert werden. &lt;br /&gt;
&lt;br /&gt;
Erklärung: Im vorigen Beispiel stellten wir bereits fest, dass jedem Menüpunkt eine Klasse zugeordet wird und das Menüpunkte die Gruppen sind von divs mit dem Namen &amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039;group_fold_ID&amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039; (wobei &amp;quot;ID&amp;quot; die Id der Gruppe ist) umschlossen werden. Da die Namen (bzw. Ids) dieser divs eindeutig sind, können wir mit ihrer Hilfe jedem Menüpunkt eine eigene Grafik zuordnen: &lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;[css,N]&lt;br /&gt;
#group_fold_6 .level_0_r_i_exp &lt;br /&gt;
{&lt;br /&gt;
	background: url(&amp;quot;images/warning1.gif&amp;quot;) no-repeat left top;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Bei mir ist der erste Menüpunkt eine Gruppe welche die Id &amp;quot;6&amp;quot; trägt, daher &amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039;group_fold_6&amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039;! Mit &amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039;.level_0_r_i_exp&amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039; beziehe ich mich auf die Eigenschaften des Menüpunktes die er hat, wenn er nicht aktiv (nicht angeklickt oder mit dem Mauszeiger berührt) ist. In diesem Zustand soll ihm die Grafik &amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039;warning1.gif&amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039; zugewiesen werden. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;[css,N]&lt;br /&gt;
#group_fold_6 .level_0_r_i_exp_hover, &lt;br /&gt;
#group_fold_6 .level_0_r_a_exp_hover, #group_fold_6 .level_0_r_a_exp&lt;br /&gt;
{&lt;br /&gt;
	background: url(&amp;quot;images/warning2.gif&amp;quot;) no-repeat left top;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Wenn er aktiv ist (also angeklickt oder mit dem Mauszeiger berührt wird), dann soll er die Grafik &amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039;warning2.gif&amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039; erhalten. Nun kann man so für alle weiteren Hauptpunkte vorgehen und erhält den im [http://www.dynpg.ch/doku/examples/css/menu_with_different_images/index.php ausfürbaren Beispiel] vorgestellten Effekt.&lt;br /&gt;
&lt;br /&gt;
== Direktklick auf Gruppen ==&lt;br /&gt;
[[Image:special_group.jpg|thumb|Abbildung 2.5. Spezielle Gruppe]]&lt;br /&gt;
Bis jetzt wurde bei einem Klick auf eine Gruppe im Hauptmenü immer eine Artikelliste (sowohl im Menü als auch im Anzeigefenster) dargestellt. Was aber wenn wir wollen, dass direkt und ohne jeden Umweg ein Artikel angezeigt werden soll? Nun, die Lösung ist einfach und erfordert noch nicht einmal Quellcode, denn das &amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039;Backend&amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039; erledigt all dies schon für uns. Für das Beispiel habe ich dort nämlich eine Gruppe namens &amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039;spezielle Gruppe&amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039; erstellt. In der Gruppe habe ich dann einen Artikel mit dem Namen &amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039;spezieller Artikel&amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039; erstellt und ihm einen beliebiegen Artikeltext zugewiesen. Ist dies einmal geschehen kann man in der Gruppenliste bei &amp;quot;spezielle Gruppe&amp;quot; auf das &amp;quot;Bearbeiten&amp;quot;-Symbol klicken (das, welches wie ein Kugelschreiber aussieht) und bei &amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;quot;Gruppeninhalt&amp;quot;&amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039; die Id von &amp;quot;spezieller Artikel&amp;quot; eintragen. Und schon erhält man im [http://www.dynpg.ch/doku/examples/css/menu_with_different_images/index.php ausfürbaren Beispiel] den beschriebenen Effekt.&lt;br /&gt;
{{-}}&lt;br /&gt;
== Unterschiedliche Stile für unterschiedliche Seiten ==&lt;br /&gt;
Angenommen Sie haben einen Menüpunkt Kontakt und einen namens Startseite und Sie wollen, dass beide z.B. verschiedene Hintergrundfarben zur Darstellung verwenden. Was tun? Glücklicherweise gibt es dafür Menüfunktionalitäten die einem die Arbeit abnehmen. Dabei sei auf [[Code-Schnipsel Unterschiedliche Stile für unterschiedliche Seiten|dieses Beispiel]] verwiesen. &lt;br /&gt;
&lt;br /&gt;
Im Beispiel werden die folgenden beiden Funktionen verwendet: &lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;[php,Y]&lt;br /&gt;
$DynPG-&amp;gt;SetParam_PlugIn_Param(&amp;#039;DPGdynmenu&amp;#039;, &amp;#039;href_page_articles&amp;#039;, &amp;#039;../index.php&amp;#039;);&lt;br /&gt;
$DynPG-&amp;gt;SetParam_PlugIn_Param(&amp;#039;DPGdynmenu&amp;#039;, &amp;#039;href_subpages&amp;#039;, Array(1 =&amp;gt; &amp;#039;../details.php&amp;#039;));&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Funktion 1 legt die PHP-Datei fest, die zum anzeigen sämtlicher Menüpunkte verwendet werden soll (hier: index.php). Funktion 2 legt die Datei fest, die zum anzeigen der &amp;quot;Startseite&amp;quot;-Gruppe verwendet werden soll. Somit überschreibt Funktion 2 die Einstellungen von Funktion 1 für &amp;quot;Startseite&amp;quot;. Dabei muss wieder die ID der Gruppe angegeben werden (kann im Backend nachgelesen werden). Jedesmal wenn man jetzt auf die Startseiten-Gruppe klickt, wird statt dem Code von index.php, der von details.php zum anzeigen verwendet. Man kann natürlich auch mehr als eine Datei angeben: &lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;[php,N]&lt;br /&gt;
$DynPG-&amp;gt;SetParam_PlugIn_Param(&amp;#039;DPGdynmenu&amp;#039;,&lt;br /&gt;
                              &amp;#039;href_subpages&amp;#039;,&lt;br /&gt;
                               Array(&lt;br /&gt;
                                     5 =&amp;gt; &amp;#039;../details.php&amp;#039;,&lt;br /&gt;
                                     7 =&amp;gt; &amp;#039;../beliebige_datei.php&amp;#039;&lt;br /&gt;
                                    )&lt;br /&gt;
                             );&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Image:caution.png]] &amp;#039;&amp;#039;&amp;#039;Achtung&amp;#039;&amp;#039;&amp;#039; Bei dem Pfad für die anzugebenen Dateien wird von dem Standard-Pfad von DynPG ausgegangen (dem in dem die &amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039;getcontent.php&amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039; liegt), nicht von dem der Datei in dem die Funktion aufgerufen wird!&lt;br /&gt;
&lt;br /&gt;
[[Image:caution.png]] &amp;#039;&amp;#039;&amp;#039;Achtung&amp;#039;&amp;#039;&amp;#039; Hat man für eine Gruppe eine andere Datei festgelegt, dann wird diese Datei nicht zwingend auch für die Untergruppen verwendet! Man muss auch explizit für die Untergruppen die zu verwendenden Dateien angeben!!&lt;br /&gt;
&lt;br /&gt;
== Einträge sortieren ==&lt;br /&gt;
Der Titel sagt bereits alles: Wir wollen hier die Einträge im Menü sortieren, und zwar nach verschiedenen Schlüsseln, wie z.B. dem Index der Gruppe / des Artikels oder dem Namen. Dazu gibt uns DynPG zwei Funktionen zur Hand nämlich: &lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;[php,Y]&lt;br /&gt;
$DynPG-&amp;gt;SetParam_PlugIn_Param(&amp;#039;DPGdynmenu&amp;#039;, &amp;#039;order&amp;#039;, Array(&amp;#039;INDEX&amp;#039;));&lt;br /&gt;
$DynPG-&amp;gt;SetParam_PlugIn_Param(&amp;#039;DPGdynmenu&amp;#039;, &amp;#039;sort&amp;#039;, Array(&amp;#039;ASC&amp;#039;));&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Die erste der beiden legt den Sortierschlüssel fest (hier: der Index der Gruppe / des Artikels). Mögliche Sortierschlüssel sind: &lt;br /&gt;
&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039;INDEX&amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039; (Index des Eintrages)&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039;NAME&amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039; (Name des Eintrages)&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039;CREATEDATE&amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039; (Erstellungsdatum)&lt;br /&gt;
&lt;br /&gt;
Die zweite sortiert schließlich die Einträge. Dabei hat man die Wahl zwischen auf- (&amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039;ASC&amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039;) und absteigend (&amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039;DESC&amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039;). [[Code-Schnipsel Menüeinträge sortieren|In diesem Beispiel]] sieht man die Funktionen in Aktion. &lt;br /&gt;
&lt;br /&gt;
[[Image:caution.png]] &amp;#039;&amp;#039;&amp;#039;Achtung&amp;#039;&amp;#039;&amp;#039; Die Funktionen müssen natürlich &amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039;vor&amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039; der Ausgabe des Menüs aufgerufen werden.&lt;br /&gt;
&lt;br /&gt;
==Weitere Informationen==&lt;br /&gt;
&lt;br /&gt;
Mehr Informationen zum Einbinden von Hauptmenüs in Ihre Seite erhalten Sie im Artikel [[Modul Dynamische Navigation]], der Beschreibungsseite des DynPG-Plugins, dass in obigem Artikel Verwendung fand.&lt;/div&gt;</summary>
		<author><name>Sebastian</name></author>	</entry>

	<entry>
		<id>https://wiki-en.dynpg.org/wiki_de/index.php?title=Dynamische_Navigation</id>
		<title>Dynamische Navigation</title>
		<link rel="alternate" type="text/html" href="https://wiki-en.dynpg.org/wiki_de/index.php?title=Dynamische_Navigation"/>
				<updated>2009-08-17T18:45:24Z</updated>
		
		<summary type="html">&lt;p&gt;Sebastian: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Kategorie:Module]]&lt;br /&gt;
==Beschreibung==&lt;br /&gt;
Die dynamische Navigation ist Bestandteil des kostenlosen Grundmoduls von DynPG und bereits im Standard-DynPG integriert. Es ist keine separate Installation notwendig. Sie ermöglicht es Ihnen einfach und flexibel Navigationen auf Ihrer Homepage zu erstellen. Die Anwendungsmöglichkeiten gestalten sich dabei flexibel als normales Menü oder auch als Sitemap.&lt;br /&gt;
&lt;br /&gt;
Ein dynamisches Menü bildet die Gruppenstruktur im Backend, also die Abfolge von Gruppen, Untergruppen und Artikeln in einer Gruppe, als Menü ab, macht also die logische Struktur ihrer Artikel aus dem Backend auf einer Webseite sichtbar und navigierbar. &lt;br /&gt;
&lt;br /&gt;
Der Vorteil ist, dass man im Backend neue Gruppen o.ä. erstellt und diese dann im Hauptmenü erscheinen. Dies ist auch bei Untergruppen nützlich,&lt;br /&gt;
z.B. wenn eine neue Untergruppe &amp;#039;&amp;#039;Lokalnachrichten&amp;#039;&amp;#039; zur Hauptgruppe &amp;#039;&amp;#039;News&amp;#039;&amp;#039; hinzukommt.&lt;br /&gt;
&lt;br /&gt;
Zum Verständnis der Funktionsvielfalt der dynamischen Navigation ist es hilfreich, einmal eine der [[Muster-Web-Sites|Musterwebsites]] zu installieren und in den entsprechenden Dateien der Musterwebsite die unten erklärten Einstellungsmöglichkeiten nachzuvollziehen und vielleicht auch einmal mit den Optionen herumzuspielen.&lt;br /&gt;
&lt;br /&gt;
==Einrichten==&lt;br /&gt;
&amp;#039;&amp;#039;Anmerkung: Benutzen sie die [[Muster-Web-Sites|Musterwebsites]], so müssen die nachfolgenden zwei Schritte nicht ausgeführt werden, da die dynamische Navigation bereits in den Musterwebsites genutzt wird&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
===Schritt 1: Artikel erstellen mit Platzhalter für die dynamische Navigation===&lt;br /&gt;
Wählen Sie im Menü des Backends &amp;#039;&amp;#039;Gruppen&amp;#039;&amp;#039; aus [[Media:dynmenue01.png|Klick]]. Suchen Sie sich nun eine Gruppe, in der Sie einen Artikel erfassen wollen. Hier wählen wir (die in diesem Falle schon vorhandene) Gruppe &amp;#039;&amp;#039;Startseite/Navigation/Formular&amp;#039;&amp;#039; durch Klick auf ihren Namen aus [[Media:dynmenue02.png|Klick]].&lt;br /&gt;
&lt;br /&gt;
Mit einem Klick auf &amp;#039;&amp;#039;Artikel Formular anzeigen&amp;#039;&amp;#039; [[Media:dynmenue03.PNG|Klick]] und danach auf &amp;#039;&amp;#039;Inhalt bearbeiten&amp;#039;&amp;#039; [[Media:dynmenue04.PNG|Klick]] erscheint der Editor.&lt;br /&gt;
&lt;br /&gt;
In diesem wählen Sie das Symbol für die dynamische Navigation [[Media:dynmenue05.PNG|Klick]], geben noch einen Titel, etwa &amp;#039;&amp;#039;Neue Seitennavigation&amp;#039;&amp;#039;, ein und bestätigen mit einem Klick auf &amp;#039;&amp;#039;Erstellen&amp;#039;&amp;#039; [[Media:dynmenue06.PNG|Klick]]. &lt;br /&gt;
&lt;br /&gt;
Hat alles geklappt, können Sie im unteren Teil der Seite den neuen Artikel sehen [[Media:dynmenue07.PNG|Klick]]. Die Nummer des Artikels benötigen Sie erneut, wenn Sie in eine PHP-Datei mittels eines Globals die dynamische Navigation einbinden.&lt;br /&gt;
&lt;br /&gt;
===Schritt 2: PHP-Datei für die dynamische Navigation erstellen===&lt;br /&gt;
Folgende Ordner-Struktur könnte bei Ihnen vorliegen:&lt;br /&gt;
:*&amp;lt;tt&amp;gt;http-docs/dynpg&amp;lt;/tt&amp;gt; : hier liegt das DynPG-CMS&lt;br /&gt;
:*&amp;lt;tt&amp;gt;http-docs/index.php&amp;lt;/tt&amp;gt; : die Hauptseite Ihrer Website&lt;br /&gt;
:*&amp;lt;tt&amp;gt;http-docs/folgeseite.php&amp;lt;/tt&amp;gt; : eine andere PHP-Datei der Website&lt;br /&gt;
:*&amp;lt;tt&amp;gt;http-docs/inc/navi.php&amp;lt;/tt&amp;gt; : In diese Datei platziert man häufig den Code für die Navigation, dadurch ist er leichter wiederverwendbar&lt;br /&gt;
&lt;br /&gt;
Den nötigen Code der &amp;lt;tt&amp;gt;inc/navi.php&amp;lt;/tt&amp;gt; kann man anhand der [[Muster-Web-Sites|Musterwebsites]] nachvollziehen (Für eine genauere Erklärung der einzelnen verwendeten Globals siehe die [[Funktionsreferenz/Globals|Globals-Übersicht von DynPG]] und weiter unten die [[#Globalsreferenz|Funktionsübersicht der dynamischen Navigation]]) :&lt;br /&gt;
:*&amp;#039;&amp;#039;&amp;#039;&amp;lt;tt&amp;gt;inc/navi.php&amp;lt;/tt&amp;gt;:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;code&amp;gt;[php, N]&lt;br /&gt;
&amp;lt;?php&lt;br /&gt;
  $GLOBALS[&amp;quot;DynPG&amp;quot;]-&amp;gt;SetParam_PlugIn_Template(&amp;#039;DPGdynmenu&amp;#039;, &amp;#039;intelligent&amp;#039;);&lt;br /&gt;
  $GLOBALS[&amp;quot;DynPG&amp;quot;]-&amp;gt;SetParam_PlugIn_Param(&amp;#039;DPGdynmenu&amp;#039;, &amp;#039;real_expand&amp;#039;, TRUE);&lt;br /&gt;
  $GLOBALS[&amp;quot;DynPG&amp;quot;]-&amp;gt;SetParam_PlugIn_Param(&amp;#039;DPGdynmenu&amp;#039;, &amp;#039;order&amp;#039;, Array(&amp;#039;INDEX&amp;#039;));&lt;br /&gt;
  $GLOBALS[&amp;quot;DynPG&amp;quot;]-&amp;gt;SetParam_PlugIn_Param(&amp;#039;DPGdynmenu&amp;#039;, &amp;#039;sort&amp;#039;, Array(&amp;#039;ASC&amp;#039;));&lt;br /&gt;
  $GLOBALS[&amp;quot;DynPG&amp;quot;]-&amp;gt;SetParam_PlugIn_Param(&amp;#039;DPGdynmenu&amp;#039;, &amp;#039;href_page_groups&amp;#039;, &amp;#039;../folgeseite.php&amp;#039;);&lt;br /&gt;
  $GLOBALS[&amp;quot;DynPG&amp;quot;]-&amp;gt;SetParam_PlugIn_Param(&amp;#039;DPGdynmenu&amp;#039;, &amp;#039;href_page_articles&amp;#039;, &amp;#039;../folgeseite.php&amp;#039;);&lt;br /&gt;
  $GLOBALS[&amp;quot;DynPG&amp;quot;]-&amp;gt;SetParam_PlugIn_Param(&amp;#039;DPGdynmenu&amp;#039;, &amp;#039;href_page_detail&amp;#039;, &amp;#039;../folgeseite.php&amp;#039;);&lt;br /&gt;
  $GLOBALS[&amp;quot;DynPG&amp;quot;]-&amp;gt;SetParam_PlugIn_Param(&lt;br /&gt;
    &amp;#039;DPGdynmenu&amp;#039;,&lt;br /&gt;
    &amp;#039;href_subpages&amp;#039;,&lt;br /&gt;
    Array(&lt;br /&gt;
      0 =&amp;gt; Array(&lt;br /&gt;
        &amp;#039;page&amp;#039; =&amp;gt; &amp;#039;../formular.php{query}&amp;#039;,&lt;br /&gt;
        &amp;#039;successors&amp;#039; =&amp;gt; true&lt;br /&gt;
      ),&lt;br /&gt;
      21 =&amp;gt; Array(&lt;br /&gt;
        &amp;#039;page&amp;#039; =&amp;gt; &amp;#039;../blog.php{query}&amp;#039;,&lt;br /&gt;
        &amp;#039;successors&amp;#039; =&amp;gt; true&lt;br /&gt;
      ),&lt;br /&gt;
      15 =&amp;gt; Array(&lt;br /&gt;
        &amp;#039;page&amp;#039; =&amp;gt; &amp;#039;../sitemap.php{query}&amp;#039;,&lt;br /&gt;
        &amp;#039;successors&amp;#039; =&amp;gt; true&lt;br /&gt;
      ),&lt;br /&gt;
      16 =&amp;gt; Array(&lt;br /&gt;
        &amp;#039;page&amp;#039; =&amp;gt; &amp;#039;../veranstaltungen.php{query}&amp;#039;,&lt;br /&gt;
        &amp;#039;successors&amp;#039; =&amp;gt; true&lt;br /&gt;
      ),&lt;br /&gt;
      21 =&amp;gt; Array(&lt;br /&gt;
        &amp;#039;page&amp;#039; =&amp;gt; &amp;#039;../blog.php{query}&amp;#039;,&lt;br /&gt;
        &amp;#039;successors&amp;#039; =&amp;gt; true&lt;br /&gt;
      ),&lt;br /&gt;
      6 =&amp;gt; Array(&lt;br /&gt;
        &amp;#039;page&amp;#039; =&amp;gt; &amp;#039;../index.php{query}&amp;#039;,&lt;br /&gt;
        &amp;#039;successors&amp;#039; =&amp;gt; true&lt;br /&gt;
      )&lt;br /&gt;
    )&lt;br /&gt;
  );    &lt;br /&gt;
  $GLOBALS[&amp;quot;DynPG&amp;quot;]-&amp;gt;SetupTemplate(&amp;#039;uneditable&amp;#039;); &lt;br /&gt;
  $GLOBALS[&amp;quot;DynPG&amp;quot;]-&amp;gt;SetParam_A_Anytime(TRUE);&lt;br /&gt;
  $GLOBALS[&amp;quot;DynPG&amp;quot;]-&amp;gt;SetParam_A_CategoryNavigation(FALSE);&lt;br /&gt;
  $GLOBALS[&amp;quot;DynPG&amp;quot;]-&amp;gt;SetParam_A_PrintNavigation(FALSE);&lt;br /&gt;
  $GLOBALS[&amp;quot;DynPG&amp;quot;]-&amp;gt;SetParam_A_ArticleHeader(FALSE);&lt;br /&gt;
  $GLOBALS[&amp;quot;DynPG&amp;quot;]-&amp;gt;SetParam_A_Article(1);&lt;br /&gt;
&lt;br /&gt;
  $GLOBALS[&amp;quot;DynPG&amp;quot;]-&amp;gt;Write_Article();&lt;br /&gt;
  $GLOBALS[&amp;quot;DynPG&amp;quot;]-&amp;gt;SetupTemplate(&amp;#039;default&amp;#039;);  &lt;br /&gt;
?&amp;gt;&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Man kann nun in der &amp;lt;tt&amp;gt;index.php&amp;lt;/tt&amp;gt; mittels &lt;br /&gt;
&amp;lt;code&amp;gt;[php, N]&lt;br /&gt;
&amp;lt;?php include(&amp;quot;inc/navi.php&amp;quot;); ?&amp;gt;&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
die Navigation einbinden, ebenso z.B. auch in der &amp;lt;tt&amp;gt;folgeseite.php&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Die dynamische Navigation kann nun an verschiedenen Stellen angepasst werden. Neben den Globals in der PHP-Datei ([[#Globalsreferenz|Globalsreferenz]]) ist dies im Backend durch das Erstellen von Gruppen und Artikeln möglich ([[#Dynamische_Navigation_im_Backend|Dynamische Navigation im Backend]]). Erweiterte Möglichkeiten ergeben sich durch das [[#CSS|CSS]] und die [[#Templates|Templates]].&lt;br /&gt;
&lt;br /&gt;
==Die dynamische Navigation im Backend==&lt;br /&gt;
&lt;br /&gt;
Wie bereits erwähnt, bildet die dynamische Navigation die Gruppenstruktur des Backends auf einer Webseite ab. In der Musterwebsite 3 ist im Backend zum Beispiel folgende Gruppenstruktur zu erkennen:&lt;br /&gt;
[[Media:dynmenue08.PNG|Klick]].&lt;br /&gt;
Auf der Website sieht dies dann wie folgt aus:&lt;br /&gt;
[[Media:dynmenue09.PNG|Klick]]&lt;br /&gt;
oder auch&lt;br /&gt;
[[Media:dynmenue10.PNG|Klick]]&lt;br /&gt;
.&lt;br /&gt;
&lt;br /&gt;
Welche Untergruppen angezeigt werden, hängt zum einen davon ab, welcher Navigationspunkt gerade aktiv ist (also angeklickt wurde) und zum anderen von den benutzten Globals in der PHP-Datei ([[#Globalsreferenz|z.B. Parameter &amp;#039;full_load&amp;#039;]]) und den Einstellungen der Gruppe im Backend. &lt;br /&gt;
&lt;br /&gt;
Die Eigenschaftsseite der Gruppe erreicht man über einen Klick auf das Stiftsymbol&lt;br /&gt;
([[Media:dynmenue11.PNG|Klick]])&lt;br /&gt;
. Unter dem Punkt &amp;#039;&amp;#039;Veröffentlichen&amp;#039;&amp;#039;&lt;br /&gt;
([[Media:dynmenue12.PNG|Klick]])&lt;br /&gt;
wählt man nun eine Option aus: &lt;br /&gt;
:* &amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039;Ja&amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039;: die Gruppe wird auf der gesamten Website angezeigt, also auch in der dynamischen Navigation&lt;br /&gt;
:* &amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039;Nein&amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039;: die Gruppe wird auf der ganze Website nicht angezeigt, also weder in Gruppenliste noch in der dynamischen Navigation&lt;br /&gt;
:* &amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039;Ja, ohne Navigation&amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039;: die Gruppe wird zwar normal auf der Website angezeigt, jedoch in der dynamischen Navigation ausgeblendet&lt;br /&gt;
:* &amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039;Ja, ohne Subnavigation&amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039;: wie &amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039;Ja&amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039;, jedoch werden von diesem Menüpunkt in der dynamischen Navigation nur Untergruppen angezeigt, jedoch keine Artikel, die eventuell in dieser Gruppe liegen&lt;br /&gt;
&lt;br /&gt;
==Globalsreferenz==&lt;br /&gt;
&lt;br /&gt;
Dies hier erklärt die Globals aus dem PHP-Code von [[#Schritt 2: PHP-Datei für die dynamische Navigation erstellen|Schritt 2 des Punkts &amp;#039;&amp;#039;Einrichten&amp;#039;&amp;#039;]].&lt;br /&gt;
&lt;br /&gt;
===Globals direkt für das Plugin===&lt;br /&gt;
&amp;#039;&amp;#039;Die Parameter haben Default-Werte, müssen also nicht immer gesetzt werden&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
*&amp;#039;&amp;#039;&amp;#039;&amp;lt;tt&amp;gt;$GLOBALS[&amp;quot;DynPG&amp;quot;]-&amp;gt;SetParam_PlugIn_Template(&amp;#039;DPGdynmenu&amp;#039;, &amp;#039;TEMPLATEORDNER&amp;#039;);&amp;lt;/tt&amp;gt;&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
:Hiermit wählt man den Template-Ordner für die dynamische Navigation aus. Diese Template-Ordner liegen in &amp;lt;tt&amp;gt;dynpg/plugins/DPGdynmenu/templates&amp;lt;/tt&amp;gt;. Aus diesem Ordner wird die Template-Datei &amp;lt;tt&amp;gt;menu.tpl&amp;lt;/tt&amp;gt; zur Generierung des Menüs genommen. Dies ist unabhängig vom Global &amp;lt;tt&amp;gt;$GLOBALS[&amp;quot;DynPG&amp;quot;]-&amp;gt;SetupTemplate(...);&amp;lt;/tt&amp;gt;, der sozusagen das Template des Artikels bestimmt, welcher die dynamische Navigation enthält.&lt;br /&gt;
&lt;br /&gt;
*&amp;#039;&amp;#039;&amp;#039;&amp;lt;tt&amp;gt;$GLOBALS[&amp;quot;DynPG&amp;quot;]-&amp;gt;SetParam_PlugIn_Param(&amp;#039;DPGdynmenu&amp;#039;, PARAMETERNAME, PARAMETERWERT);&amp;lt;/tt&amp;gt;&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
:{| class=&amp;quot;dynpgwikitable&amp;quot;&lt;br /&gt;
! &amp;lt;tt&amp;gt;PARAMETERNAME&amp;lt;/tt&amp;gt; !! &amp;lt;tt&amp;gt;PARAMETERWERT&amp;lt;/tt&amp;gt; !! Beschreibung&lt;br /&gt;
|-&lt;br /&gt;
||&amp;lt;tt&amp;gt;&amp;#039;order&amp;#039;&amp;lt;/tt&amp;gt; || &amp;lt;tt&amp;gt;Array(&amp;#039;INDEX&amp;#039;)&amp;lt;/tt&amp;gt; oder &amp;lt;tt&amp;gt;Array(&amp;#039;NAME&amp;#039;)&amp;lt;/tt&amp;gt; || Reihenfolge der Gruppen in der Navigation nach Name oder im Backend gesetzten Index&lt;br /&gt;
|-&lt;br /&gt;
||&amp;lt;tt&amp;gt;&amp;#039;sort&amp;#039;&amp;lt;/tt&amp;gt; || &amp;lt;tt&amp;gt;Array(&amp;#039;ASC&amp;#039;)&amp;lt;/tt&amp;gt; oder &amp;lt;tt&amp;gt;Array(&amp;#039;DESC&amp;#039;)&amp;lt;/tt&amp;gt; || aufsteigende oder absteigende Sortierung&lt;br /&gt;
|-&lt;br /&gt;
||&amp;lt;tt&amp;gt;&amp;#039;order_articles&amp;#039;&amp;lt;/tt&amp;gt; || z.B. &amp;lt;tt&amp;gt;Array(&amp;#039;INDEX&amp;#039;)&amp;lt;/tt&amp;gt; || sortiert Artikel in der dynamischen Navigation (falls diese angezeigt werden) &lt;br /&gt;
|-&lt;br /&gt;
||&amp;lt;tt&amp;gt;&amp;#039;sort_articles&amp;#039;&amp;lt;/tt&amp;gt; || z.B. &amp;lt;tt&amp;gt;Array(&amp;#039;ASC&amp;#039;)&amp;lt;/tt&amp;gt; || bestimmt aufsteigende oder absteigende Sortierreihenfolge der Artikel&lt;br /&gt;
|-&lt;br /&gt;
||&amp;lt;tt&amp;gt;&amp;#039;href_page_groups&amp;#039;&amp;lt;/tt&amp;gt; || z.B. &amp;lt;tt&amp;gt;&amp;#039;../folgeseite.php&amp;#039;&amp;lt;/tt&amp;gt; || Seite auf die standardmäßig weiterverlinkt wird bei einem Klick auf den Gruppennamen, sofern die Gruppe Untergruppen hat. Wird dieser Parameter nicht angegeben, so wird auf die aktuelle PHP-Seite verlinkt. (ACHTUNG &amp;lt;tt&amp;gt;&amp;#039;../&amp;#039;&amp;lt;/tt&amp;gt; wichtig, siehe Ordnerstruktur weiter oben!)&lt;br /&gt;
|-&lt;br /&gt;
||&amp;lt;tt&amp;gt;&amp;#039;href_page_articles&amp;#039;&amp;lt;/tt&amp;gt; || z.B. &amp;lt;tt&amp;gt;&amp;#039;../folgeseite.php&amp;#039;&amp;lt;/tt&amp;gt; || Seite auf die standardmäßig weiterverlinkt wird bei einem Klick auf den Gruppennamen, sofern die Gruppe Artikel enthält. Wird dieser Parameter nicht angegeben, so wird auf die aktuelle PHP-Seite verlinkt. (ACHTUNG &amp;lt;tt&amp;gt;&amp;#039;../&amp;#039;&amp;lt;/tt&amp;gt; wichtig, siehe Ordnerstruktur weiter oben!)&lt;br /&gt;
|-&lt;br /&gt;
||&amp;lt;tt&amp;gt;&amp;#039;href_page_detail&amp;#039;&amp;lt;/tt&amp;gt; || z.B. &amp;lt;tt&amp;gt;&amp;#039;../folgeseite.php&amp;#039;&amp;lt;/tt&amp;gt; || Seite auf die standardmäßig weiterverlinkt wird bei einem Klick auf einen Artikelnamen. Wird dieser Parameter nicht angegeben, so wird auf die aktuelle PHP-Seite verlinkt. (ACHTUNG &amp;lt;tt&amp;gt;&amp;#039;../&amp;#039;&amp;lt;/tt&amp;gt; wichtig, siehe Ordnerstruktur weiter oben!)&lt;br /&gt;
|-&lt;br /&gt;
||&amp;lt;tt&amp;gt;&amp;#039;href_subpages&amp;#039;&amp;lt;/tt&amp;gt; || z.B. &amp;lt;pre&amp;gt;Array(&lt;br /&gt;
  GRUPPENNUMMER =&amp;gt; Array( &lt;br /&gt;
    &amp;#039;page&amp;#039; =&amp;gt; &amp;#039;PHP-SEITE{query}&amp;#039;,&lt;br /&gt;
    &amp;#039;successors&amp;#039; =&amp;gt; BOOLEAN&lt;br /&gt;
  ),&lt;br /&gt;
...&lt;br /&gt;
...&lt;br /&gt;
...&lt;br /&gt;
  GRUPPENNUMMER =&amp;gt; Array( &lt;br /&gt;
    &amp;#039;page&amp;#039; =&amp;gt; &amp;#039;PHP-SEITE{query}&amp;#039;,&lt;br /&gt;
    &amp;#039;successors&amp;#039; =&amp;gt; BOOLEAN&lt;br /&gt;
  ) &lt;br /&gt;
)&amp;lt;/pre&amp;gt; || Ermöglicht es, für bestimmte Gruppen auf eine spezielle &amp;lt;tt&amp;gt;PHP-SEITE&amp;lt;/tt&amp;gt; zu verlinken. Hierzu geben Sie anstatt &amp;lt;tt&amp;gt;GRUPPENNUMMER&amp;lt;/tt&amp;gt; die Gruppennummer der Gruppe aus dem Backend ein. Statt &amp;lt;tt&amp;gt;PHP-SEITE&amp;lt;/tt&amp;gt; fügen Sie den Namen und Pfad zur Zieldatei an, ausgehend vom Hauptverzeichnis des CMS!. Lassen Sie den Anhang &amp;lt;tt&amp;gt;{query}&amp;lt;/tt&amp;gt; genau so stehen, falls in die Zieldatei auch DynPG über Globals eingeben wurde. &amp;lt;tt&amp;gt;BOOLEAN&amp;lt;/tt&amp;gt; ersetzen Sie mit &amp;lt;tt&amp;gt;true&amp;lt;/tt&amp;gt; wenn für Untergruppen dieser Gruppe auch auf diese spezielle PHP-Seite verlink werden soll, ansonsten mit &amp;lt;tt&amp;gt;false&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Passen Sie auf, dass nach jedem &amp;lt;tt&amp;gt;GRUPPENNUMMER =&amp;gt; Array(...)&amp;lt;/tt&amp;gt; ein Komma notiert ist, allerdings nicht beim letzten.&lt;br /&gt;
|-&lt;br /&gt;
||&amp;lt;tt&amp;gt;&amp;#039;full_load&amp;#039;&amp;lt;/tt&amp;gt; || &amp;lt;tt&amp;gt;false&amp;lt;/tt&amp;gt; oder &amp;lt;tt&amp;gt;true&amp;lt;/tt&amp;gt; || zeigt unabhängig von angeklickten Gruppen den kompletten Navigationsbaum mit Untergruppen an (oder auch nicht)&lt;br /&gt;
|-&lt;br /&gt;
|| &amp;lt;tt&amp;gt;&amp;#039;full_load_articles&amp;#039;&amp;lt;/tt&amp;gt; || &amp;lt;tt&amp;gt;false&amp;lt;/tt&amp;gt; ||&lt;br /&gt;
|-&lt;br /&gt;
|| &amp;lt;tt&amp;gt;&amp;#039;limit_articles&amp;#039;&amp;lt;/tt&amp;gt; || &amp;lt;tt&amp;gt;false&amp;lt;/tt&amp;gt; oder eine Zahl || Sofern dieser Parameter eine Zahl als Wert erhält, bestimmt er die Anzahl der Artikel pro Gruppe, die in der dynamischen Navigation angezeigt werden, wenn eine Gruppe statt Untergruppen Artikel enthält.&lt;br /&gt;
|-&lt;br /&gt;
|| &amp;lt;tt&amp;gt;&amp;#039;expand_subtree&amp;#039;&amp;lt;/tt&amp;gt; || &amp;lt;tt&amp;gt;Array(4)&amp;lt;/tt&amp;gt; oder &amp;lt;tt&amp;gt;Array(4,5)&amp;lt;/tt&amp;gt; etc. || zeigt die Untergruppen von Gruppe 4 (bzw. 4 und 5) in jedem Fall an. Sei Gruppe 4 bspw. die Gruppe &amp;#039;&amp;#039;News&amp;#039;&amp;#039; des Backends, dann werden die beispielhaften Untergruppen &amp;#039;&amp;#039;Lokalnachrichten&amp;#039;&amp;#039; und &amp;#039;&amp;#039;Weltnachrichten&amp;#039;&amp;#039; immer zur Navigation angeboten, auch wenn sich ein Benutzer auf der Website gerade einen Artikel aus der Gruppe &amp;#039;&amp;#039;Kontakt&amp;#039;&amp;#039; anschaut&lt;br /&gt;
|- &lt;br /&gt;
|| &amp;lt;tt&amp;gt;&amp;#039;implode_subtree&amp;#039;&amp;lt;/tt&amp;gt; || &amp;lt;tt&amp;gt;Array(4)&amp;lt;/tt&amp;gt; oder &amp;lt;tt&amp;gt;Array(4,5)&amp;lt;/tt&amp;gt; etc. || zeigt die Untergruppen von Gruppe 4 (bzw. 4 und 5) in jedem Fall NICHT an. Anmerkung: der Parameter &amp;lt;tt&amp;gt;expand_subtree&amp;lt;/tt&amp;gt; überschreibt diese Einstellung! Ist also eine Gruppe in beiden Parametern aufgeführt, so werden die Untergruppen dieser Gruppe immer angezeigt, da der Parameter &amp;lt;tt&amp;gt;expand_subtree&amp;lt;/tt&amp;gt; wichtiger ist.&lt;br /&gt;
|-&lt;br /&gt;
|| &amp;lt;tt&amp;gt;&amp;#039;real_expand&amp;#039;&amp;lt;/tt&amp;gt; || &amp;lt;tt&amp;gt;false&amp;lt;/tt&amp;gt; oder &amp;lt;tt&amp;gt;true&amp;lt;/tt&amp;gt; || Verwenden Sie das Template &amp;#039;&amp;#039;intelligent&amp;#039;&amp;#039; für die dynamische Navigation, setzen Sie diesen Parameter auf &amp;lt;tt&amp;gt;true&amp;lt;/tt&amp;gt;, ansonsten auf &amp;lt;tt&amp;gt;false&amp;lt;/tt&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|| &amp;lt;tt&amp;gt;&amp;#039;parent_select&amp;#039;&amp;lt;/tt&amp;gt; || &amp;lt;tt&amp;gt;true&amp;lt;/tt&amp;gt; ||&lt;br /&gt;
|-&lt;br /&gt;
|| &amp;lt;tt&amp;gt;&amp;#039;max_depth&amp;#039;&amp;lt;/tt&amp;gt; || &amp;lt;tt&amp;gt;null&amp;lt;/tt&amp;gt; oder &amp;lt;tt&amp;gt;0&amp;lt;/tt&amp;gt; oder &amp;lt;tt&amp;gt;1&amp;lt;/tt&amp;gt; etc. || Tiefe bis zu der (Unter-)Gruppen angezeigt werden&lt;br /&gt;
|-&lt;br /&gt;
|| &amp;lt;tt&amp;gt;&amp;#039;min_depth&amp;#039;&amp;lt;/tt&amp;gt; || &amp;lt;tt&amp;gt;null&amp;lt;/tt&amp;gt; oder &amp;lt;tt&amp;gt;0&amp;lt;/tt&amp;gt; oder &amp;lt;tt&amp;gt;1&amp;lt;/tt&amp;gt; etc. || Tiefe, die eine Gruppe mindestens haben muss um angezeigt zu werden, z.B. 1 um oberste Ebene der Gruppen aus dem Backend auszublenden&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Sinnvolle Globals vom DynPG-CMS===&lt;br /&gt;
&lt;br /&gt;
*&amp;#039;&amp;#039;&amp;#039;&amp;lt;tt&amp;gt;$GLOBALS[&amp;quot;DynPG&amp;quot;]-&amp;gt;SetupTemplate(&amp;#039;uneditable&amp;#039;);&amp;lt;/tt&amp;gt; &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
:ermöglicht Navigation in der Seite obwohl Editiermodus im Backend angeschaltet ist&lt;br /&gt;
*&amp;#039;&amp;#039;&amp;#039;&amp;lt;tt&amp;gt;$GLOBALS[&amp;quot;DynPG&amp;quot;]-&amp;gt;SetParam_A_Anytime(TRUE);&amp;lt;/tt&amp;gt; &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
:Menü soll immer angezeigt werden&lt;br /&gt;
*&amp;#039;&amp;#039;&amp;#039;&amp;lt;tt&amp;gt;$GLOBALS[&amp;quot;DynPG&amp;quot;]-&amp;gt;SetParam_A_CategoryNavigation(FALSE);&amp;lt;/tt&amp;gt; &amp;#039;&amp;#039;&amp;#039; &lt;br /&gt;
:keine weitere Navigation(Breadcrumb) anzeigen&lt;br /&gt;
*&amp;#039;&amp;#039;&amp;#039;&amp;lt;tt&amp;gt;$GLOBALS[&amp;quot;DynPG&amp;quot;]-&amp;gt;SetParam_A_PrintNavigation(FALSE);&amp;lt;/tt&amp;gt; &amp;#039;&amp;#039;&amp;#039; &lt;br /&gt;
:kein Link zu Print-Seite anzeigen&lt;br /&gt;
*&amp;#039;&amp;#039;&amp;#039;&amp;lt;tt&amp;gt;$GLOBALS[&amp;quot;DynPG&amp;quot;]-&amp;gt;SetParam_A_ArticleHeader(FALSE);&amp;lt;/tt&amp;gt; &amp;#039;&amp;#039;&amp;#039; &lt;br /&gt;
:keine Artikelüberschrift (des Artikels mit dem DynMenü-Platzhalter) und kein Artikelleadtext anzeigen&lt;br /&gt;
*&amp;#039;&amp;#039;&amp;#039;&amp;lt;tt&amp;gt;$GLOBALS[&amp;quot;DynPG&amp;quot;]-&amp;gt;SetParam_A_Article(1);&amp;lt;/tt&amp;gt; &amp;#039;&amp;#039;&amp;#039; &lt;br /&gt;
:Artikel mit dem Dynmenü-Platzhalter setzen (&amp;#039;&amp;#039;&amp;#039;Hier die Artikelnummer aus [[#Einrichten|Einrichten]] einfügen!&amp;#039;&amp;#039;&amp;#039;)&lt;br /&gt;
*&amp;#039;&amp;#039;&amp;#039;&amp;lt;tt&amp;gt;$GLOBALS[&amp;quot;DynPG&amp;quot;]-&amp;gt;Write_Article();&amp;lt;/tt&amp;gt; &amp;#039;&amp;#039;&amp;#039; &lt;br /&gt;
:Artikel ausgeben&lt;br /&gt;
*&amp;#039;&amp;#039;&amp;#039;&amp;lt;tt&amp;gt;$GLOBALS[&amp;quot;DynPG&amp;quot;]-&amp;gt;SetupTemplate(&amp;#039;default&amp;#039;);&amp;lt;/tt&amp;gt; &amp;#039;&amp;#039;&amp;#039; &lt;br /&gt;
:andere Teile der Website haben sicherlich andere Templates. Wir setzen daher hier wieder auf das Standard-Template zurück&lt;br /&gt;
&lt;br /&gt;
==CSS==&lt;br /&gt;
Die CSS-Dateien für die dynamische Navigation liegen im Verzeichnis &amp;lt;tt&amp;gt;dynpg/plugins/DPGdynmenu/styles&amp;lt;/tt&amp;gt;. Die Datei &amp;lt;tt&amp;gt;menu.css&amp;lt;/tt&amp;gt; ist hierbei meist die ausschlaggebende, so zum Beispiel in der Navigation der Musterwebsite 3.&lt;br /&gt;
&lt;br /&gt;
Die CSS-Klassen und -Bezeichner aus dieser Datei sind nach einem bestimmten Schema benannt. Hat man dieses einmal verstanden, so lassen sich leicht Änderungen an speziellen Teilen des Erscheinungsbildes der dynamischen Navigation durchführen.&lt;br /&gt;
&lt;br /&gt;
Die dynamische Navigation wird von einem &amp;lt;tt&amp;gt;div&amp;lt;/tt&amp;gt;-Tag mit der Id &amp;lt;tt&amp;gt;course_categories_menu&amp;lt;/tt&amp;gt; umschlossen.&lt;br /&gt;
&lt;br /&gt;
Diese Angaben gelten also grundsätzlich für die gesamte dynamische Navigation und werden gegebenenfalls weitervererbt.&lt;br /&gt;
Im &amp;lt;tt&amp;gt;menu.css&amp;lt;/tt&amp;gt; der Muster-Website 3 steht beispielsweise:&lt;br /&gt;
&amp;lt;code&amp;gt;[css, N]&lt;br /&gt;
div#course_categories_menu {&lt;br /&gt;
  margin: 0;&lt;br /&gt;
  padding: 0;&lt;br /&gt;
  width: 180px;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Um zu verhindern, dass die CSS-Angaben dieser Datei auch auf andere Teile der Website Einfluss haben, ist vor allen anderen CSS-Definitionen der Datei ebenfalls &amp;lt;tt&amp;gt;div#course_categories_menu&amp;lt;/tt&amp;gt; notiert. Dadurch wirken sich die Angaben nur auf die dynamische Navigation aus.&lt;br /&gt;
&lt;br /&gt;
Innerhalb des &amp;lt;tt&amp;gt;course_categories_menu&amp;lt;/tt&amp;gt; - &amp;lt;tt&amp;gt;div&amp;lt;/tt&amp;gt; - Tags gibt es für jede Gruppe der obersten angezeigten Gruppenebene ein &amp;lt;div&amp;gt;-Tag mit der CSS-Id &amp;lt;tt&amp;gt;group_fold_NUMMER&amp;lt;/tt&amp;gt; wobei &amp;lt;tt&amp;gt;NUMMER&amp;lt;/tt&amp;gt; der Gruppennummer der Gruppe aus dem Backend entspricht. In der Navigation der Muster-Website 3 gibt es also folgende Tags:&lt;br /&gt;
&amp;lt;code&amp;gt;[html, N]&lt;br /&gt;
&amp;lt;div id=&amp;quot;course_categories_menu&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;div id=&amp;quot;group_fold_2&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;  &amp;lt;!--Produkte--&amp;gt;&lt;br /&gt;
  &amp;lt;div id=&amp;quot;group_fold_3&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;  &amp;lt;!--Support--&amp;gt;&lt;br /&gt;
  &amp;lt;div id=&amp;quot;group_fold_9&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;  &amp;lt;!--News--&amp;gt;&lt;br /&gt;
  &amp;lt;div id=&amp;quot;group_fold_4&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;  &amp;lt;!--Über uns--&amp;gt;&lt;br /&gt;
  &amp;lt;div id=&amp;quot;group_fold_5&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;  &amp;lt;!--Kontakt--&amp;gt;&lt;br /&gt;
  &amp;lt;div id=&amp;quot;group_fold_21&amp;quot;&amp;gt;&amp;lt;/div&amp;gt; &amp;lt;!--Blog--&amp;gt;&lt;br /&gt;
  &amp;lt;div id=&amp;quot;group_fold_15&amp;quot;&amp;gt;&amp;lt;/div&amp;gt; &amp;lt;!--Sitemap--&amp;gt;&lt;br /&gt;
  &amp;lt;div id=&amp;quot;group_fold_6&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;  &amp;lt;!--Home--&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
Möchte man nun Eigenschaften nur an einem bestimmten Teil der Navigation machen, so könnte man im CSS-File folgende Angabe machen:&lt;br /&gt;
&amp;lt;code&amp;gt;[css, N]&lt;br /&gt;
div#course_categories_menu div#group_fold_9 {&lt;br /&gt;
  text-decoration:blink;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
Damit würde der Text der Gruppe &amp;#039;&amp;#039;News&amp;#039;&amp;#039; (und eventueller Untergruppen) in der dynamischen Navigation blinken.&lt;br /&gt;
&lt;br /&gt;
Innerhalb der &amp;lt;tt&amp;gt;group_fold_NUMMER&amp;lt;/tt&amp;gt; - &amp;lt;tt&amp;gt;div&amp;lt;/tt&amp;gt; - Tags gibt es nun ein &amp;lt;tt&amp;gt;div&amp;lt;/tt&amp;gt; - Tag, dass (neben einer weiteren CSS-Id) eine CSS-Klasse hat. Diese CSS-Klasse wird nach folgendem Muster gebildet:&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;&amp;lt;tt&amp;gt;level_&amp;#039;&amp;#039;A&amp;#039;&amp;#039;_&amp;#039;&amp;#039;B&amp;#039;&amp;#039;_&amp;#039;&amp;#039;C&amp;#039;&amp;#039;_&amp;#039;&amp;#039;D&amp;#039;&amp;#039;_&amp;#039;&amp;#039;E&amp;#039;&amp;#039;&amp;lt;/tt&amp;gt;&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;dynpgwikitable&amp;quot;&lt;br /&gt;
! Buchstabe !! mögliche Werte !! Beschreibung&lt;br /&gt;
|-&lt;br /&gt;
|| &amp;lt;tt&amp;gt;&amp;#039;&amp;#039;A&amp;#039;&amp;#039;&amp;lt;/tt&amp;gt; || 0 oder 1 oder 2 etc. || gibt das Level der Gruppe an, also die Verzweigungstiefe in der sich die Navigation befindet&lt;br /&gt;
|-&lt;br /&gt;
|| &amp;lt;tt&amp;gt;&amp;#039;&amp;#039;B&amp;#039;&amp;#039;&amp;lt;/tt&amp;gt; || &amp;lt;tt&amp;gt;r&amp;lt;/tt&amp;gt; (nicht letzter), &amp;lt;tt&amp;gt;e&amp;lt;/tt&amp;gt; (letzter) || gibt an, ob nach dieser Gruppe noch weitere aufgelistet werden (z.B. in Musterwebsite 3 ist die Gruppe 6 &amp;quot;Home&amp;quot; die letzte des Menüs)&lt;br /&gt;
|-&lt;br /&gt;
|| &amp;lt;tt&amp;gt;&amp;#039;&amp;#039;C&amp;#039;&amp;#039;&amp;lt;/tt&amp;gt; ||  &amp;lt;tt&amp;gt;a&amp;lt;/tt&amp;gt; (ist aktiv), &amp;lt;tt&amp;gt;i&amp;lt;/tt&amp;gt; (ist nicht aktiv) || gibt an, ob die Gruppe aktiv ist, d.h. ob sie durch einen Klick ausgewählt wurde&lt;br /&gt;
|-&lt;br /&gt;
|| &amp;lt;tt&amp;gt;&amp;#039;&amp;#039;D&amp;#039;&amp;#039;&amp;lt;/tt&amp;gt; ||  &amp;lt;tt&amp;gt;exp&amp;lt;/tt&amp;gt; (ausgeklappt), &amp;lt;tt&amp;gt;cll&amp;lt;/tt&amp;gt; (eingeklappt) || gibt an, ob die Untergruppen dieser Gruppe ausgeklappt sind oder nicht&lt;br /&gt;
|-&lt;br /&gt;
|| &amp;lt;tt&amp;gt;&amp;#039;&amp;#039;E&amp;#039;&amp;#039;&amp;lt;/tt&amp;gt; ||  &amp;lt;tt&amp;gt;_hover&amp;lt;/tt&amp;gt; (Mauszeiger ist über dem Element), nichts (Mauszeiger ist nicht über dem Element) || gibt an, ob sich der Mauszeiger über dem Gruppennamen befindet oder nicht&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Mithilfe dieses Schemas kann man nun bestimmen, welche CSS-Klassen man in der CSS-Datei angeben muss um bestimmte Effekte hervorzurufen.&lt;br /&gt;
Möchte man beispielsweise, dass alle Elemente der zweitobersten Ebene blinken, wenn der Mauszeiger über dem Element ist, so notiert man in der CSS-Datei:&lt;br /&gt;
&amp;lt;code&amp;gt;[css, N]&lt;br /&gt;
div#course_categories_menu div#level_1_r_a_exp_hover,&lt;br /&gt;
div#course_categories_menu div#level_1_r_a_cll_hover,&lt;br /&gt;
div#course_categories_menu div#level_1_r_i_exp_hover,&lt;br /&gt;
div#course_categories_menu div#level_1_r_i_cll_hover,&lt;br /&gt;
div#course_categories_menu div#level_1_e_a_exp_hover,&lt;br /&gt;
div#course_categories_menu div#level_1_e_a_cll_hover,&lt;br /&gt;
div#course_categories_menu div#level_1_e_i_exp_hover,&lt;br /&gt;
div#course_categories_menu div#level_1_e_i_cll_hover {&lt;br /&gt;
  text-decoration:blink;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Diese Struktur der &amp;lt;tt&amp;gt;div&amp;lt;/tt&amp;gt;-Tags wiederholt sich mit tieferen Gruppenebenen / Untergruppen. Zum Beispiel tauchen die &amp;lt;tt&amp;gt;div&amp;lt;/tt&amp;gt;-Tags der Untergruppen vom &amp;#039;&amp;#039;Über uns&amp;#039;&amp;#039;-Menüpunkt aus der Muster-Website 3 innerhalb des &amp;lt;tt&amp;gt;group_fold_4&amp;lt;/tt&amp;gt; - &amp;lt;tt&amp;gt;div&amp;lt;/tt&amp;gt; - Tags auf.&lt;br /&gt;
&lt;br /&gt;
Weitere Informationen über die CSS-Klassen kann man schnell erhalten, indem man sich den HTML-Code eines generierten dynamischen Menüs anschaut, zum Beispiel aus der Muster-Website 3.&lt;br /&gt;
&lt;br /&gt;
==Templates==&lt;br /&gt;
Diese Templates liegen im Ordner &amp;lt;tt&amp;gt;dynpg/plugins/DPGdynmenu/templates&amp;lt;/tt&amp;gt;. Hier finden sie Ordner, die jeweils eine &amp;lt;tt&amp;gt;menu.tpl&amp;lt;/tt&amp;gt; enthalten. Welcher dieser Ordner aktiv ist, bestimmen Sie durch das Global &amp;lt;tt&amp;gt;$GLOBALS[&amp;quot;DynPG&amp;quot;]-&amp;gt;SetParam_PlugIn_Template(&amp;#039;DPGdynmenu&amp;#039;, &amp;#039;TEMPLATEORDNER&amp;#039;);&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Die Templates dienen als Vorlage für die Generierung des HTML-Codes der dynamischen Navigation. In ihnen werden auch die CSS-Klassen definiert, welche in [[#CSS|CSS]] erklärt wurden. Außerdem finden hier Templateplatzhalter der Form &amp;lt;tt&amp;gt;&amp;lt;nowiki&amp;gt;{$PLATZHALTER}&amp;lt;/nowiki&amp;gt;&amp;lt;/tt&amp;gt; Verwendung, die DynPG dynamisch durch Inhalt ersetzt.&lt;br /&gt;
&lt;br /&gt;
Das Template &amp;#039;&amp;#039;horizontal&amp;#039;&amp;#039; der Musterwebsite 3 generiert beispielsweise ein horizontales Menü, während das Template &amp;#039;&amp;#039;intelligent&amp;#039;&amp;#039; ein vertikales Menü erzeugt.&lt;br /&gt;
&lt;br /&gt;
Modifikationen an den Templates sind recht komplex. Sollten Sie vorhaben hier Änderungen durchzuführen, wenden Sie sich an das DynPG-Forum.&lt;br /&gt;
&lt;br /&gt;
==Feste Links einbauen==&lt;br /&gt;
&lt;br /&gt;
Hierzu erstellt man im Backend eine Gruppe mit dem Namen des festen Links und merkt sich die Gruppennummer. Mittels des Plugin-Parameters &amp;lt;tt&amp;gt;&amp;#039;href_subpages&amp;#039;&amp;lt;/tt&amp;gt; setzt man für diese Gruppennummer nun als Ziel die Datei &amp;lt;tt&amp;gt;counter.php&amp;lt;/tt&amp;gt; fest und übergibt dieser als Parameter das feste Linkziel. Beispiel: Wir wollen einen Link auf die Google-Webseite setzen. Also erstellen wir im Backend eine Gruppe mit dem Namen &amp;#039;&amp;#039;Google-Websuche&amp;#039;&amp;#039; und notieren die Gruppennummer (z.B. 33). In die PHP-Datei unserer dynamischen Navigation fügen wir nun folgendes ein:&lt;br /&gt;
&amp;lt;code&amp;gt;[php, N]&lt;br /&gt;
$GLOBALS[&amp;quot;DynPG&amp;quot;]-&amp;gt;SetParam_PlugIn_Param(&lt;br /&gt;
  &amp;#039;DPGdynmenu&amp;#039;,&lt;br /&gt;
  &amp;#039;href_subpages&amp;#039;,&lt;br /&gt;
  Array(&lt;br /&gt;
	33 =&amp;gt; Array(&lt;br /&gt;
      &amp;#039;page&amp;#039; =&amp;gt; &amp;#039;counter.php?inc=http://www.google.com&amp;#039;,&lt;br /&gt;
      &amp;#039;successors&amp;#039; =&amp;gt; true&lt;br /&gt;
    )		&lt;br /&gt;
  )&lt;br /&gt;
);&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Mehrsprachiges Menü==&lt;br /&gt;
&lt;br /&gt;
Hierzu gibt es einen Thread in unserem Forum unter [http://www.dynpg.ch/dynpg-forum.php?t=&amp;amp;read_group=30&amp;amp;thread_id=47&amp;amp;tt=Sprachwechsel]. Die grundsätzliche Idee ist (bei zwei Sprachen) zwei Gruppenbäume im Backend aufzubauen. Die oberste Gruppe des ersten Baumes wäre beispielsweise die Gruppe &amp;#039;&amp;#039;Deutsch&amp;#039;&amp;#039;, die oberste Gruppe des zweiten Baumes wäre zum Beispiel &amp;#039;&amp;#039;English&amp;#039;&amp;#039;.&lt;br /&gt;
&lt;br /&gt;
In der zweiten Ebene kommen dann unter &amp;#039;&amp;#039;Deutsch&amp;#039;&amp;#039; bzw. &amp;#039;&amp;#039;English&amp;#039;&amp;#039; Untergruppen wie &amp;#039;&amp;#039;News&amp;#039;&amp;#039;/&amp;#039;&amp;#039;Nachrichten&amp;#039;&amp;#039;, &amp;#039;&amp;#039;Produkte&amp;#039;&amp;#039;/&amp;#039;&amp;#039;Products&amp;#039;&amp;#039;, &amp;#039;&amp;#039;Hilfe&amp;#039;&amp;#039;/&amp;#039;&amp;#039;Support&amp;#039;&amp;#039; und so weiter. Man erstellt sich nun zwei PHP-Dateien (&amp;lt;tt&amp;gt;navi_de.php&amp;lt;/tt&amp;gt;, &amp;lt;tt&amp;gt;navi_en.php&amp;lt;/tt&amp;gt;) wie oben beschrieben [[#Einrichten|Einrichten]]. In diesen wird dann mit den Befehlen aus [[#Globalsreferenz|Globalsreferenz]] der jeweils nicht passende Baum ausgeblendet.&lt;br /&gt;
&lt;br /&gt;
==Verschiedene Grafiken für Menüpunkte==&lt;br /&gt;
&lt;br /&gt;
Dies lässt sich mittels CSS realisieren. Weitere Informationen hierzu gibt es in: [[Implementation eines kompletten Hauptmenüs#Verschiedene dynamische Grafiken für verschiedene Menüpunkte|Implementation eines kompletten Hauptmenüs]], einem Artikel aus einer Reihe einführender Wiki-Artikel zu DynPG. &lt;br /&gt;
&lt;br /&gt;
==Siehe auch==&lt;br /&gt;
*[[Sitemap-Tutorial]]&lt;br /&gt;
*[[Implementation eines kompletten Hauptmenüs]]&lt;br /&gt;
*[[Code-Schnipsel Einfaches Hauptmenü]]&lt;br /&gt;
*[[Code-Schnipsel Menüeinträge sortieren]]&lt;br /&gt;
*[[Snippet-Beispiele]]&lt;/div&gt;</summary>
		<author><name>Sebastian</name></author>	</entry>

	<entry>
		<id>https://wiki-en.dynpg.org/wiki_de/index.php?title=Implementation_eines_kompletten_Hauptmen%C3%BCs</id>
		<title>Implementation eines kompletten Hauptmenüs</title>
		<link rel="alternate" type="text/html" href="https://wiki-en.dynpg.org/wiki_de/index.php?title=Implementation_eines_kompletten_Hauptmen%C3%BCs"/>
				<updated>2009-08-17T18:38:39Z</updated>
		
		<summary type="html">&lt;p&gt;Sebastian: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Kategorie:Integration in eine Webseite]]&lt;br /&gt;
{{Einführungsartikel}}&lt;br /&gt;
== Einleitung ==&lt;br /&gt;
In den vorangegangenen Kapiteln haben Sie gelernt wie man DynPG in seine Seite integriert und es entsprechend anpasst. Ausgerüstet mit diesem Wissen wollen wir uns nun an eine wichtige Aufgabe machen: Die Erstellung eines &amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039;Seitenhauptmenüs&amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039;. Fangen wir also an. Als erstes benötigen wir eine leere &amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039;index.php&amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039;, d.h. nicht ganz leer, sie enthält natürlich das Html-Grundgerüst. Außerdem erstellen wir uns eine CSS-Datei namens &amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039;style.css&amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039; mit der unser Menü optisch auf Vordermann gebracht werden soll. Das Grundgerüst könnte wie folgt aussehen: &lt;br /&gt;
&amp;lt;code&amp;gt;[php,N]&lt;br /&gt;
&amp;lt;?php&lt;br /&gt;
  require &amp;#039;cms/getcontent.php&amp;#039;;  //DynPG-Funktionalität einbinden&lt;br /&gt;
  $DynPG-&amp;gt;SetParam_PathToRoot(&amp;#039;cms/&amp;#039;);  //DynPG-Pfad setzen&lt;br /&gt;
?&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!DOCTYPE HTML PUBLIC &amp;quot;-//W3C//DTD HTML 4.01 Transitional//EN&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;html xmlns=&amp;quot;http://www.w3.org/1999/xhtml&amp;quot; xml:lang=&amp;quot;en-US&amp;quot; lang=&amp;quot;en-US&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;head&amp;gt;&lt;br /&gt;
    &amp;lt;title&amp;gt;Hauptmenue-Tutorial&amp;lt;/title&amp;gt;&lt;br /&gt;
    &amp;lt;meta http-equiv=&amp;quot;content-type&amp;quot; content=&amp;quot;text/html; charset=iso-8859-1&amp;quot; /&amp;gt;&lt;br /&gt;
    &amp;lt;?php $DynPG-&amp;gt;Write_CSS_JS_Header(); ?&amp;gt;  &amp;lt;!--Standard-Css von DynPG einbinden--&amp;gt;&lt;br /&gt;
    &amp;lt;link rel=&amp;quot;stylesheet&amp;quot; type=&amp;quot;text/css&amp;quot; href=&amp;quot;style.css&amp;quot; /&amp;gt;  &amp;lt;!--eigene style.css einbinden--&amp;gt;&lt;br /&gt;
  &amp;lt;/head&amp;gt;&lt;br /&gt;
  &amp;lt;body&amp;gt;&lt;br /&gt;
    &amp;lt;h1&amp;gt;Hauptmenue-Tutorial&amp;lt;/h1&amp;gt;&lt;br /&gt;
    &amp;lt;table  border=&amp;quot;0&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;tr valign=&amp;quot;top&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;th align=&amp;quot;left&amp;quot; style=&amp;quot;width:230px&amp;quot; id=&amp;quot;hauptmenue&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;div style=&amp;quot;border: 3px black solid&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;?php&lt;br /&gt;
        //hier soll das Hauptmenü hin&lt;br /&gt;
      ?&amp;gt;&lt;br /&gt;
      &amp;lt;/div&amp;gt;&lt;br /&gt;
      &amp;lt;/th&amp;gt;&lt;br /&gt;
      &amp;lt;th id=&amp;quot;anzeige&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;div style=&amp;quot;border: 3px black solid&amp;quot;&amp;gt;&lt;br /&gt;
      &amp;lt;?php&lt;br /&gt;
        //hier sollen die anzuzeigenden Artikel und Gruppen hin&lt;br /&gt;
      ?&amp;gt;&lt;br /&gt;
      &amp;lt;/div&amp;gt;&lt;br /&gt;
      &amp;lt;/th&amp;gt;&lt;br /&gt;
      &amp;lt;/tr&amp;gt;&lt;br /&gt;
    &amp;lt;/table&amp;gt;&lt;br /&gt;
  &amp;lt;/body&amp;gt;&lt;br /&gt;
&amp;lt;/html&amp;gt;&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
In den Spalten &amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039;hauptmenue&amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039; und &amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039;anzeige&amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039; sollen das Hauptmenü bzw. die eigentlichen Artikel, Artikellisten und Gruppenlisten angezeigt werden. Bevor wir nun den eigentlichen Code schreiben, müssen wir in das DynPG Backend und einen Artikel erstellen, nämlich den Artikel der das Hauptmenü tragen soll. Ja richtig, das Hauptmenü ist nämlich auch ein Artikel, nur eben ein etwas spezieller! Loggen Sie sich mit ihrem Account in das DynPG-Backend ein und gehen Sie in die Sektion &amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039;Artikelbezogene Texte&amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039;. Nun haben Sie schon einen neuen Artikeltext vor sich und müssen nur noch auf das &amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039;Dynamisches Menü einfügen&amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039; - Symbol über dem Textfeld klicken und just in diesem Moment müsste eine blaue Grafik mit der Bezeichnung &amp;quot;dynamisches Menü&amp;quot; im Textfeld erscheinen. Nun, das war es auch schon fast, drücken Sie nun den Knopf &amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039;Erstellen&amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039;. &lt;br /&gt;
&lt;br /&gt;
[[Image:create_article.jpg|thumb|Abbildung 2.3. Artikel für das Hauptmenü erstellen]]&lt;br /&gt;
&lt;br /&gt;
Der Hauptmenü-Artikel müsste nun darunter in der Liste &amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;quot;Texte / Text-Gruppen&amp;quot;&amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039; angezeigt werden. Schauen Sie wo er sich dort befindet und merken Sie sich die &amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039;ID&amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039;. Mit der werden wir den Artikel nämlich jetzt anzeigen lassen. Gehen wir also wieder in unsere &amp;quot;index.php&amp;quot; und fügen in der &amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039;Spalte hauptmenue&amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039; folgendes ein: &lt;br /&gt;
{{-}}&lt;br /&gt;
&amp;lt;code&amp;gt;[php,Y]&lt;br /&gt;
&amp;lt;?php&lt;br /&gt;
  //nur anzeigen, wenn es der Kontext (also Position im Menü) vorgibt!&lt;br /&gt;
  $DynPG-&amp;gt;SetParam_A_Anytime(true);&lt;br /&gt;
  $DynPG-&amp;gt;SetParam_A_Article(15);&lt;br /&gt;
  $DynPG-&amp;gt;Write_Article();&lt;br /&gt;
?&amp;gt;&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Was genau passiert da? Nun in der 1. Zeile sagen wir DynPG, dass es den folgenden Artikel immer anzeigen soll, kontextunabhängig also. Das macht auch Sinn, denn es handelt sich hier schließlich um unser Hauptmenü und das ist sozusagen omni-präsent. Bei mir wurde dem Menü-Artikel die ID 15 zugewiesen, deshalb verwende ich beim Setzen des Artikels in Zeile 2 auch diese Nummer. Mit Zeile 3 wird dann das Menü angezeigt. &lt;br /&gt;
&lt;br /&gt;
Nun müssen wir uns noch um die anzuzeigenden Artikel kümmern die man über das Menü erreichen kann, dazu fügen wir in der &amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039;Spalte anzeige&amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039; folgendes ein: &lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;[php,Y]&lt;br /&gt;
&amp;lt;?php&lt;br /&gt;
  //nur anzeigen, wenn es der Kontext (also Position im Menü) vorgibt!&lt;br /&gt;
  $DynPG-&amp;gt;SetParam_A_Anytime(false);&lt;br /&gt;
  $DynPG-&amp;gt;SetParam_AA_Maxview(10);  //Maximal zehn Einträge in Artikellisten&lt;br /&gt;
  $DynPG-&amp;gt;Write_AllArticles();&lt;br /&gt;
  $DynPG-&amp;gt;Write_Article();&lt;br /&gt;
?&amp;gt;&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Zeile 1 funktioniert analog zu obigem Code. Die Zeilen 3 und 4 bewirken, dass sowohl Artikellisten (wenn im Menü auf eine Gruppe geklickt wird) als auch einzelne Artikel (wenn auf einen Artikel geklickt wird) angezeigt werden. Zeile 2 gibt an wie lang die Artikellisten sein dürfen, bevor sie der Übersicht halber auf mehreren Seiten (mit Navigation) dargestellt werden. &lt;br /&gt;
&lt;br /&gt;
Für das Beispiel werden wir die style.css wie folgt füllen: &lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;[css,N]&lt;br /&gt;
/*alle Links schwarz*/&lt;br /&gt;
a{color: black;}&lt;br /&gt;
&lt;br /&gt;
#hauptmenu p{&lt;br /&gt;
	text-align: left;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/*Navigation, Print-Button und Artikelheader unsichtbar machen*/&lt;br /&gt;
#dynpg_A_breadcrumb{display: none;}&lt;br /&gt;
	&lt;br /&gt;
#dynpg_AA_breadcrumb_navi{display: none;}&lt;br /&gt;
#dynpg_AA_breadcrumb_pages{display: none;}&lt;br /&gt;
&lt;br /&gt;
#dynpg_A_btnprint{display: none;}&lt;br /&gt;
&lt;br /&gt;
#dynpg_A_header{display: none;}&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Hier werden die Artikel-Navigation (dynpg_A_breadcrumb), der Artikel- Printbutton (dynpg_A_btnprint) sowie der Artikelkopf (dynpg_A_header) ausgeblendet. &lt;br /&gt;
&lt;br /&gt;
Nun kann das ganze sogar schon ausgeführt werden und sieht bei mir folgendermaßen aus: &lt;br /&gt;
&lt;br /&gt;
[[Image:first_look.jpg|200px|Abbildung 2.4. ein erstes funktionierendes Hauptmenü]]&lt;br /&gt;
&lt;br /&gt;
Freilich variiert diese Ansicht, denn es werden natürlich immer die Gruppen und Artikel angezeigt die man im Backend definiert hat. Hier habe ich größtenteils alles so gelassen wie man es nach der Installation von DynPG mit den Beispieldaten vorfindet. Nun kann man daran gehen eigene Artikel/Gruppen zu erzeugen, die dann natürlich auch im Menü auftauchen werden. &lt;br /&gt;
&lt;br /&gt;
Das Menü, so wie es jetzt erscheint, ist rein optisch noch etwas rudimentär, daher werden wir nun daran gehen das ganze ein bisschen aufzupeppen indem wir Grafiken für die einzelnen Menüpunkte einfügen.&lt;br /&gt;
&lt;br /&gt;
== Grafiken für die Menüpunkte ==&lt;br /&gt;
Da nun bereits ein fertiges Menü-Grundgerüst steht, sollte es ein leichtes sein Grafiken für die einzelnen Menüpunkte einzufügen, denn dazu müssen wir lediglich die Stylesheet-Datei &amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039;style.css&amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039; um folgenden Code erweitern: &lt;br /&gt;
&amp;lt;code&amp;gt;[css,N]&lt;br /&gt;
/*===========================Hauptkategorien==============================*/&lt;br /&gt;
/*Hintergrundbilder für die Menüeinträge setzen*/&lt;br /&gt;
#hauptmenue .level_0_r_i_exp, #hauptmenue .level_0_r_i_exp_hover, &lt;br /&gt;
#hauptmenue .level_0_r_a_exp_hover, #hauptmenue .level_0_r_a_exp&lt;br /&gt;
{&lt;br /&gt;
	background: url(&amp;quot;images/note.gif&amp;quot;) no-repeat left top;&lt;br /&gt;
	padding: 0px 0px 5px 0px;&lt;br /&gt;
}&lt;br /&gt;
/*Bezeichnungen für die Menüeinträge positionieren*/&lt;br /&gt;
#hauptmenue .level_0_r_i_exp p, #hauptmenue .level_0_r_i_exp_hover p, &lt;br /&gt;
#hauptmenue .level_0_r_a_exp_hover p, #hauptmenue .level_0_r_a_exp p&lt;br /&gt;
{&lt;br /&gt;
	position: relative;&lt;br /&gt;
	left: 40px;&lt;br /&gt;
}&lt;br /&gt;
/*===========================Sub-Kategorien==============================*/&lt;br /&gt;
/*Bezeichnungen für die Menüeinträge positionieren*/&lt;br /&gt;
#hauptmenue .level_1_r_i_exp p, #hauptmenue .level_1_r_i_exp_hover p, &lt;br /&gt;
#hauptmenue .level_1_r_a_exp_hover p, #hauptmenue .level_1_r_a_exp p&lt;br /&gt;
{&lt;br /&gt;
	position: relative;&lt;br /&gt;
	left: 60px;&lt;br /&gt;
}&lt;br /&gt;
/*===========================Sub-Sub-Kategorien==============================*/&lt;br /&gt;
/*Bezeichnungen für die Menüeinträge positionieren*/&lt;br /&gt;
#hauptmenue .level_2_r_i_exp p, #hauptmenue .level_2_r_i_exp_hover p, &lt;br /&gt;
#hauptmenue .level_2_r_a_exp_hover p, #hauptmenue .level_2_r_a_exp p&lt;br /&gt;
{&lt;br /&gt;
	position: relative;&lt;br /&gt;
	left: 60px;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
Um diesen Code zu verstehen müssen wir zunächst ein paar Sachen klären. Jedem Menüpunkt wird von DynPG in CSS automatisch eine Klasse zugeordnet mit der wir in die Lage versetzt werden die einzelnen Eigenschaften zu setzen. Folgende Gruppen gibt es: &lt;br /&gt;
&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039;level_0_r_i_exp&amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039; (inaktiver(noch nicht geklickter) Menüpunkt)&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039;level_0_r_i_exp_hover&amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039; (inaktiver(noch nicht geklickter) Menüpunkt auf dem die Maus steht)&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039;level_0_r_a_exp&amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039; (aktiver(geklickter) Menüpunkt)&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039;level_0_r_a_exp_hover&amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039; (aktiver(geklickter) Menüpunkt auf dem die Maus steht)&lt;br /&gt;
&lt;br /&gt;
All diese Klassen beziehen sich auf Menüpunkte des Typs &amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039;Level 0&amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039;, also die Hauptpunkte / Punkte der obersten Kategorie. Für Menüpunkte des Typs &amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039;Level X&amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039; gibt es natürlich auch Klassen: &lt;br /&gt;
&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039;level_X_r_i_exp&amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039; (inaktiver(noch nicht geklickter) Menüpunkt)&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039;level_X_r_i_exp_hover&amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039; (inaktiver(noch nicht geklickter) Menüpunkt auf dem die Maus steht)&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039;level_X_r_a_exp&amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039; (aktiver(geklickter) Menüpunkt)&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039;level_X_r_a_exp_hover&amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039; (aktiver(geklickter) Menüpunkt auf dem die Maus steht)&lt;br /&gt;
&lt;br /&gt;
Wobei X im Bereich von 0 bis 3 liegt! Ist ein Menüpunkt eine Gruppe werden alle seine Untergruppen bzw. Unterartikel in einem Div mit dem Namen &lt;br /&gt;
&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039;group_fold_ID&amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
zusammengefasst, wobei &amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039;ID&amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039; für die ID der Gruppe steht (diese wird beim Erstellen generiert und kann im Backend bzw. im generierten Html-Code (Browser) nachgelesen werden). Jetzt wird sicher auch klar wie der Code in style.css zu verstehen ist, in der nur Menüeinträge bis Level2 formatiert werden. Den vollständigen Code und ein laufendes Beispiel kann man sich [[CSS Einfaches Hauptmenü mit Bildern|hier]] anschauen.&lt;br /&gt;
&lt;br /&gt;
== Verschiedene dynamische Grafiken für verschiedene Menüpunkte ==&lt;br /&gt;
Im vorherigen Beispiel haben wir Grafiken für die Menüpunkte eingefügt, nun soll jeder Menüpunkt seine eigene Grafik erhalten und diese soll sich zudem ändern, wenn man mit der Maus daraufzeigt. Das hört sich zwar schon etwas komplizierter an, tatsächlich müssen wir aber wieder &amp;quot;nur&amp;quot; die &amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039;style.css&amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039; ändern, der eigentliche Code für das Menü bleibt so bestehen. &lt;br /&gt;
&lt;br /&gt;
[[CSS Einfaches Hauptmenü mit verschiedenen Bildern und Hovereffekt|Hier]] können der Css-Code und das ausführbare Beispiel bewundert werden. &lt;br /&gt;
&lt;br /&gt;
Erklärung: Im vorigen Beispiel stellten wir bereits fest, dass jedem Menüpunkt eine Klasse zugeordet wird und das Menüpunkte die Gruppen sind von divs mit dem Namen &amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039;group_fold_ID&amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039; (wobei &amp;quot;ID&amp;quot; die Id der Gruppe ist) umschlossen werden. Da die Namen (bzw. Ids) dieser divs eindeutig sind, können wir mit ihrer Hilfe jedem Menüpunkt eine eigene Grafik zuordnen: &lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;[css,N]&lt;br /&gt;
#group_fold_6 .level_0_r_i_exp &lt;br /&gt;
{&lt;br /&gt;
	background: url(&amp;quot;images/warning1.gif&amp;quot;) no-repeat left top;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Bei mir ist der erste Menüpunkt eine Gruppe welche die Id &amp;quot;6&amp;quot; trägt, daher &amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039;group_fold_6&amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039;! Mit &amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039;.level_0_r_i_exp&amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039; beziehe ich mich auf die Eigenschaften des Menüpunktes die er hat, wenn er nicht aktiv (nicht angeklickt oder mit dem Mauszeiger berührt) ist. In diesem Zustand soll ihm die Grafik &amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039;warning1.gif&amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039; zugewiesen werden. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;[css,N]&lt;br /&gt;
#group_fold_6 .level_0_r_i_exp_hover, &lt;br /&gt;
#group_fold_6 .level_0_r_a_exp_hover, #group_fold_6 .level_0_r_a_exp&lt;br /&gt;
{&lt;br /&gt;
	background: url(&amp;quot;images/warning2.gif&amp;quot;) no-repeat left top;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Wenn er aktiv ist (also angeklickt oder mit dem Mauszeiger berührt wird), dann soll er die Grafik &amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039;warning2.gif&amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039; erhalten. Nun kann man so für alle weiteren Hauptpunkte vorgehen und erhält den im [http://www.dynpg.ch/doku/examples/css/menu_with_different_images/index.php ausfürbaren Beispiel] vorgestellten Effekt.&lt;br /&gt;
&lt;br /&gt;
== Direktklick auf Gruppen ==&lt;br /&gt;
[[Image:special_group.jpg|thumb|Abbildung 2.5. Spezielle Gruppe]]&lt;br /&gt;
Bis jetzt wurde bei einem Klick auf eine Gruppe im Hauptmenü immer eine Artikelliste (sowohl im Menü als auch im Anzeigefenster) dargestellt. Was aber wenn wir wollen, dass direkt und ohne jeden Umweg ein Artikel angezeigt werden soll? Nun, die Lösung ist einfach und erfordert noch nicht einmal Quellcode, denn das &amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039;Backend&amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039; erledigt all dies schon für uns. Für das Beispiel habe ich dort nämlich eine Gruppe namens &amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039;spezielle Gruppe&amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039; erstellt. In der Gruppe habe ich dann einen Artikel mit dem Namen &amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039;spezieller Artikel&amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039; erstellt und ihm einen beliebiegen Artikeltext zugewiesen. Ist dies einmal geschehen kann man in der Gruppenliste bei &amp;quot;spezielle Gruppe&amp;quot; auf das &amp;quot;Bearbeiten&amp;quot;-Symbol klicken (das, welches wie ein Kugelschreiber aussieht) und bei &amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;quot;Gruppeninhalt&amp;quot;&amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039; die Id von &amp;quot;spezieller Artikel&amp;quot; eintragen. Und schon erhält man im [http://www.dynpg.ch/doku/examples/css/menu_with_different_images/index.php ausfürbaren Beispiel] den beschriebenen Effekt.&lt;br /&gt;
{{-}}&lt;br /&gt;
== Unterschiedliche Stile für unterschiedliche Seiten ==&lt;br /&gt;
Angenommen Sie haben einen Menüpunkt Kontakt und einen namens Startseite und Sie wollen, dass beide z.B. verschiedene Hintergrundfarben zur Darstellung verwenden. Was tun? Glücklicherweise gibt es dafür Menüfunktionalitäten die einem die Arbeit abnehmen. Dabei sei auf [[Code-Schnipsel Unterschiedliche Stile für unterschiedliche Seiten|dieses Beispiel]] verwiesen. &lt;br /&gt;
&lt;br /&gt;
Im Beispiel werden die folgenden beiden Funktionen verwendet: &lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;[php,Y]&lt;br /&gt;
$DynPG-&amp;gt;SetParam_PlugIn_Param(&amp;#039;DPGdynmenu&amp;#039;, &amp;#039;href_page_articles&amp;#039;, &amp;#039;../index.php&amp;#039;);&lt;br /&gt;
$DynPG-&amp;gt;SetParam_PlugIn_Param(&amp;#039;DPGdynmenu&amp;#039;, &amp;#039;href_subpages&amp;#039;, Array(1 =&amp;gt; &amp;#039;../details.php&amp;#039;));&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Funktion 1 legt die PHP-Datei fest, die zum anzeigen sämtlicher Menüpunkte verwendet werden soll (hier: index.php). Funktion 2 legt die Datei fest, die zum anzeigen der &amp;quot;Startseite&amp;quot;-Gruppe verwendet werden soll. Somit überschreibt Funktion 2 die Einstellungen von Funktion 1 für &amp;quot;Startseite&amp;quot;. Dabei muss wieder die ID der Gruppe angegeben werden (kann im Backend nachgelesen werden). Jedesmal wenn man jetzt auf die Startseiten-Gruppe klickt, wird statt dem Code von index.php, der von details.php zum anzeigen verwendet. Man kann natürlich auch mehr als eine Datei angeben: &lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;[php,N]&lt;br /&gt;
$DynPG-&amp;gt;SetParam_PlugIn_Param(&amp;#039;DPGdynmenu&amp;#039;,&lt;br /&gt;
                              &amp;#039;href_subpages&amp;#039;,&lt;br /&gt;
                               Array(&lt;br /&gt;
                                     5 =&amp;gt; &amp;#039;../details.php&amp;#039;,&lt;br /&gt;
                                     7 =&amp;gt; &amp;#039;../beliebige_datei.php&amp;#039;&lt;br /&gt;
                                    )&lt;br /&gt;
                             );&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Image:caution.png]] &amp;#039;&amp;#039;&amp;#039;Achtung&amp;#039;&amp;#039;&amp;#039; Bei dem Pfad für die anzugebenen Dateien wird von dem Standard-Pfad von DynPG ausgegangen (dem in dem die &amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039;getcontent.php&amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039; liegt), nicht von dem der Datei in dem die Funktion aufgerufen wird!&lt;br /&gt;
&lt;br /&gt;
[[Image:caution.png]] &amp;#039;&amp;#039;&amp;#039;Achtung&amp;#039;&amp;#039;&amp;#039; Hat man für eine Gruppe eine andere Datei festgelegt, dann wird diese Datei nicht zwingend auch für die Untergruppen verwendet! Man muss auch explizit für die Untergruppen die zu verwendenden Dateien angeben!!&lt;br /&gt;
&lt;br /&gt;
== Einträge sortieren ==&lt;br /&gt;
Der Titel sagt bereits alles: Wir wollen hier die Einträge im Menü sortieren, und zwar nach verschiedenen Schlüsseln, wie z.B. dem Index der Gruppe / des Artikels oder dem Namen. Dazu gibt uns DynPG zwei Funktionen zur Hand nämlich: &lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;[php,Y]&lt;br /&gt;
$DynPG-&amp;gt;SetParam_PlugIn_Param(&amp;#039;DPGdynmenu&amp;#039;, &amp;#039;order&amp;#039;, Array(&amp;#039;INDEX&amp;#039;));&lt;br /&gt;
$DynPG-&amp;gt;SetParam_PlugIn_Param(&amp;#039;DPGdynmenu&amp;#039;, &amp;#039;sort&amp;#039;, Array(&amp;#039;ASC&amp;#039;));&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Die erste der beiden legt den Sortierschlüssel fest (hier: der Index der Gruppe / des Artikels). Mögliche Sortierschlüssel sind: &lt;br /&gt;
&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039;INDEX&amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039; (Index des Eintrages)&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039;NAME&amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039; (Name des Eintrages)&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039;CREATEDATE&amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039; (Erstellungsdatum)&lt;br /&gt;
&lt;br /&gt;
Die zweite sortiert schließlich die Einträge. Dabei hat man die Wahl zwischen auf- (&amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039;ASC&amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039;) und absteigend (&amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039;DESC&amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039;). [[Code-Schnipsel Menüeinträge sortieren|In diesem Beispiel]] sieht man die Funktionen in Aktion. &lt;br /&gt;
&lt;br /&gt;
[[Image:caution.png]] &amp;#039;&amp;#039;&amp;#039;Achtung&amp;#039;&amp;#039;&amp;#039; Die Funktionen müssen natürlich &amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039;vor&amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039; der Ausgabe des Menüs aufgerufen werden.&lt;/div&gt;</summary>
		<author><name>Sebastian</name></author>	</entry>

	<entry>
		<id>https://wiki-en.dynpg.org/wiki_de/index.php?title=Templates</id>
		<title>Templates</title>
		<link rel="alternate" type="text/html" href="https://wiki-en.dynpg.org/wiki_de/index.php?title=Templates"/>
				<updated>2009-08-17T18:38:28Z</updated>
		
		<summary type="html">&lt;p&gt;Sebastian: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Integration in eine Webseite]]&lt;br /&gt;
{{Einführungsartikel}}&lt;br /&gt;
== Einführung ==&lt;br /&gt;
Mit DynPG ist es möglich die Art und Weise wie Artikel und Listenansichten ausgegeben werden, zu beeinflussen. Ein Weg ist CSS, ein anderer (wesentlich flexiblerer) geht über die eingebaute &amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039;Templateengine&amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039;. Ein Beispiel: Der Aufruf &lt;br /&gt;
&amp;lt;code&amp;gt;[php,N]&lt;br /&gt;
$DynPG-&amp;gt;Write_Article();&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
bewirkt, dass die Detailansicht eines Artikels angezeigt wird. Dabei wird (wenn nichts anderes explizit angegeben wurde) implizit ein Standard-Template verwendet, das definiert wie diese Ansicht auszusehen hat. Im DynPG-Unterverzeichnis &amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039;/tpl/MyCMS/default/&amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039; liegen die Templatedateien für die Standardansichten. &lt;br /&gt;
&lt;br /&gt;
* groups.tpl (Gruppenlistenansicht)&lt;br /&gt;
* articles.tpl (Artikellistenansicht)&lt;br /&gt;
* detail.tpl (Artikel-Detailansicht)&lt;br /&gt;
* home.tpl (Home-Ansicht)&lt;br /&gt;
* navigation.tpl (Blätterfunktion der Listen-Ansichten)&lt;br /&gt;
* search-form.tpl (Formular für die Suche)&lt;br /&gt;
&lt;br /&gt;
In diesen Dateien haben Sie die Möglichkeit, oben genannte Ansichten nach Ihren Wünschen anzupassen. Die Darstellung geschieht grundsätzlich mit &amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039;HTML&amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039;. Zusätzlich gibt es eine &amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039;Templatesprache&amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039;. Diese ist schlicht gehalten und beinhaltet einige wenige Elemente die nachfolgend näher betrachtet werden sollen. Statt die Standard-Templates zu manipulieren, können auch neue Templates erzeugt werden. Dazu muss im Unterverzeichnis &amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039;/tpl/MyCMS/&amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039; einfach ein neuer Ordner mit dem gewünschten Templatenamen angelegt werden. Je nachdem welche Ansichten nun geändert werden sollen, fügt man Dateien mit denselben Namen wie in oben genannter Liste ein. Diese können dann nach den eigenen Wünschen bearbeitet werden. Mit den Zeilen &lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;[php,N]&lt;br /&gt;
$DynPG-&amp;gt;setupTemplate(&amp;quot;meinTemplate&amp;quot;);&lt;br /&gt;
&lt;br /&gt;
$DynPG-&amp;gt;SetParam_A_Article(13);&lt;br /&gt;
&lt;br /&gt;
$DynPG-&amp;gt;Write_Article();&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
wird das Template &amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;quot;meinTemplate&amp;quot;&amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039; gesetzt und damit der Artikel 13 ausgegeben. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Image:caution.png]] &amp;#039;&amp;#039;&amp;#039;Achtung&amp;#039;&amp;#039;&amp;#039; Das Setzen eines Templates muss &amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039;vor&amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039; der Ausgabe des Artikels erfolgen!&lt;br /&gt;
&lt;br /&gt;
[[Image:caution.png]] &amp;#039;&amp;#039;&amp;#039;Achtung&amp;#039;&amp;#039;&amp;#039; Wenn das Template gesetzt wurde, dann wird es auch für alle nachfolgenden Ausgaben verwendet! Ist dies unerwünscht, muss man explizit wieder das Standard-Template(&amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;quot;default&amp;quot;&amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039;) setzen!&lt;br /&gt;
&lt;br /&gt;
== Die Template-Sprache ==&lt;br /&gt;
=== Ein erstes kleines Beispiel ===&lt;br /&gt;
Da alle Theorie grau ist, hier ein kleines einführendes Beispiel: &lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Beispiel 2.1. Template-Minimalbeispiel (eigene Artikel-Detailansicht in &amp;#039;&amp;#039;/tpl/MyCMS/minimal/detail.tpl&amp;#039;&amp;#039;)&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;[html,N]&lt;br /&gt;
&amp;lt;!-- Dies ist ein Kommentar (er wird nicht angezeigt) --&amp;gt;&lt;br /&gt;
{$CONTENT} &amp;lt;!--Den Inhalt des Artikels ausgeben--&amp;gt; &lt;br /&gt;
&lt;br /&gt;
Dies ist ein &amp;lt;b&amp;gt;selbstdefiniertes Template&amp;lt;/b&amp;gt;  &amp;lt;!--beliebiger HTML-Code--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--Alles was hier drinsteht, wird nach dem Aufruf von $DynPG-&amp;gt;Write_Article(); eingefügt --&amp;gt;&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ich habe mir also mit dem Ordner &amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039;/tpl/MyCMS/minimal&amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039; ein eigenes Template angelegt. In diesen Ordner packe ich die Datei &amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039;detail.tpl&amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039;, die obigen Inhalt aufweist. Damit hab ich meine eigene Artikel-Detailansicht definiert, die ich jetzt jederzeit auf meiner Seite verwenden kann, indem ich z.B. &lt;br /&gt;
&amp;lt;code&amp;gt;[php,N]&lt;br /&gt;
$DynPG-&amp;gt;setupTemplate(&amp;quot;minimal&amp;quot;);&lt;br /&gt;
&lt;br /&gt;
$DynPG-&amp;gt;SetParam_A_Article(13);&lt;br /&gt;
&lt;br /&gt;
$DynPG-&amp;gt;Write_Article();&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
aufrufe. &amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039;{$CONTENT}&amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039; ist ein Platzhalter für den Inhalt des anzuzeigenden Artikels. An dieser Stelle wird dann also der eigentliche Artikeltext eingefügt (das macht die Templateengine). Eine Liste der Templatevariablen (Platzhalter) finden Sie im nächsten [[#Liste und Bedeutung der Template-Variablen|Kapitel]]. &lt;br /&gt;
&lt;br /&gt;
Die Templatesprache hat neben den Templateplatzhaltern noch 2 andere wichtige Sprachelemente. Dies wäre zum einen die [[#Die bedingte Anweisung|bedingte Anweisung]] und zum anderen ein [[#PHP-Code|PHP-Block]], der es ermöglicht PHP-Anweisungen auszuführen. In die Template-Datei kann zudem auch beliebiger HTML-Code eingefügt werden, wodurch den Gestaltungsphantasien fast keine Grenzen gesetzt sind!&lt;br /&gt;
&lt;br /&gt;
=== Liste und Bedeutung der Template-Variablen ===&lt;br /&gt;
Dieses Template ist zuständig für die Darstellung von Ansichten der Gruppen-Listen. &lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;dynpgwikitable&amp;quot;&lt;br /&gt;
|+ Templatevariablen - groups.tpl&lt;br /&gt;
! &amp;lt;center&amp;gt;Platzhalter&amp;lt;/center&amp;gt;&lt;br /&gt;
! &amp;lt;center&amp;gt;Beschreibung&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| {$ROOT_NAVIGATION}&lt;br /&gt;
| Erstellt eine Übersichts-Navigation. Gruppe &amp;gt;&amp;gt; Untergruppe &lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| {$PAGES_NAVIGATION}&lt;br /&gt;
| Erstellt eine Navigation zum Blättern bei mehreren Seiten. Also falls mehr Gruppen angezeigt werden sollten, als in der config.php unter config_AllGroups_Limit eingestellt sind. &lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| {$LIST_REFER_TO}&lt;br /&gt;
| Enthält die URL-Adresse zur nächsttieferen Anzeige- Stufe (im falle groups.tpl den Link zur Artikelliste oder zur Untergruppe). &lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| {$NAME}&lt;br /&gt;
| Gibt den Namen der Gruppe aus. &lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| {$SHORTTEXT}&lt;br /&gt;
| Gibt den Kurztext der Gruppe aus. &lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| {$CREATEDATE}&lt;br /&gt;
| Gibt das Erstelldatum der Gruppe aus. &lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| {$LIST_SHOW_VISTS}&lt;br /&gt;
| Gibt die Anzahl Klicks auf den Link der entsprechenden Gruppe aus. &lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| {$LIST_HAS_IMAGE}&lt;br /&gt;
| Gibt zurück, ob die Gruppe ein Leadbild hat. Falls ja wird TRUE, bei nein FALSE zurückgegeben. Entnimmt den Wert aus DynPG. &lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| {$LIST_IMAGE_ALIGN}&lt;br /&gt;
| Gibt die gewünschte Position des Leadbildes zurück. TOP für oben, BOTTOM für unten, LEFT für links und RIGHT für rechts. Entnimmt den Wert aus DynPG. &lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| {$IMAGE_URL}&lt;br /&gt;
| Gibt das Quellverzeichnis des Leadbildes aus. &lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| {$IMAGE_NAME}&lt;br /&gt;
| Gibt den Namen des Leadbildes aus. &lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| {$IMAGE_DESCR}&lt;br /&gt;
| Gibt die Beschreibung des Leadbildes aus. &lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Dieses Template ist zuständig für die Darstellung von Ansichten der Artikel-Listen. &lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;dynpgwikitable&amp;quot;&lt;br /&gt;
|+ Templatevariablen - articles.tpl&lt;br /&gt;
! &amp;lt;center&amp;gt;Platzhalter&amp;lt;/center&amp;gt;&lt;br /&gt;
! &amp;lt;center&amp;gt;Beschreibung&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| {$ROOT_NAVIGATION}&lt;br /&gt;
| Erstellt eine Übersichts-Navigation. Gruppe &amp;gt;&amp;gt; Artikel &lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| {$PAGES_NAVIGATION}&lt;br /&gt;
| Erstellt eine Navigation zum Blättern bei mehreren Seiten. Also falls Sie mehr Gruppen angezeigt werden sollten, als in der config.php unter &amp;#039;config_AllArticles_Limit&amp;#039; eingestellt sind. &lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| {$LIST_USER_DEFINED_CSS}&lt;br /&gt;
| Gibt den Wert zurück, den Sie beim Implementieren unter SetParam_AA_SingleCss(...); angegeben wurde. &lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| {$LIST_INDEX}&lt;br /&gt;
| Gibt die aktuelle Anzahl (den Index) der angezeigten Artikel zurück (also beim 3. Artikel den Wert 3, beim 6. Artikel den Wert 6). &lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| {$LIST_REFER_TO}&lt;br /&gt;
| Enthält die URL-Adresse zur nächsttieferen Anzeige- Stufe (im falle articles.tpl den Link zur Detail-Ansicht). &lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| {$CONTENT}&lt;br /&gt;
| Gibt die ID des zum Artikel gehörigen Textes aus. &lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| {$TITLE}&lt;br /&gt;
| Gibt den Namen/Titel des Artikels aus. &lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| {$LEAD}&lt;br /&gt;
| Gibt den Lead-Text des Artikels aus. &lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| {$SHOWDATE}&lt;br /&gt;
| Gibt zurück, ob das Erstelldatum angezeigt werden soll. Falls ja wird TRUE, bei nein FALSE zurückgegeben. Entnimmt den Wert aus DynPG. &lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| {$CREATEDATE}&lt;br /&gt;
| Gibt das Erstelldatum des Artikels aus &lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| {$LIST_SHOW_VISTS}&lt;br /&gt;
| Gibt die Anzahl Klicks auf den Link des entsprechenden Artikel aus. &lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| {$LIST_HAS_IMAGE}&lt;br /&gt;
| Gibt zurück, ob der Artikel ein Leadbild hat. Falls ja wird TRUE, bei nein FALSE zurückgegeben. Entnimmt den Wert aus DynPG. &lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| {$LIST_IMAGE_ALIGN}&lt;br /&gt;
| Gibt die gewünschte Position des Leadbildes zurück. TOP für oben, BOTTOM für unten, LEFT für links und RIGHT für rechts. Entnimmt den Wert aus DynPG. &lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| {$IMAGE_URL}&lt;br /&gt;
| Gibt das Quellverzeichnis des Leadbildes aus. &lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| {$IMAGE_NAME}&lt;br /&gt;
| Gibt den Namen des Leadbildes aus. &lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| {$IMAGE_DESCR}&lt;br /&gt;
| Gibt die Beschreibung des Leadbildes aus. &lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Dieses Template ist zuständig für die Darstellung der Detailansicht eines Artikels. &lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;dynpgwikitable&amp;quot;&lt;br /&gt;
|+ Templatevariablen - detail.tpl&lt;br /&gt;
! &amp;lt;center&amp;gt;Platzhalter&amp;lt;/center&amp;gt;&lt;br /&gt;
! &amp;lt;center&amp;gt;Beschreibung&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| {$COND_SEGM_CATNAV}&lt;br /&gt;
| Gibt zurück, ob eine Übersichts-Navigation angezeigt werden soll. Falls ja wird TRUE, bei nein FALSE zurückgegeben. Entnimmt den Wert aus der Implementation: SetParam_A_CategoryNavigation(TRUE/FALSE); &lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| {$ROOT_NAVIGATION}&lt;br /&gt;
| Erstellt eine Übersichts-Navigation . Gruppe &amp;gt;&amp;gt; Artikel &amp;gt;&amp;gt; Titel &lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| {$LIST_USER_DEFINED_CSS}&lt;br /&gt;
| Gibt den Wert zurück, den Sie beim Implementieren unter SetParam_A_ArticleCss(...); angegeben wurde. &lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| {$COND_SEGM_HEAD}&lt;br /&gt;
| Gibt zurück, ob der Head-Bereich (im Normalfall Headtext und Beschreibung) angezeigt werden soll. Falls ja wird TRUE, bei nein FALSE zurückgegeben. Entnimmt den Wert aus der Implementation: SetParam_A_ArticleHeader(TRUE/FALSE); &lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| {$TITLE}&lt;br /&gt;
| Gibt den Namen/Titel des Artikels aus. &lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| {$LEAD}&lt;br /&gt;
| Gibt den Lead-Text des Artikels aus. &lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| {$SHOWDATE}&lt;br /&gt;
| Gibt zurück, ob das Erstelldatum angezeigt werden soll. Falls ja wird TRUE, bei nein FALSE zurückgegeben. Entnimmt den Wert aus DynPG. &lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| {$CREATEDATE}&lt;br /&gt;
| Gibt das Erstelldatum des Artikels aus &lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| {$COND_SEGM_TEXT}&lt;br /&gt;
| Gibt zurück, ob der Artikelinhalt/-text angezeigt werden soll. Falls ja wird TRUE, bei nein FALSE zurückgegeben. Entnimmt den Wert aus der Implementation: SetParam_A_ShowText(TRUE/FALSE); &lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| {$CONTENT}&lt;br /&gt;
| Gibt den zugehörigen Text des Artikels aus &lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| {$COND_SEGM_PRINTNAV}&lt;br /&gt;
| Gibt zurück, ob ein Link um den Artikel zu drucken angezeigt werden soll. Falls ja wird TRUE, bei nein FALSE zurückgegeben. Entnimmt den Wert aus der Implementation: SetParam_A_PrintNavigation(TRUE/FALSE); &lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| {$PRINT_HREF}&lt;br /&gt;
| Gibt den Link zur Druckansicht des Artikels aus. &lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| {$COND_SEGM_SEPARATOR}&lt;br /&gt;
| Gibt zurück, ob der Seperator im Text ignoriert werden soll. Falls ja wird TRUE, bei nein FALSE zurückgegeben. Entnimmt den Wert aus der Implementation: SetParam_A_IgnoreSeperator(TRUE/FALSE); &lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| {$MORE_HREF}&lt;br /&gt;
| Gibt die URL aus, die vom durch den Seperator getrennten Text zum gesamten Text führt. &lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Dieses Template ist zuständig für die Darstellung der Home-Ansicht. &lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;dynpgwikitable&amp;quot;&lt;br /&gt;
|+ Templatevariablen - home.tpl&lt;br /&gt;
! &amp;lt;center&amp;gt;Platzhalter&amp;lt;/center&amp;gt;&lt;br /&gt;
! &amp;lt;center&amp;gt;Beschreibung&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| {$LIST_INDEX}&lt;br /&gt;
| Gibt die aktuelle Anzahl (den Index) der angezeigten Artikel zurück (also beim 3. Artikel den Wert 3, beim 6. Artikel den Wert 6). &lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| {$GRP_NAME}&lt;br /&gt;
| Gibt den Gruppennamen aus. &lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| {$LIST_HEADER_EACH}&lt;br /&gt;
| &amp;amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| {$TITLE}&lt;br /&gt;
| Gibt den Namen/Titel des Artikels aus. &lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| {$LEAD}&lt;br /&gt;
| Gibt den Lead-Text des Artikels aus. &lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| {$LIST_SHOWTEXT_EACH}&lt;br /&gt;
| &amp;amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| {$CONTENT}&lt;br /&gt;
| Gibt den zugehörigen Text des Artikels aus. &lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| {$SHOWDATE}&lt;br /&gt;
| Gibt zurück, ob das Erstelldatum angezeigt werden soll. Falls ja wird TRUE, bei nein FALSE zurückgegeben. Entnimmt den Wert aus DynPG. &lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| {$CREATEDATE}&lt;br /&gt;
| Gibt das Erstelldatum des Artikels aus. &lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| {$LIST_FWD_TEXT}&lt;br /&gt;
| &amp;amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| {$LIST_REFER_TO}&lt;br /&gt;
| Enthält die URL-Adresse zur nächsttieferen Anzeige- Stufe (im falle home.tpl den Link zum gesamten Artikel). &lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Dieses Template ist zuständig für die Darstellung von Ansichten der Artikel-Listen. &lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;dynpgwikitable&amp;quot;&lt;br /&gt;
|+ Templatevariablen - navigation-page.tpl&lt;br /&gt;
! &amp;lt;center&amp;gt;Platzhalter&amp;lt;/center&amp;gt;&lt;br /&gt;
! &amp;lt;center&amp;gt;Beschreibung&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| {$PG_NAV_LASTPAGE}&lt;br /&gt;
| Gibt die Seitenzahl der Seite davor aus. &lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| {$PG_NAV_NEXTPAGE}&lt;br /&gt;
| Gibt die Seitenzahl der nächsten Seite aus. &lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| {$PG_NAV_RELPAGE}&lt;br /&gt;
| Gibt die URL der Seite aus. &lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| {$PG_NAV_SEPARATION}&lt;br /&gt;
| &amp;amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| {$PG_NAV_ISCURRENT}&lt;br /&gt;
| &amp;amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Dieses Template ist zuständig für die Darstellung von Ansichten der Artikel-Listen. &lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;dynpgwikitable&amp;quot;&lt;br /&gt;
|+ Templatevariablen - search-form.tpl&lt;br /&gt;
! &amp;lt;center&amp;gt;Platzhalter&amp;lt;/center&amp;gt;&lt;br /&gt;
! &amp;lt;center&amp;gt;Beschreibung&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| {$SEARCH_RESULTPAGE}&lt;br /&gt;
| Gibt die URL der Seite aus, auf der die Suchresultate erscheinen. &lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Die bedingte Anweisung ===&lt;br /&gt;
Folgendes Beispiel zeigt, wie man bedingte Anweisungen in seine Templates integrieren kann: &lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Beispiel 2.2. Template-Beispiel (Artikel-Detailansicht mit bedingter Anweisung)&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;[html,N]&lt;br /&gt;
&amp;lt;!--Wenn Artikelname = &amp;quot;Kontakt&amp;quot; dann Inhalt + zusätzliche Infos ausgeben--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{$# (&amp;#039;{$TITLE}&amp;#039;==&amp;#039;Kontakt&amp;#039;) #}&lt;br /&gt;
&lt;br /&gt;
{$CONTENT}&lt;br /&gt;
&lt;br /&gt;
mein &amp;lt;b&amp;gt;Lieblingsartikel&amp;lt;/b&amp;gt;!&lt;br /&gt;
&lt;br /&gt;
{$# End #}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--andernfalls nur den Inhalt ausgeben--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{$# (&amp;#039;{$TITLE}&amp;#039;!=&amp;#039;Kontakt&amp;#039;) #}&lt;br /&gt;
&lt;br /&gt;
{$CONTENT}&lt;br /&gt;
&lt;br /&gt;
{$# End #}&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
Hier wird der Text &amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;quot;mein Lieblingsartikel!&amp;quot;&amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039; nur dann ausgegeben, wenn der Artikel den Namen &amp;quot;Kontakt&amp;quot; trägt. Die Syntax für bedingte Anweisungen lautet allgemein: &lt;br /&gt;
&amp;lt;code&amp;gt;[html,N]&lt;br /&gt;
{$#(Bedingung) #}&lt;br /&gt;
&lt;br /&gt;
...&lt;br /&gt;
&lt;br /&gt;
{$# End #}&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Image:caution.png]] &amp;#039;&amp;#039;&amp;#039;Achtung&amp;#039;&amp;#039;&amp;#039; Bei Zeichenkettenvergleichen(wie in obigem Bsp.) muss darauf geachtet werden, dass auch die Templatevariablen von Anführungszeichen umgeben werden, sonst hagelt es Fehlerausschriften!&lt;br /&gt;
&lt;br /&gt;
[[Image:tip.png]] &amp;#039;&amp;#039;&amp;#039;Tipp&amp;#039;&amp;#039;&amp;#039; Die Bedingung wird als PHP-Code ausgewertet, daher können prinzipiell alle Operatoren verwendet werden, solange der Ergebnisausdruck einen Wahrheitswert liefert.&lt;br /&gt;
&lt;br /&gt;
Schauen wir uns ein Beispiel mit Negation an.&lt;br /&gt;
&amp;lt;code&amp;gt;[html,N]&lt;br /&gt;
&amp;lt;table&amp;gt;&lt;br /&gt;
    &amp;lt;tr&amp;gt;&lt;br /&gt;
      &amp;lt;td&amp;gt; {$TITLE} &amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
  {$# ({$SHOWDATE}) #}&lt;br /&gt;
    &amp;lt;tr&amp;gt;&lt;br /&gt;
      &amp;lt;td&amp;gt; Erstellt am: {$CREATEDATE} &amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
  {$# End #}&lt;br /&gt;
  {$# (!{$SHOWDATE}) #}&lt;br /&gt;
    &amp;lt;tr&amp;gt;&lt;br /&gt;
      &amp;lt;td&amp;gt; Anzeige ohne Erstelldatum &amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
  {$# End #}&lt;br /&gt;
    &amp;lt;tr&amp;gt;&lt;br /&gt;
      &amp;lt;td&amp;gt; {$CONTENT} &amp;lt;/td&amp;gt;&lt;br /&gt;
    &amp;lt;/tr&amp;gt;&lt;br /&gt;
&amp;lt;/table&amp;gt;&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Das obige Beispiel gibt den Artikel mit seinem Erstelldatum aus, falls das entsprechende Häkchen im Backend angeklickt wurde, ansonsten wird &amp;quot;Anzeige ohne Erstelldatum&amp;quot; ausgegeben.&lt;br /&gt;
&lt;br /&gt;
===  PHP-Code ===&lt;br /&gt;
&amp;lt;code&amp;gt;[html,N]&lt;br /&gt;
{$#PHP (PHP-CODE) #}&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
Mit dieser Syntax können Sie PHP-Code implementieren. Alles was in der Klammer steht, wird als PHP-Code interpretiert. Es kommt dem Tag &lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;[php,N]&lt;br /&gt;
&amp;lt;?php ... ?&amp;gt;&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
einer PHP-Seite gleich. Auch hier ein kleines Beispiel: &lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Beispiel 2.3. Template-Beispiel (Artikel-Detailansicht mit PHP-Code)&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;[html,N]&lt;br /&gt;
&amp;lt;!--Zeichenlänge des Titels anzeigen--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Die Länge des Titels beträgt {$#PHP (strlen(&amp;quot;{$TITLE}&amp;quot;)) #} Zeichen &lt;br /&gt;
&lt;br /&gt;
{$CONTENT} &amp;lt;!--Inhalt ausgeben--&amp;gt;&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Image:caution.png]] &amp;#039;&amp;#039;&amp;#039;Achtung&amp;#039;&amp;#039;&amp;#039; Am Ende eines PHP-Statements &amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039;darf kein Semikolon (&amp;quot;;&amp;quot;)&amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039; stehen, wie sonst üblich!&lt;br /&gt;
&lt;br /&gt;
== Diese Informationen als PDF ==&lt;br /&gt;
Teile dieses Artikels sind auch in [[Media:Templates.pdf|Templates.pdf]] enthalten. Diese Datei wird jedoch wahrscheinlich nicht mehr aktualisiert und ist damit nicht so aktuell wie dieser Artikel.&lt;/div&gt;</summary>
		<author><name>Sebastian</name></author>	</entry>

	<entry>
		<id>https://wiki-en.dynpg.org/wiki_de/index.php?title=CSS</id>
		<title>CSS</title>
		<link rel="alternate" type="text/html" href="https://wiki-en.dynpg.org/wiki_de/index.php?title=CSS"/>
				<updated>2009-08-17T18:38:18Z</updated>
		
		<summary type="html">&lt;p&gt;Sebastian: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{old}}&lt;br /&gt;
[[Category:Integration in eine Webseite]]&lt;br /&gt;
{{Einführungsartikel}}&lt;br /&gt;
Das Aussehen der von DynPG erzeugten Elemente (Hauptmenü, Artikel, Artikellisten, Gästebuch, ...) lässt sich mit Hilfe von CSS sehr flexibel gestalten, wenn man die richtigen Klassen und Ids kennt. In diesem Kapitel soll nun erklärt werden wie man das macht. Die wichtigsten (standardmäßig installierten) Plugins sollen hier Erwähnung finden.&lt;br /&gt;
&lt;br /&gt;
== Grundlegendes ==&lt;br /&gt;
Wie bereits erwähnt lässt sich vieles in DynPG mit Hilfe von CSS manipulieren und das Schöne ist, dass es bereits einige vorgefertigte CSS-Dateien gibt, die einem u.U. ein wenig Arbeit abnehmen. Um diese Dateien in seiner Website zu nutzen, muss man den Aufruf&lt;br /&gt;
&amp;lt;code&amp;gt;[php,N]&amp;lt;?php $DynPG-&amp;gt;Write_CSS_JS_Header(); ?&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
in den Kopf seiner Html-Datei einfügen. Wo genau er platziert werden muss, kann man [[Code-Schnipsel Einfaches Hauptmenü|hier]] sehr schön sehen. Damit werden bereits bestehende CSS-Dateien mit in die Website integriert. Hier eine Liste der vordefinierten Dateien:&lt;br /&gt;
* config_editor.css (für den Editor des Backends)&lt;br /&gt;
* config_forum.css (für das Forum-Plugin)&lt;br /&gt;
* config_general.css (allgemeine Einstellungen (Artikellisten, Gruppenlisten,...))&lt;br /&gt;
* config_votes.css (Vote-Plugin)&lt;br /&gt;
* style_counter.css (Counter-Plugin)&lt;br /&gt;
* tool.css (Backend)&lt;br /&gt;
Alle diese Dateien liegen im DynPG-Ordner im Unterverzeichnis &amp;quot;css/&amp;quot;. Zudem gibt es die CSS-Dateien der installierten Plugins, z.B. das Hauptmenü. Somit gibt es also &amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039;zwei&amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039; Möglichkeiten CSS zu verwenden, &amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039;1.&amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039; man editiert die bereits vorhandenen Dateien, die teilweise mit Kommentaren versehen sind, oder &amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039;2.&amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039; man definiert sich eigene. &lt;br /&gt;
&lt;br /&gt;
== Ein erstes kleines Beispiel ==&lt;br /&gt;
Wie immer wollen wir mit etwas praktischem beginnen. Dazu werden wir die Schriftfarbe von einem Artikel manipulieren. Der Inhalt des Artikels den wir ausgeben, soll rot gefärbt werden. Der Code der CSS-Datei:&lt;br /&gt;
&amp;lt;code&amp;gt;[css,N]&lt;br /&gt;
#dynpg_A_content {&lt;br /&gt;
	color: red;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
Mit der ID &amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039;#dynpg_A_content&amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039; können wir also ganz einfach auf die CSS-Eigenschaften des Artikelinhalts zugreifen. Eine Auflistung der CSS-IDs und -Klassen wird in den nächsten Kapiteln erfolgen. Wie die CSS-Datei eingebunden wird, sieht man in der &amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039;index.php&amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039;:&lt;br /&gt;
&amp;lt;code&amp;gt;[php,N]&lt;br /&gt;
&amp;lt;?php&lt;br /&gt;
  require &amp;#039;../../../cms/getcontent.php&amp;#039;;&lt;br /&gt;
  $DynPG-&amp;gt;SetParam_PathToRoot(&amp;#039;../../../cms/&amp;#039;);&lt;br /&gt;
?&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!DOCTYPE HTML PUBLIC &amp;quot;-//W3C//DTD HTML 4.01 Transitional//EN&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;html xmlns=&amp;quot;http://www.w3.org/1999/xhtml&amp;quot; xml:lang=&amp;quot;en-US&amp;quot; lang=&amp;quot;en-US&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;head&amp;gt;&lt;br /&gt;
    &amp;lt;title&amp;gt;Einzelner Artikel&amp;lt;/title&amp;gt;&lt;br /&gt;
    &amp;lt;meta http-equiv=&amp;quot;content-type&amp;quot; content=&amp;quot;text/html; charset=iso-8859-1&amp;quot; /&amp;gt;&lt;br /&gt;
    &amp;lt;!--Standard-Css von DynPG einbinden--&amp;gt;&lt;br /&gt;
    &amp;lt;?php $DynPG-&amp;gt;Write_CSS_JS_Header(); ?&amp;gt;&lt;br /&gt;
    &amp;lt;!--eigenes style.css einbinden--&amp;gt;&lt;br /&gt;
    &amp;lt;link rel=&amp;quot;stylesheet&amp;quot; type=&amp;quot;text/css&amp;quot; href=&amp;quot;style.css&amp;quot; /&amp;gt;&lt;br /&gt;
  &amp;lt;/head&amp;gt;&lt;br /&gt;
  &amp;lt;body&amp;gt;&lt;br /&gt;
    &amp;lt;h1&amp;gt;Artikelansicht&amp;lt;/h1&amp;gt;&lt;br /&gt;
    &amp;lt;?php&lt;br /&gt;
      $DynPG-&amp;gt;SetParam_A_Anytime(true); //Artikel von Anfang an anzeigen&lt;br /&gt;
      $DynPG-&amp;gt;SetParam_A_Article(11);   //ArtikelNr. angeben&lt;br /&gt;
      $DynPG-&amp;gt;Write_Article();          //Artikel mit der Nr. 11 ausgeben&lt;br /&gt;
    ?&amp;gt;&lt;br /&gt;
  &amp;lt;/body&amp;gt;&lt;br /&gt;
&amp;lt;/html&amp;gt;&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Und [[CSS Minimalbeispiel|hier]] nochmal das vollständige und ausführbare Beispiel.&lt;br /&gt;
&lt;br /&gt;
== CSS-Referenz ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;dynpgwikitable&amp;quot;&lt;br /&gt;
|+ CSS-Bezeichner - Artikel-Detail-Ansicht&lt;br /&gt;
! &amp;lt;center&amp;gt;Name&amp;lt;/center&amp;gt;&lt;br /&gt;
! &amp;lt;center&amp;gt;Typ&amp;lt;/center&amp;gt;&lt;br /&gt;
! &amp;lt;center&amp;gt;Beschreibung&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| dynpg_A_breadcrumb&lt;br /&gt;
| Id&lt;br /&gt;
| &amp;quot;Brotkrümel&amp;quot;-Navigation &lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| dynpg_A_header&lt;br /&gt;
| Id&lt;br /&gt;
| der Kopf des Artikels (enthält u.a. den Titel, Datum, Lead,...) &lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| dynpg_A_header_text&lt;br /&gt;
| Id&lt;br /&gt;
| der Text im Kopf des Artikels &lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| dynpg_A_header_lead&lt;br /&gt;
| Id&lt;br /&gt;
| Lead im Kopf des Artikels &lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| dynpg_A_header_date&lt;br /&gt;
| Id&lt;br /&gt;
| Datum im Kopf des Artikels &lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| dynpg_A_content&lt;br /&gt;
| Id&lt;br /&gt;
| Der gesamte Inhalt des Artikels &lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| dynpg_A_btnprint&lt;br /&gt;
| Id&lt;br /&gt;
| &amp;quot;drucken&amp;quot;-Knopf um den Artikel an den Drucker zu senden &lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| dynpg_A_more&lt;br /&gt;
| Id&lt;br /&gt;
| &amp;quot;mehr&amp;quot;-Knopf mit dem der Rest des Artikels angezeigt wird &lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| dynpg_A_edit_mode&lt;br /&gt;
| Id&lt;br /&gt;
| Knopf für den Editier-Modus mit dem man ins Backend gelangt um den Artikel zu bearbeiten. &lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;dynpgwikitable&amp;quot;&lt;br /&gt;
|+ CSS-Bezeichner - Artikellisten-Ansicht&lt;br /&gt;
! &amp;lt;center&amp;gt;Name&amp;lt;/center&amp;gt;&lt;br /&gt;
! &amp;lt;center&amp;gt;Typ&amp;lt;/center&amp;gt;&lt;br /&gt;
! &amp;lt;center&amp;gt;Beschreibung&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| dynpg_AA_breadcrumb_navi&lt;br /&gt;
| Id&lt;br /&gt;
| &amp;quot;Brotkrümel&amp;quot;-Navigation &lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| dynpg_AA_breadcrumb_pages&lt;br /&gt;
| Id&lt;br /&gt;
| Die Navigation mit der man auf die nächste Seite springen kann. (Wenn die Artikelliste groß ist wird sie auf mehrere Seiten aufgeteilt) &lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| dynpg_AA_edit_mode&lt;br /&gt;
| Id&lt;br /&gt;
| Knopf für den Editier-Modus mit dem man ins Backend gelangt um den Artikel zu bearbeiten. &lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| dynpg_AA_row_Headtext&lt;br /&gt;
| Id&lt;br /&gt;
| &amp;amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| dynpg_AA_row_Description&lt;br /&gt;
| Id&lt;br /&gt;
| &amp;amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| dynpg_AA_row_table&lt;br /&gt;
| Id&lt;br /&gt;
| &amp;amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| dynpg_AA_row_MainA&lt;br /&gt;
| Id&lt;br /&gt;
| &amp;amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| dynpg_AA_row_Main_Col_01A&lt;br /&gt;
| Id&lt;br /&gt;
| &amp;amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| dynpg_AA_row_MainB&lt;br /&gt;
| Id&lt;br /&gt;
| &amp;amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| dynpg_AA_row_Main_Col_01B&lt;br /&gt;
| Id&lt;br /&gt;
| &amp;amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;dynpgwikitable&amp;quot;&lt;br /&gt;
|+ CSS-Bezeichner - Gruppenlisten-Ansicht&lt;br /&gt;
! &amp;lt;center&amp;gt;Name&amp;lt;/center&amp;gt;&lt;br /&gt;
! &amp;lt;center&amp;gt;Typ&amp;lt;/center&amp;gt;&lt;br /&gt;
! &amp;lt;center&amp;gt;Beschreibung&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| dynpg_AG_breadcrumb_navi&lt;br /&gt;
| Id&lt;br /&gt;
| &amp;quot;Brotkrümel&amp;quot;-Navigation &lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| dynpg_AG_breadcrumb_pages&lt;br /&gt;
| Id&lt;br /&gt;
| Die Navigation mit der man auf die nächste Seite springen kann. (Wenn die Gruppenliste groß ist wird sie auf mehrere Seiten aufgeteilt) &lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| dynpg_AG_row_Headtext&lt;br /&gt;
| Id&lt;br /&gt;
| &amp;amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| dynpg_AG_row_Description&lt;br /&gt;
| Id&lt;br /&gt;
| &amp;amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| dynpg_AG_row_table&lt;br /&gt;
| Id&lt;br /&gt;
| &amp;amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| dynpg_AA_row_Main&lt;br /&gt;
| Id&lt;br /&gt;
| &amp;amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| dynpg_AA_row_Main_Col_01&lt;br /&gt;
| Id&lt;br /&gt;
| &amp;amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;dynpgwikitable&amp;quot;&lt;br /&gt;
|+ CSS-Bezeichner - Artikel-Druck-Ansicht&lt;br /&gt;
! &amp;lt;center&amp;gt;Name&amp;lt;/center&amp;gt;&lt;br /&gt;
! &amp;lt;center&amp;gt;Typ&amp;lt;/center&amp;gt;&lt;br /&gt;
! &amp;lt;center&amp;gt;Beschreibung&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| dynpg_P&lt;br /&gt;
| Id&lt;br /&gt;
| &amp;amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| dynpg_P_breadcrumb&lt;br /&gt;
| Id&lt;br /&gt;
| &amp;quot;Brotkrümel&amp;quot;-Navigation &lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| dynpg_P_header&lt;br /&gt;
| Id&lt;br /&gt;
| Kopf des Artikels &lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| dynpg_P_header_text&lt;br /&gt;
| Id&lt;br /&gt;
| Text im Kopf des Artikels &lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| dynpg_P_header_lead&lt;br /&gt;
| Id&lt;br /&gt;
| Lead im Kopf des Artikels &lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| dynpg_P_header_date&lt;br /&gt;
| Id&lt;br /&gt;
| Datum im Kopf des Artikels &lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| dynpg_P_content&lt;br /&gt;
| Id&lt;br /&gt;
| Inhalt des Artikels &lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;dynpgwikitable&amp;quot;&lt;br /&gt;
|+ CSS-Bezeichner - Home-Ansicht&lt;br /&gt;
! &amp;lt;center&amp;gt;Name&amp;lt;/center&amp;gt;&lt;br /&gt;
! &amp;lt;center&amp;gt;Typ&amp;lt;/center&amp;gt;&lt;br /&gt;
! &amp;lt;center&amp;gt;Beschreibung&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| dynpg_H&lt;br /&gt;
| Id&lt;br /&gt;
| &amp;amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| dynpg_H_EM&lt;br /&gt;
| Id&lt;br /&gt;
| &amp;amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| dynpg_H_EM_glow&lt;br /&gt;
| Id&lt;br /&gt;
| &amp;amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| dynpg_H_parentgroup&lt;br /&gt;
| Id&lt;br /&gt;
| &amp;amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| dynpg_H_header&lt;br /&gt;
| Id&lt;br /&gt;
| Kopf des Artikels &lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| dynpg_H_header_text&lt;br /&gt;
| Id&lt;br /&gt;
| Text im Kopf des Artikels &lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| dynpg_H_header_lead&lt;br /&gt;
| Id&lt;br /&gt;
| Lead im Kopf des Artikels &lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| dynpg_H_header_date&lt;br /&gt;
| Id&lt;br /&gt;
| Datum im Kopf des Artikels &lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| dynpg_H_content&lt;br /&gt;
| Id&lt;br /&gt;
| Inhalt des Artikels &lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| dynpg_H_btnprint&lt;br /&gt;
| Id&lt;br /&gt;
| &amp;quot;Drucken&amp;quot;-Knopf &lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| dynpg_H_more&lt;br /&gt;
| Id&lt;br /&gt;
| &amp;quot;mehr&amp;quot;-Knopf mit dem der Rest des Artikels angezeigt wird &lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| dynpg_H_edit_mode&lt;br /&gt;
| Id&lt;br /&gt;
| Knopf für den Editier-Modus mit dem man ins Backend gelangt um den Artikel zu bearbeiten. &lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;dynpgwikitable&amp;quot;&lt;br /&gt;
|+ CSS-Bezeichner - Suchform&lt;br /&gt;
! &amp;lt;center&amp;gt;Name&amp;lt;/center&amp;gt;&lt;br /&gt;
! &amp;lt;center&amp;gt;Typ&amp;lt;/center&amp;gt;&lt;br /&gt;
! &amp;lt;center&amp;gt;Beschreibung&amp;lt;/center&amp;gt;&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| dynpg_search_query&lt;br /&gt;
| Id&lt;br /&gt;
| &amp;amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| dynpg_search_submit&lt;br /&gt;
| Id&lt;br /&gt;
| &amp;amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Sebastian</name></author>	</entry>

	<entry>
		<id>https://wiki-en.dynpg.org/wiki_de/index.php?title=DynPG_in_eine_Webseite_einbinden</id>
		<title>DynPG in eine Webseite einbinden</title>
		<link rel="alternate" type="text/html" href="https://wiki-en.dynpg.org/wiki_de/index.php?title=DynPG_in_eine_Webseite_einbinden"/>
				<updated>2009-08-17T18:38:09Z</updated>
		
		<summary type="html">&lt;p&gt;Sebastian: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Integration_in_eine_Webseite]]&lt;br /&gt;
{{Einführungsartikel}}&lt;br /&gt;
Hier wird davon ausgegangen, dass DynPG bereits installiert und konfiguriert ist! Wenn dies nicht der Fall ist, schauen Sie zuerst im Kapitel [[:Category:Installation und Update|Installation und Update]] nach. &lt;br /&gt;
&lt;br /&gt;
Glückwunsch! DynPG ist also installiert und kann bereits, mit Hilfe des sogenannten &amp;quot;Backends&amp;quot;, konfiguriert werden. &lt;br /&gt;
&lt;br /&gt;
DynPG kann nun in jede beliebige HTML-Seite eingebunden werden. Dies geschieht, indem zuersteinmal die entsprechende HTML-Datei mit der Endung &amp;lt;tt&amp;gt;.php&amp;lt;/tt&amp;gt; versehen wird. Die eigentliche Implementierung geschieht nun durch Eingabe folgender Zeilen in die Seite:&lt;br /&gt;
&amp;lt;code&amp;gt;[php,N]&lt;br /&gt;
&amp;lt;?php&lt;br /&gt;
  require(&amp;#039;cms/getcontent.php&amp;#039;);&lt;br /&gt;
  $DynPG-&amp;gt;SetParam_PathToRoot(&amp;#039;cms/&amp;#039;);&lt;br /&gt;
?&amp;gt;&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Diese Zeilen müssen Sie auf jeder PHP-Seite, bei der Sie DynPG implementieren wollen, zuoberst unterbringen. Dies bedeutet, dass vor dem Befehl &amp;lt;tt&amp;gt;&amp;lt;?php&amp;lt;/tt&amp;gt; kein Zeichen an den Browser versandt werden durfte (d.h. weder Sonderzeichen noch sonstige, nicht in PHP-Bereiche geschriebene Zeichen).&lt;br /&gt;
&lt;br /&gt;
Die erste Zeile muss den Pfad der Datei getcontent.php enthalten, ausgehend vom Verzeichnis in der die PHP Datei gespeichert ist. Änderungen sind hier nur nötig, wenn Sie DynPG nicht im Ordner &amp;quot;cms&amp;quot; installiert haben.&lt;br /&gt;
&lt;br /&gt;
In der zweiten Zeile geben Sie das Verzeichnis an, indem Sie DynPG installiert haben. Dabei ist immer von dem Verzeichnis auszugehen, in der Sie diese Datei gespeichert haben. Um ein höheres Verzeichnis zu erreichen schreiben Sie zwei Punkte ( &amp;lt;tt&amp;gt;..&amp;lt;/tt&amp;gt; ). Jede Ordnerangabe müssen Sie mit einem &amp;quot;Slash&amp;quot; ( &amp;lt;tt&amp;gt;/&amp;lt;/tt&amp;gt; ) abschliessen. Dazu ein Beispiel:&lt;br /&gt;
&lt;br /&gt;
* Datei &amp;quot;beispielseite.php&amp;quot; liegt im Verzeichnis &amp;quot;seiten/beispielseite.php&amp;quot;.&lt;br /&gt;
* die Dateien von DynPG sind im Verzeichnis &amp;quot;programme/cms/&amp;quot; gespeichert.&lt;br /&gt;
* die Ordner &amp;quot;seiten&amp;quot; und &amp;quot;programme&amp;quot; befinden sich im selben Verzeichnis&lt;br /&gt;
* die Pfadangabe sieht folgendermaßen aus:&lt;br /&gt;
:&amp;lt;code&amp;gt;[php,N]SetParam_PathToRoot(&amp;#039;../programme/cms/&amp;#039;);&amp;lt;/code&amp;gt;&lt;br /&gt;
* und zur Datei getcontent.php so:&lt;br /&gt;
:&amp;lt;code&amp;gt;[php,N]require(&amp;#039;../programme/cms/getcontent.php&amp;#039;);&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Minimalbeispiel ==&lt;br /&gt;
Nun will ich daran gehen ein Minimalbeispiel für die Einbindung in eine Website zu zeigen. Wir erstellen nun eine Datei mit bspw. dem Namen &amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;quot;index.php&amp;quot;&amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039;. Die Ordnerstruktur könnte dann in etwa so aussehen: &lt;br /&gt;
&lt;br /&gt;
[[Image:sample1_dirstructure.jpg|Abbildung 2.1. Ordnerstruktur des Minimalbeispiels]]&lt;br /&gt;
&lt;br /&gt;
Im Ordner &amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;quot;cms&amp;quot;&amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039; ist also unser CMS installiert. Nun füllen wir die Datei mit etwas Standard-Html-Code: &lt;br /&gt;
{{-}}&lt;br /&gt;
&amp;lt;code&amp;gt;[php, N]&lt;br /&gt;
&amp;lt;!DOCTYPE HTML PUBLIC &amp;quot;-//W3C//DTD HTML 4.01 Transitional//EN&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;html xmlns=&amp;quot;http://www.w3.org/1999/xhtml&amp;quot; xml:lang=&amp;quot;en-US&amp;quot; lang=&amp;quot;en-US&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;head&amp;gt;&lt;br /&gt;
	&amp;lt;title&amp;gt;Minimalbeispiel&amp;lt;/title&amp;gt;&lt;br /&gt;
	&amp;lt;meta http-equiv=&amp;quot;content-type&amp;quot; content=&amp;quot;text/html; charset=iso-8859-1&amp;quot; /&amp;gt;&lt;br /&gt;
&amp;lt;/head&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;body&amp;gt;&lt;br /&gt;
	Hallo Welt!&lt;br /&gt;
&amp;lt;/body&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/html&amp;gt;&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Nun wollen wir DynPG einbinden und dazu schreiben wir die folgenden Zeilen in den Kopf von &amp;quot;index.php&amp;quot;: &lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;[php, N]&lt;br /&gt;
&amp;lt;?php&lt;br /&gt;
  require &amp;#039;cms/getcontent.php&amp;#039;;&lt;br /&gt;
  $DynPG-&amp;gt;SetParam_PathToRoot(&amp;#039;cms/&amp;#039;);&lt;br /&gt;
?&amp;gt;&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Dieser Code dient dazu alle Funktionalitäten von DynPG in der aktuellen HTML-Datei verfügbar zu machen. In Zeile 3 muss der relative Pfad zu dem DynPG-Ordner (hier &amp;quot;cms/&amp;quot;) stehen. &lt;br /&gt;
&lt;br /&gt;
[[Image:caution.png]] &amp;#039;&amp;#039;&amp;#039;Achtung!&amp;#039;&amp;#039;&amp;#039; Diese beiden Zeilen müssen unbedingt an oberster Stelle in der Datei stehen (ohne führende Freizeile!!)&lt;br /&gt;
&lt;br /&gt;
Nun können wir also loslegen. Wir wollen alle Gruppen (bei der Installation von DynPG wurden bereits automatisch Gruppen erzeugt!) in unserer Datenbank anzeigen lassen. Dazu fügen wir die folgenden Zeilen &amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039;zwischen die body-tags&amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039; unserer HTML-Seite ein: &lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;[php, N]&lt;br /&gt;
&amp;lt;?php&lt;br /&gt;
  $DynPG-&amp;gt;SetParam_AG_Anytime(true);&lt;br /&gt;
  $DynPG-&amp;gt;Write_AllGroups();&lt;br /&gt;
?&amp;gt;&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Was genau das alles bedeutet, dazu werde ich später kommen, wenn wir aber alles richtig gemacht haben, dann müsste bei aufrufen der Seite nun folgende Ausgabe zu sehen sein: &lt;br /&gt;
&lt;br /&gt;
[[Image:frontend_example1.jpg|Abbildung 2.2. Ausgabe des Minimalbeispiels|200px]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Der komplette Code der HTML-Datei kann [[Code-Schnipsel Minimalbeispiel|hier]] heruntergeladen werden.&lt;/div&gt;</summary>
		<author><name>Sebastian</name></author>	</entry>

	<entry>
		<id>https://wiki-en.dynpg.org/wiki_de/index.php?title=Die_drei_Ansichten_von_DynPG</id>
		<title>Die drei Ansichten von DynPG</title>
		<link rel="alternate" type="text/html" href="https://wiki-en.dynpg.org/wiki_de/index.php?title=Die_drei_Ansichten_von_DynPG"/>
				<updated>2009-08-17T18:37:40Z</updated>
		
		<summary type="html">&lt;p&gt;Sebastian: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Integration in eine Webseite]]&lt;br /&gt;
{{Einführungsartikel}}&lt;br /&gt;
== Die Ansichten ==&lt;br /&gt;
&lt;br /&gt;
Im [[Ein erstes kleines Beispiel|vorigen Kapitel]] konnten Sie sich davon überzeugen, wie einfach es ist mit DynPG zu einem ersten Resultat zu kommen. In dem Beispiel wurde nämlich die sogenannte Gruppenliste demonstriert. Insgesamt gibt es drei Ansichten: &lt;br /&gt;
&lt;br /&gt;
* Gruppenliste (nachfolgend &amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039;AG&amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039; genannt)&lt;br /&gt;
* Artikelliste (&amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039;AA&amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039;)&lt;br /&gt;
* Artikel-Detailansicht (&amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039;A&amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039;)&lt;br /&gt;
&lt;br /&gt;
Die &amp;#039;&amp;#039;Gruppenlisten-Ansicht&amp;#039;&amp;#039; gibt einfach alle Gruppen(-namen) die in der Datenbank vorhanden sind aus. In der &amp;#039;&amp;#039;Artikellisten-Ansicht&amp;#039;&amp;#039; kann man sich die Artikel(-namen) einer bestimmten Gruppe anzeigen lassen und die &amp;#039;&amp;#039;Artikel-Detailansicht&amp;#039;&amp;#039; zeigt letztlich den Artikelinhalt eines bestimmten Artikels an. Alle drei Ansichten haben natürlich gewisse Parameter, die die Ausgabe beeinflussen und diesen Parametern und Aufrufen werden wir uns nach und nach widmen.&lt;br /&gt;
&lt;br /&gt;
=== Integration einer Artikel-Detailansicht ===&lt;br /&gt;
&lt;br /&gt;
Dies ist die tiefste Anzeigestufe. Mit der Integration des einzelnen Artikels, wird ein bestimmter Artikel in der Detailansicht angezeigt. Durch diverse Parameterangaben können Sie weitere Einstellungen vornehmen.&lt;br /&gt;
&lt;br /&gt;
Die Artikel-Detailansicht implementieren Sie durch folgenden PHP Code:&lt;br /&gt;
&amp;lt;code&amp;gt;[php,Y]&lt;br /&gt;
&amp;lt;?php&lt;br /&gt;
  $DynPG-&amp;gt;SetParam_A_Anytime(true);&lt;br /&gt;
  $DynPG-&amp;gt;SetParam_A_Article(1);&lt;br /&gt;
  $DynPG-&amp;gt;Write_Article();&lt;br /&gt;
?&amp;gt;&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Erläuterung:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
*Zeile 2: &amp;lt;tt&amp;gt;$DynPG-&amp;gt;SetParam_A_Anytime(true);&amp;lt;/tt&amp;gt;&lt;br /&gt;
:Dieser Parameter weist DynPG an, diesen Artikel ständig anzuzeigen und nicht nur dann, wenn dies durch den Kontext vorgegeben ist (d.h. wenn ein Benutzer durch eine Artikelliste oder andere Elemente mit dynamischen Artikellisten auf diese Seite gelangen). Wenn Sie einen Artikel einzeln anzeigen, muss dieser Parameter stets auf true gesetzt sein.&lt;br /&gt;
*Zeile 3: &amp;lt;tt&amp;gt;$DynPG-&amp;gt;SetParam_A_Article(19);&amp;lt;/tt&amp;gt;&lt;br /&gt;
:Hier müssen Sie angeben, welchen Artikel Sie anzeigen möchten. Schreiben Sie einfach die Artikelnummer, die automatisch von DynPG zugewiesen wurde, als Sie den Artikel erstellt haben.&lt;br /&gt;
*Zeile 4: &amp;lt;tt&amp;gt;$DynPG-&amp;gt;Write_Article();&amp;lt;/tt&amp;gt;&lt;br /&gt;
:Diese Methode erstellt die Detailansicht des Artikels. Sie muss zwingend der letzte Aufruf auf dieser Ebene sein. Hier dürfen Sie keine Änderungen vornehmen.&lt;br /&gt;
&lt;br /&gt;
Weitere mögliche Parameter entnehmen Sie der [[Funktionsreferenz]].&lt;br /&gt;
&lt;br /&gt;
=== Integration einer Artikel-Liste ===&lt;br /&gt;
&lt;br /&gt;
Dies ist die zweittiefste Anzeigestufe. Mit der Integration der Artikel-Liste, wird grundsätzlich eine Liste aller Artikel einer Gruppe angezeigt. Bei einem Klick auf einen der Artikel, wird dieser in der Detailansicht angezeigt. Deshalb muss zuerst eine Artikel-Liste implementiert werden und direkt darunter der einzelne Artikel. Auch hier können Sie Parameter setzen und so weitere Einstellungen vornehmen.&lt;br /&gt;
&lt;br /&gt;
Die Artikel-Liste implementieren Sie durch folgenden PHP Code (muss innerhalb des &amp;quot;body&amp;quot;-Tags stehen):&lt;br /&gt;
&amp;lt;code&amp;gt;[php,Y]&lt;br /&gt;
&amp;lt;?php&lt;br /&gt;
  $DynPG-&amp;gt;SetParam_AA_Anytime(true);&lt;br /&gt;
  $DynPG-&amp;gt;SetParam_AA_Group(&amp;quot;Gruppenname&amp;quot;);&lt;br /&gt;
  $DynPG-&amp;gt;Write_AllArticles();&lt;br /&gt;
?&amp;gt;&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Erläuterung:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
*Zeile 2: &amp;lt;tt&amp;gt;$DynPG-&amp;gt;SetParam_AA_Anytime(true);&amp;lt;/tt&amp;gt;&lt;br /&gt;
:Dieser Parameter weist DynPG an, diese Artikelliste ständig anzuzeigen und nicht nur dann, wenn dies durch den Kontext vorgegeben ist (d.h. wenn ein Benutzer durch eine Artikelliste oder andere Elemente mit dynamischen Artikellisten auf diese Seite gelangen).&lt;br /&gt;
*Zeile 3: &amp;lt;tt&amp;gt;$DynPG-&amp;gt;SetParam_AA_Group(&amp;quot;News&amp;quot;);&amp;lt;/tt&amp;gt;&lt;br /&gt;
:Geben Sie hier den Namen der Gruppe an, von der Sie eine Artikel-Listenansicht angezeigt haben wollen. In diesem Beispiel würde eine Liste der Artikel in der Gruppe &amp;quot;News&amp;quot; angezeigt werden.&lt;br /&gt;
*Zeile 4: &amp;lt;tt&amp;gt;$DynPG-&amp;gt;Write_AllArticles();&amp;lt;/tt&amp;gt;&lt;br /&gt;
:Diese Methode erstellt die Artikel-Liste. Hier dürfen Sie keine Änderungen vornehmen.&lt;br /&gt;
&lt;br /&gt;
Nach dem Aufruf der Methode &amp;lt;tt&amp;gt;Write_AllArticles()&amp;lt;/tt&amp;gt; müssen Sie nun die Einstellungen für die Detailansicht eines Artikels vornehmen. Diese sind natürlich identisch mit denen aus Kapitel [[#Integration einer Artikel-Detailansicht]], deshalb werden Sie hier nicht noch mal erläutert. Am Ende muss wiederum die Methode &amp;lt;tt&amp;gt;Write_Article();&amp;lt;/tt&amp;gt; stehen. Eine Implementierung einer Artikel-Liste könnte also beispielsweise so Aussehen:&lt;br /&gt;
&amp;lt;code&amp;gt;[php,N]&lt;br /&gt;
&amp;lt;?php&lt;br /&gt;
  $DynPG-&amp;gt;SetParam_AA_Anytime(true);&lt;br /&gt;
  $DynPG-&amp;gt;SetParam_AA_Group(&amp;quot;Gruppenname&amp;quot;);&lt;br /&gt;
  $DynPG-&amp;gt;Write_AllArticles();&lt;br /&gt;
  $DynPG-&amp;gt;Write_Article();&lt;br /&gt;
?&amp;gt;&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Weitere mögliche Parameter entnehmen Sie der [[Funktionsreferenz]].&lt;br /&gt;
&lt;br /&gt;
=== Integration einer Gruppen-Liste ===&lt;br /&gt;
&lt;br /&gt;
Wie es der Name schon verrät, werden in der Gruppen-Liste alle Gruppen in einer Liste aufgereiht. Bei einem Klick auf eine der Gruppen, wird von dieser eine Artikel-Liste angezeigt oder wenn weitere Untergruppen bestehen eine Gruppen-Liste der Untergruppen. Von der Artikel-Liste gelangt man mittels Link zu der Detailansicht. Deshalb muss zuerst eine Gruppen-Liste, dann eine Artikel-Liste und zuletzt die Detailansicht eines Artikels implementiert werden. Auch hier können Sie Parameter setzen und so weitere Einstellungen vornehmen und zusätzliche Optionen ein oder ausblenden.&lt;br /&gt;
&lt;br /&gt;
Die Gruppen-Liste implementieren Sie durch folgenden PHP Code:&lt;br /&gt;
&amp;lt;code&amp;gt;[php,Y]&lt;br /&gt;
&amp;lt;?php&lt;br /&gt;
  $DynPG-&amp;gt;SetParam_AG_Anytime(true);&lt;br /&gt;
  $DynPG-&amp;gt;Write_AllGroups();&lt;br /&gt;
?&amp;gt;&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Erläuterung:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
*Zeile 3: &amp;lt;tt&amp;gt;$DynPG-&amp;gt;Write_AllGroups();&amp;lt;/tt&amp;gt;&lt;br /&gt;
:Diese Methode erstellt die Gruppen-Liste. Hier dürfen Sie keine Änderungen vornehmen.&lt;br /&gt;
&lt;br /&gt;
Nach dem Aufruf der Methode &amp;lt;tt&amp;gt;Write_AllGroups()&amp;lt;/tt&amp;gt; müssen Sie nun die Einstellungen für die Artikel-Liste und danach die Einstellungen für die Detaiansicht eines Artikels vornehmen. Diese sind natürlich identisch mit denen aus Kapitel [[#Integration einer Artikel-Detailansicht]] und [[#Integration einer Artikel-Liste]], deshalb werden Sie hier nicht noch mal erläutert. Am Ende der entsprechenden Ansicht muss wiederum die Methode &amp;lt;tt&amp;gt;Write_AllArticles();&amp;lt;/tt&amp;gt; bzw. &amp;lt;tt&amp;gt;Write_Article();&amp;lt;/tt&amp;gt; stehen.&lt;br /&gt;
&lt;br /&gt;
Eine komplette Implementierung einer Gruppen-Liste könnte also beispielsweise so aussehen:&lt;br /&gt;
&amp;lt;code&amp;gt;[php,N]&lt;br /&gt;
&amp;lt;?php&lt;br /&gt;
  $DynPG-&amp;gt;SetParam_AG_Anytime(true);&lt;br /&gt;
  $DynPG-&amp;gt;Write_AllGroups();&lt;br /&gt;
  $DynPG-&amp;gt;Write_AllArticles();&lt;br /&gt;
  $DynPG-&amp;gt;Write_Article();&lt;br /&gt;
?&amp;gt;&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Weitere mögliche Parameter entnehmen Sie der [[Funktionsreferenz]].&lt;br /&gt;
&lt;br /&gt;
== Weiterführung des Beispiels ==&lt;br /&gt;
&lt;br /&gt;
Zur Veranschaulichung erweitern wir nun unser bestehendes Beispiel, dieses wird um ein paar nette Funktionen verfeinert. Zusätzlich zur Gruppenliste sollen auch die Untergruppen bzw. die Artikel die in diesen Gruppen existieren, angezeigt werden. Damit sind wir dann bereits in der Lage durch unsere Gruppen zu navigieren und vorhandene Artikel darzustellen. &lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;[php,N]&lt;br /&gt;
&amp;lt;?php&lt;br /&gt;
  $DynPG-&amp;gt;SetParam_AA_Anytime(false);&lt;br /&gt;
  $DynPG-&amp;gt;Write_AllArticles();&lt;br /&gt;
&lt;br /&gt;
  $DynPG-&amp;gt;SetParam_A_Anytime(false);&lt;br /&gt;
  $DynPG-&amp;gt;Write_Article();&lt;br /&gt;
?&amp;gt;&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Nun wird nicht mehr nur eine starre Gruppenliste angezeigt! Es existiert jetzt eine komplette Navigation! (den vollständigen Code des Beispiels finden sie [[Code-Schnipsel Alle Ansichten (komplette Navigation)|hier]]) &lt;br /&gt;
&lt;br /&gt;
Nun zur Erklärung der beiden vorangegangenen Beispiele. Was die einzelnen Funktionen genau tun werde ich hier nicht erörtern (das können Sie in der [[Funktionsreferenz]] nachlesen), aber ich werde erklären wie sie zusammenspielen. Schauen wir zuerst den Aufruf &lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;[php,N]&lt;br /&gt;
  $DynPG-&amp;gt;SetParam_AG_Anytime(true);&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
aus Beispiel 1 (das Minimalbeispiel) an. Der Präfix &amp;quot;SetParam&amp;quot; kündigt schon an, dass hierbei ein Parameter gesetzt wird, es gibt mehrere solcher Funktionen. &amp;quot;AG&amp;quot; (wie schon aus obiger Tabelle bekannt) steht für die Gruppenlisten-Ansicht. Die Funktion bewirkt, dass die Gruppenliste von Anfang an (beim Aufruf der Seite) angezeigt wird und nicht nur dann, wenn dies durch den Kontext vorgegeben ist (d.h. wenn ein Benutzer durch eine Artikelliste oder andere Elemente mit dynamischen Artikellisten auf diese Seite gelangt). würden wir der Funktion das Argument &amp;quot;false&amp;quot; übergeben, so wäre dies folglich nicht der Fall. Nun wurde also ein Parameter gesetzt der die folgende Funktion &lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;[php,N]&lt;br /&gt;
  $DynPG-&amp;gt;Write_AllGroups();&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
in eben genannter Weise beeinflusst. &lt;br /&gt;
&lt;br /&gt;
Im Beispiel 2 (komplette Navigation) funktioniert das alles analog, nur dass wir eben die Parameter- und Ausgabefunktionen auch für die Artikellistenansicht (AA) und die Artikel-Detailansicht (A) aufrufen. Es fällt allerdings auf, dass bei den &amp;quot;SetParam&amp;quot;-Funktionen als Argument &amp;quot;false&amp;quot; übergeben wird. Dies ist nötig, denn wir wollen die Artikellisten und Artikel die sich in einer Gruppe befinden ja nur dann ausgeben, wenn der Kontext es vorgibt (also dann wenn der Nutzer auf die Gruppe geklickt hat) und nicht von Anfang an! &lt;br /&gt;
&lt;br /&gt;
[[Image:note.png]] &amp;#039;&amp;#039;&amp;#039;Anmerkung&amp;#039;&amp;#039;&amp;#039; Die Reihenfolge von &amp;quot;Write_AllGroups()&amp;quot;, &amp;quot;Write_AllArticles()&amp;quot; und &amp;quot;Write_Article()&amp;quot; im Code ist beliebig!&lt;br /&gt;
&lt;br /&gt;
Nun können Sie daran gehen die Ansicht von Beispiel 2 weiter zu beeinflussen, z.B. mit: &lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;[php,N]&lt;br /&gt;
  $DynPG-&amp;gt;SetParam_AG_ForceNav(false);&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Dadurch wird die &amp;quot;Zurück-Weiter-Navigation&amp;quot; abgeschaltet. Weitere nützliche Parameter-Funktionen finden Sie in der [[Funktionsreferenz]].&lt;/div&gt;</summary>
		<author><name>Sebastian</name></author>	</entry>

	<entry>
		<id>https://wiki-en.dynpg.org/wiki_de/index.php?title=Vorlage:Einf%C3%BChrungsartikel</id>
		<title>Vorlage:Einführungsartikel</title>
		<link rel="alternate" type="text/html" href="https://wiki-en.dynpg.org/wiki_de/index.php?title=Vorlage:Einf%C3%BChrungsartikel"/>
				<updated>2009-08-17T18:37:20Z</updated>
		
		<summary type="html">&lt;p&gt;Sebastian: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;div style=&amp;quot;border-style:solid; border-width:2px; border-color:#2D7FBD; background-color:#E5F4FB; padding:5px&amp;quot;&amp;gt;&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039;Dieser Artikel ist Teil einer Reihe von Einführungsartikeln zu DynPG&amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
[[Ein erstes kleines Beispiel]] &amp;amp;#124;&lt;br /&gt;
[[Die drei Ansichten von DynPG]] &amp;amp;#124;&lt;br /&gt;
[[Funktionsreferenz/Globals]] &amp;amp;#124;&lt;br /&gt;
[[CSS]] &amp;amp;#124;&lt;br /&gt;
[[Templates]] &amp;amp;#124;&lt;br /&gt;
[[Implementation eines kompletten Hauptmenüs]]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
{{-}}&lt;/div&gt;</summary>
		<author><name>Sebastian</name></author>	</entry>

	<entry>
		<id>https://wiki-en.dynpg.org/wiki_de/index.php?title=Vorlage:Einf%C3%BChrungsartikel</id>
		<title>Vorlage:Einführungsartikel</title>
		<link rel="alternate" type="text/html" href="https://wiki-en.dynpg.org/wiki_de/index.php?title=Vorlage:Einf%C3%BChrungsartikel"/>
				<updated>2009-08-17T18:35:00Z</updated>
		
		<summary type="html">&lt;p&gt;Sebastian: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;div style=&amp;quot;border-style:solid; border-width:2px; border-color:#2D7FBD; background-color:#E5F4FB; padding:5px&amp;quot;&amp;gt;&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039;Dieser Artikel ist Teil einer Reihe von Einführungsartikeln zu DynPG&amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
[[Ein erstes kleines Beispiel]] &amp;amp;#124;&lt;br /&gt;
[[Die drei Ansichten von DynPG]] &amp;amp;#124;&lt;br /&gt;
[[Funktionsreferenz/Globals]] &amp;amp;#124;&lt;br /&gt;
[[CSS]] &amp;amp;#124;&lt;br /&gt;
[[Templates]] &amp;amp;#124;&lt;br /&gt;
[[Implementation eines kompletten Hauptmenüs]]&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
{{--}}&lt;/div&gt;</summary>
		<author><name>Sebastian</name></author>	</entry>

	<entry>
		<id>https://wiki-en.dynpg.org/wiki_de/index.php?title=Dynamische_Navigation</id>
		<title>Dynamische Navigation</title>
		<link rel="alternate" type="text/html" href="https://wiki-en.dynpg.org/wiki_de/index.php?title=Dynamische_Navigation"/>
				<updated>2009-08-17T16:12:27Z</updated>
		
		<summary type="html">&lt;p&gt;Sebastian: /* CSS */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Kategorie:Module]]&lt;br /&gt;
==Beschreibung==&lt;br /&gt;
Die dynamische Navigation ist Bestandteil des kostenlosen Grundmoduls von DynPG und bereits im Standard-DynPG integriert. Es ist keine separate Installation notwendig. Sie ermöglicht es Ihnen einfach und flexibel Navigationen auf Ihrer Homepage zu erstellen. Die Anwendungsmöglichkeiten gestalten sich dabei flexibel als normales Menü oder auch als Sitemap.&lt;br /&gt;
&lt;br /&gt;
Ein dynamisches Menü bildet die Gruppenstruktur im Backend, also die Abfolge von Gruppen, Untergruppen und Artikeln in einer Gruppe, als Menü ab, macht also die logische Struktur ihrer Artikel aus dem Backend auf einer Webseite sichtbar und navigierbar. &lt;br /&gt;
&lt;br /&gt;
Der Vorteil ist, dass man im Backend neue Gruppen o.ä. erstellt und diese dann im Hauptmenü erscheinen. Dies ist auch bei Untergruppen nützlich,&lt;br /&gt;
z.B. wenn eine neue Untergruppe &amp;#039;&amp;#039;Lokalnachrichten&amp;#039;&amp;#039; zur Hauptgruppe &amp;#039;&amp;#039;News&amp;#039;&amp;#039; hinzukommt.&lt;br /&gt;
&lt;br /&gt;
Zum Verständnis der Funktionsvielfalt der dynamischen Navigation ist es hilfreich, einmal eine der [[Muster-Web-Sites|Musterwebsites]] zu installieren und in den entsprechenden Dateien der Musterwebsite die unten erklärten Einstellungsmöglichkeiten nachzuvollziehen und vielleicht auch einmal mit den Optionen herumzuspielen.&lt;br /&gt;
&lt;br /&gt;
==Einrichten==&lt;br /&gt;
&amp;#039;&amp;#039;Anmerkung: Benutzen sie die [[Muster-Web-Sites|Musterwebsites]], so müssen die nachfolgenden zwei Schritte nicht ausgeführt werden, da die dynamische Navigation bereits in den Musterwebsites genutzt wird&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
===Schritt 1: Artikel erstellen mit Platzhalter für die dynamische Navigation===&lt;br /&gt;
Wählen Sie im Menü des Backends &amp;#039;&amp;#039;Gruppen&amp;#039;&amp;#039; aus [[Media:dynmenue01.png|Klick]]. Suchen Sie sich nun eine Gruppe, in der Sie einen Artikel erfassen wollen. Hier wählen wir (die in diesem Falle schon vorhandene) Gruppe &amp;#039;&amp;#039;Startseite/Navigation/Formular&amp;#039;&amp;#039; durch Klick auf ihren Namen aus [[Media:dynmenue02.png|Klick]].&lt;br /&gt;
&lt;br /&gt;
Mit einem Klick auf &amp;#039;&amp;#039;Artikel Formular anzeigen&amp;#039;&amp;#039; [[Media:dynmenue03.PNG|Klick]] und danach auf &amp;#039;&amp;#039;Inhalt bearbeiten&amp;#039;&amp;#039; [[Media:dynmenue04.PNG|Klick]] erscheint der Editor.&lt;br /&gt;
&lt;br /&gt;
In diesem wählen Sie das Symbol für die dynamische Navigation [[Media:dynmenue05.PNG|Klick]], geben noch einen Titel, etwa &amp;#039;&amp;#039;Neue Seitennavigation&amp;#039;&amp;#039;, ein und bestätigen mit einem Klick auf &amp;#039;&amp;#039;Erstellen&amp;#039;&amp;#039; [[Media:dynmenue06.PNG|Klick]]. &lt;br /&gt;
&lt;br /&gt;
Hat alles geklappt, können Sie im unteren Teil der Seite den neuen Artikel sehen [[Media:dynmenue07.PNG|Klick]]. Die Nummer des Artikels benötigen Sie erneut, wenn Sie in eine PHP-Datei mittels eines Globals die dynamische Navigation einbinden.&lt;br /&gt;
&lt;br /&gt;
===Schritt 2: PHP-Datei für die dynamische Navigation erstellen===&lt;br /&gt;
Folgende Ordner-Struktur könnte bei Ihnen vorliegen:&lt;br /&gt;
:*&amp;lt;tt&amp;gt;http-docs/dynpg&amp;lt;/tt&amp;gt; : hier liegt das DynPG-CMS&lt;br /&gt;
:*&amp;lt;tt&amp;gt;http-docs/index.php&amp;lt;/tt&amp;gt; : die Hauptseite Ihrer Website&lt;br /&gt;
:*&amp;lt;tt&amp;gt;http-docs/folgeseite.php&amp;lt;/tt&amp;gt; : eine andere PHP-Datei der Website&lt;br /&gt;
:*&amp;lt;tt&amp;gt;http-docs/inc/navi.php&amp;lt;/tt&amp;gt; : In diese Datei platziert man häufig den Code für die Navigation, dadurch ist er leichter wiederverwendbar&lt;br /&gt;
&lt;br /&gt;
Den nötigen Code der &amp;lt;tt&amp;gt;inc/navi.php&amp;lt;/tt&amp;gt; kann man anhand der [[Muster-Web-Sites|Musterwebsites]] nachvollziehen (Für eine genauere Erklärung der einzelnen verwendeten Globals siehe die [[Funktionsreferenz/Globals|Globals-Übersicht von DynPG]] und weiter unten die [[#Globalsreferenz|Funktionsübersicht der dynamischen Navigation]]) :&lt;br /&gt;
:*&amp;#039;&amp;#039;&amp;#039;&amp;lt;tt&amp;gt;inc/navi.php&amp;lt;/tt&amp;gt;:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;code&amp;gt;[php, N]&lt;br /&gt;
&amp;lt;?php&lt;br /&gt;
  $GLOBALS[&amp;quot;DynPG&amp;quot;]-&amp;gt;SetParam_PlugIn_Template(&amp;#039;DPGdynmenu&amp;#039;, &amp;#039;intelligent&amp;#039;);&lt;br /&gt;
  $GLOBALS[&amp;quot;DynPG&amp;quot;]-&amp;gt;SetParam_PlugIn_Param(&amp;#039;DPGdynmenu&amp;#039;, &amp;#039;real_expand&amp;#039;, TRUE);&lt;br /&gt;
  $GLOBALS[&amp;quot;DynPG&amp;quot;]-&amp;gt;SetParam_PlugIn_Param(&amp;#039;DPGdynmenu&amp;#039;, &amp;#039;order&amp;#039;, Array(&amp;#039;INDEX&amp;#039;));&lt;br /&gt;
  $GLOBALS[&amp;quot;DynPG&amp;quot;]-&amp;gt;SetParam_PlugIn_Param(&amp;#039;DPGdynmenu&amp;#039;, &amp;#039;sort&amp;#039;, Array(&amp;#039;ASC&amp;#039;));&lt;br /&gt;
  $GLOBALS[&amp;quot;DynPG&amp;quot;]-&amp;gt;SetParam_PlugIn_Param(&amp;#039;DPGdynmenu&amp;#039;, &amp;#039;href_page_groups&amp;#039;, &amp;#039;../folgeseite.php&amp;#039;);&lt;br /&gt;
  $GLOBALS[&amp;quot;DynPG&amp;quot;]-&amp;gt;SetParam_PlugIn_Param(&amp;#039;DPGdynmenu&amp;#039;, &amp;#039;href_page_articles&amp;#039;, &amp;#039;../folgeseite.php&amp;#039;);&lt;br /&gt;
  $GLOBALS[&amp;quot;DynPG&amp;quot;]-&amp;gt;SetParam_PlugIn_Param(&amp;#039;DPGdynmenu&amp;#039;, &amp;#039;href_page_detail&amp;#039;, &amp;#039;../folgeseite.php&amp;#039;);&lt;br /&gt;
  $GLOBALS[&amp;quot;DynPG&amp;quot;]-&amp;gt;SetParam_PlugIn_Param(&lt;br /&gt;
    &amp;#039;DPGdynmenu&amp;#039;,&lt;br /&gt;
    &amp;#039;href_subpages&amp;#039;,&lt;br /&gt;
    Array(&lt;br /&gt;
      0 =&amp;gt; Array(&lt;br /&gt;
        &amp;#039;page&amp;#039; =&amp;gt; &amp;#039;../formular.php{query}&amp;#039;,&lt;br /&gt;
        &amp;#039;successors&amp;#039; =&amp;gt; true&lt;br /&gt;
      ),&lt;br /&gt;
      21 =&amp;gt; Array(&lt;br /&gt;
        &amp;#039;page&amp;#039; =&amp;gt; &amp;#039;../blog.php{query}&amp;#039;,&lt;br /&gt;
        &amp;#039;successors&amp;#039; =&amp;gt; true&lt;br /&gt;
      ),&lt;br /&gt;
      15 =&amp;gt; Array(&lt;br /&gt;
        &amp;#039;page&amp;#039; =&amp;gt; &amp;#039;../sitemap.php{query}&amp;#039;,&lt;br /&gt;
        &amp;#039;successors&amp;#039; =&amp;gt; true&lt;br /&gt;
      ),&lt;br /&gt;
      16 =&amp;gt; Array(&lt;br /&gt;
        &amp;#039;page&amp;#039; =&amp;gt; &amp;#039;../veranstaltungen.php{query}&amp;#039;,&lt;br /&gt;
        &amp;#039;successors&amp;#039; =&amp;gt; true&lt;br /&gt;
      ),&lt;br /&gt;
      21 =&amp;gt; Array(&lt;br /&gt;
        &amp;#039;page&amp;#039; =&amp;gt; &amp;#039;../blog.php{query}&amp;#039;,&lt;br /&gt;
        &amp;#039;successors&amp;#039; =&amp;gt; true&lt;br /&gt;
      ),&lt;br /&gt;
      6 =&amp;gt; Array(&lt;br /&gt;
        &amp;#039;page&amp;#039; =&amp;gt; &amp;#039;../index.php{query}&amp;#039;,&lt;br /&gt;
        &amp;#039;successors&amp;#039; =&amp;gt; true&lt;br /&gt;
      )&lt;br /&gt;
    )&lt;br /&gt;
  );    &lt;br /&gt;
  $GLOBALS[&amp;quot;DynPG&amp;quot;]-&amp;gt;SetupTemplate(&amp;#039;uneditable&amp;#039;); &lt;br /&gt;
  $GLOBALS[&amp;quot;DynPG&amp;quot;]-&amp;gt;SetParam_A_Anytime(TRUE);&lt;br /&gt;
  $GLOBALS[&amp;quot;DynPG&amp;quot;]-&amp;gt;SetParam_A_CategoryNavigation(FALSE);&lt;br /&gt;
  $GLOBALS[&amp;quot;DynPG&amp;quot;]-&amp;gt;SetParam_A_PrintNavigation(FALSE);&lt;br /&gt;
  $GLOBALS[&amp;quot;DynPG&amp;quot;]-&amp;gt;SetParam_A_ArticleHeader(FALSE);&lt;br /&gt;
  $GLOBALS[&amp;quot;DynPG&amp;quot;]-&amp;gt;SetParam_A_Article(1);&lt;br /&gt;
&lt;br /&gt;
  $GLOBALS[&amp;quot;DynPG&amp;quot;]-&amp;gt;Write_Article();&lt;br /&gt;
  $GLOBALS[&amp;quot;DynPG&amp;quot;]-&amp;gt;SetupTemplate(&amp;#039;default&amp;#039;);  &lt;br /&gt;
?&amp;gt;&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Man kann nun in der &amp;lt;tt&amp;gt;index.php&amp;lt;/tt&amp;gt; mittels &lt;br /&gt;
&amp;lt;code&amp;gt;[php, N]&lt;br /&gt;
&amp;lt;?php include(&amp;quot;inc/navi.php&amp;quot;); ?&amp;gt;&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
die Navigation einbinden, ebenso z.B. auch in der &amp;lt;tt&amp;gt;folgeseite.php&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Die dynamische Navigation kann nun an verschiedenen Stellen angepasst werden. Neben den Globals in der PHP-Datei ([[#Globalsreferenz|Globalsreferenz]]) ist dies im Backend durch das Erstellen von Gruppen und Artikeln möglich ([[#Dynamische_Navigation_im_Backend|Dynamische Navigation im Backend]]). Erweiterte Möglichkeiten ergeben sich durch das [[#CSS|CSS]] und die [[#Templates|Templates]].&lt;br /&gt;
&lt;br /&gt;
==Die dynamische Navigation im Backend==&lt;br /&gt;
&lt;br /&gt;
Wie bereits erwähnt, bildet die dynamische Navigation die Gruppenstruktur des Backends auf einer Webseite ab. In der Musterwebsite 3 ist im Backend zum Beispiel folgende Gruppenstruktur zu erkennen:&lt;br /&gt;
[[Media:dynmenue08.PNG|Klick]].&lt;br /&gt;
Auf der Website sieht dies dann wie folgt aus:&lt;br /&gt;
[[Media:dynmenue09.PNG|Klick]]&lt;br /&gt;
oder auch&lt;br /&gt;
[[Media:dynmenue10.PNG|Klick]]&lt;br /&gt;
.&lt;br /&gt;
&lt;br /&gt;
Welche Untergruppen angezeigt werden, hängt zum einen davon ab, welcher Navigationspunkt gerade aktiv ist (also angeklickt wurde) und zum anderen von den benutzten Globals in der PHP-Datei ([[#Globalsreferenz|z.B. Parameter &amp;#039;full_load&amp;#039;]]) und den Einstellungen der Gruppe im Backend. &lt;br /&gt;
&lt;br /&gt;
Die Eigenschaftsseite der Gruppe erreicht man über einen Klick auf das Stiftsymbol&lt;br /&gt;
([[Media:dynmenue11.PNG|Klick]])&lt;br /&gt;
. Unter dem Punkt &amp;#039;&amp;#039;Veröffentlichen&amp;#039;&amp;#039;&lt;br /&gt;
([[Media:dynmenue12.PNG|Klick]])&lt;br /&gt;
wählt man nun eine Option aus: &lt;br /&gt;
:* &amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039;Ja&amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039;: die Gruppe wird auf der gesamten Website angezeigt, also auch in der dynamischen Navigation&lt;br /&gt;
:* &amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039;Nein&amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039;: die Gruppe wird auf der ganze Website nicht angezeigt, also weder in Gruppenliste noch in der dynamischen Navigation&lt;br /&gt;
:* &amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039;Ja, ohne Navigation&amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039;: die Gruppe wird zwar normal auf der Website angezeigt, jedoch in der dynamischen Navigation ausgeblendet&lt;br /&gt;
:* &amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039;Ja, ohne Subnavigation&amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039;: wie &amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039;Ja&amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039;, jedoch werden von diesem Menüpunkt in der dynamischen Navigation nur Untergruppen angezeigt, jedoch keine Artikel, die eventuell in dieser Gruppe liegen&lt;br /&gt;
&lt;br /&gt;
==Globalsreferenz==&lt;br /&gt;
&lt;br /&gt;
Dies hier erklärt die Globals aus dem PHP-Code von [[#Schritt 2: PHP-Datei für die dynamische Navigation erstellen|Schritt 2 des Punkts &amp;#039;&amp;#039;Einrichten&amp;#039;&amp;#039;]].&lt;br /&gt;
&lt;br /&gt;
===Globals direkt für das Plugin===&lt;br /&gt;
&amp;#039;&amp;#039;Die Parameter haben Default-Werte, müssen also nicht immer gesetzt werden&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
*&amp;#039;&amp;#039;&amp;#039;&amp;lt;tt&amp;gt;$GLOBALS[&amp;quot;DynPG&amp;quot;]-&amp;gt;SetParam_PlugIn_Template(&amp;#039;DPGdynmenu&amp;#039;, &amp;#039;TEMPLATEORDNER&amp;#039;);&amp;lt;/tt&amp;gt;&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
:Hiermit wählt man den Template-Ordner für die dynamische Navigation aus. Diese Template-Ordner liegen in &amp;lt;tt&amp;gt;dynpg/plugins/DPGdynmenu/templates&amp;lt;/tt&amp;gt;. Aus diesem Ordner wird die Template-Datei &amp;lt;tt&amp;gt;menu.tpl&amp;lt;/tt&amp;gt; zur Generierung des Menüs genommen. Dies ist unabhängig vom Global &amp;lt;tt&amp;gt;$GLOBALS[&amp;quot;DynPG&amp;quot;]-&amp;gt;SetupTemplate(...);&amp;lt;/tt&amp;gt;, der sozusagen das Template des Artikels bestimmt, welcher die dynamische Navigation enthält.&lt;br /&gt;
&lt;br /&gt;
*&amp;#039;&amp;#039;&amp;#039;&amp;lt;tt&amp;gt;$GLOBALS[&amp;quot;DynPG&amp;quot;]-&amp;gt;SetParam_PlugIn_Param(&amp;#039;DPGdynmenu&amp;#039;, PARAMETERNAME, PARAMETERWERT);&amp;lt;/tt&amp;gt;&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
:{| class=&amp;quot;dynpgwikitable&amp;quot;&lt;br /&gt;
! &amp;lt;tt&amp;gt;PARAMETERNAME&amp;lt;/tt&amp;gt; !! &amp;lt;tt&amp;gt;PARAMETERWERT&amp;lt;/tt&amp;gt; !! Beschreibung&lt;br /&gt;
|-&lt;br /&gt;
||&amp;lt;tt&amp;gt;&amp;#039;order&amp;#039;&amp;lt;/tt&amp;gt; || &amp;lt;tt&amp;gt;Array(&amp;#039;INDEX&amp;#039;)&amp;lt;/tt&amp;gt; oder &amp;lt;tt&amp;gt;Array(&amp;#039;NAME&amp;#039;)&amp;lt;/tt&amp;gt; || Reihenfolge der Gruppen in der Navigation nach Name oder im Backend gesetzten Index&lt;br /&gt;
|-&lt;br /&gt;
||&amp;lt;tt&amp;gt;&amp;#039;sort&amp;#039;&amp;lt;/tt&amp;gt; || &amp;lt;tt&amp;gt;Array(&amp;#039;ASC&amp;#039;)&amp;lt;/tt&amp;gt; oder &amp;lt;tt&amp;gt;Array(&amp;#039;DESC&amp;#039;)&amp;lt;/tt&amp;gt; || aufsteigende oder absteigende Sortierung&lt;br /&gt;
|-&lt;br /&gt;
||&amp;lt;tt&amp;gt;&amp;#039;order_articles&amp;#039;&amp;lt;/tt&amp;gt; || z.B. &amp;lt;tt&amp;gt;Array(&amp;#039;INDEX&amp;#039;)&amp;lt;/tt&amp;gt; || sortiert Artikel in der dynamischen Navigation (falls diese angezeigt werden) &lt;br /&gt;
|-&lt;br /&gt;
||&amp;lt;tt&amp;gt;&amp;#039;sort_articles&amp;#039;&amp;lt;/tt&amp;gt; || z.B. &amp;lt;tt&amp;gt;Array(&amp;#039;ASC&amp;#039;)&amp;lt;/tt&amp;gt; || bestimmt aufsteigende oder absteigende Sortierreihenfolge der Artikel&lt;br /&gt;
|-&lt;br /&gt;
||&amp;lt;tt&amp;gt;&amp;#039;href_page_groups&amp;#039;&amp;lt;/tt&amp;gt; || z.B. &amp;lt;tt&amp;gt;&amp;#039;../folgeseite.php&amp;#039;&amp;lt;/tt&amp;gt; || Seite auf die standardmäßig weiterverlinkt wird bei einem Klick auf den Gruppennamen, sofern die Gruppe Untergruppen hat. Wird dieser Parameter nicht angegeben, so wird auf die aktuelle PHP-Seite verlinkt. (ACHTUNG &amp;lt;tt&amp;gt;&amp;#039;../&amp;#039;&amp;lt;/tt&amp;gt; wichtig, siehe Ordnerstruktur weiter oben!)&lt;br /&gt;
|-&lt;br /&gt;
||&amp;lt;tt&amp;gt;&amp;#039;href_page_articles&amp;#039;&amp;lt;/tt&amp;gt; || z.B. &amp;lt;tt&amp;gt;&amp;#039;../folgeseite.php&amp;#039;&amp;lt;/tt&amp;gt; || Seite auf die standardmäßig weiterverlinkt wird bei einem Klick auf den Gruppennamen, sofern die Gruppe Artikel enthält. Wird dieser Parameter nicht angegeben, so wird auf die aktuelle PHP-Seite verlinkt. (ACHTUNG &amp;lt;tt&amp;gt;&amp;#039;../&amp;#039;&amp;lt;/tt&amp;gt; wichtig, siehe Ordnerstruktur weiter oben!)&lt;br /&gt;
|-&lt;br /&gt;
||&amp;lt;tt&amp;gt;&amp;#039;href_page_detail&amp;#039;&amp;lt;/tt&amp;gt; || z.B. &amp;lt;tt&amp;gt;&amp;#039;../folgeseite.php&amp;#039;&amp;lt;/tt&amp;gt; || Seite auf die standardmäßig weiterverlinkt wird bei einem Klick auf einen Artikelnamen. Wird dieser Parameter nicht angegeben, so wird auf die aktuelle PHP-Seite verlinkt. (ACHTUNG &amp;lt;tt&amp;gt;&amp;#039;../&amp;#039;&amp;lt;/tt&amp;gt; wichtig, siehe Ordnerstruktur weiter oben!)&lt;br /&gt;
|-&lt;br /&gt;
||&amp;lt;tt&amp;gt;&amp;#039;href_subpages&amp;#039;&amp;lt;/tt&amp;gt; || z.B. &amp;lt;pre&amp;gt;Array(&lt;br /&gt;
  GRUPPENNUMMER =&amp;gt; Array( &lt;br /&gt;
    &amp;#039;page&amp;#039; =&amp;gt; &amp;#039;PHP-SEITE{query}&amp;#039;,&lt;br /&gt;
    &amp;#039;successors&amp;#039; =&amp;gt; BOOLEAN&lt;br /&gt;
  ),&lt;br /&gt;
...&lt;br /&gt;
...&lt;br /&gt;
...&lt;br /&gt;
  GRUPPENNUMMER =&amp;gt; Array( &lt;br /&gt;
    &amp;#039;page&amp;#039; =&amp;gt; &amp;#039;PHP-SEITE{query}&amp;#039;,&lt;br /&gt;
    &amp;#039;successors&amp;#039; =&amp;gt; BOOLEAN&lt;br /&gt;
  ) &lt;br /&gt;
)&amp;lt;/pre&amp;gt; || Ermöglicht es, für bestimmte Gruppen auf eine spezielle &amp;lt;tt&amp;gt;PHP-SEITE&amp;lt;/tt&amp;gt; zu verlinken. Hierzu geben Sie anstatt &amp;lt;tt&amp;gt;GRUPPENNUMMER&amp;lt;/tt&amp;gt; die Gruppennummer der Gruppe aus dem Backend ein. Statt &amp;lt;tt&amp;gt;PHP-SEITE&amp;lt;/tt&amp;gt; fügen Sie den Namen und Pfad zur Zieldatei an, ausgehend vom Hauptverzeichnis des CMS!. Lassen Sie den Anhang &amp;lt;tt&amp;gt;{query}&amp;lt;/tt&amp;gt; genau so stehen, falls in die Zieldatei auch DynPG über Globals eingeben wurde. &amp;lt;tt&amp;gt;BOOLEAN&amp;lt;/tt&amp;gt; ersetzen Sie mit &amp;lt;tt&amp;gt;true&amp;lt;/tt&amp;gt; wenn für Untergruppen dieser Gruppe auch auf diese spezielle PHP-Seite verlink werden soll, ansonsten mit &amp;lt;tt&amp;gt;false&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Passen Sie auf, dass nach jedem &amp;lt;tt&amp;gt;GRUPPENNUMMER =&amp;gt; Array(...)&amp;lt;/tt&amp;gt; ein Komma notiert ist, allerdings nicht beim letzten.&lt;br /&gt;
|-&lt;br /&gt;
||&amp;lt;tt&amp;gt;&amp;#039;full_load&amp;#039;&amp;lt;/tt&amp;gt; || &amp;lt;tt&amp;gt;false&amp;lt;/tt&amp;gt; oder &amp;lt;tt&amp;gt;true&amp;lt;/tt&amp;gt; || zeigt unabhängig von angeklickten Gruppen den kompletten Navigationsbaum mit Untergruppen an (oder auch nicht)&lt;br /&gt;
|-&lt;br /&gt;
|| &amp;lt;tt&amp;gt;&amp;#039;full_load_articles&amp;#039;&amp;lt;/tt&amp;gt; || &amp;lt;tt&amp;gt;false&amp;lt;/tt&amp;gt; ||&lt;br /&gt;
|-&lt;br /&gt;
|| &amp;lt;tt&amp;gt;&amp;#039;limit_articles&amp;#039;&amp;lt;/tt&amp;gt; || &amp;lt;tt&amp;gt;false&amp;lt;/tt&amp;gt; oder eine Zahl || Sofern dieser Parameter eine Zahl als Wert erhält, bestimmt er die Anzahl der Artikel pro Gruppe, die in der dynamischen Navigation angezeigt werden, wenn eine Gruppe statt Untergruppen Artikel enthält.&lt;br /&gt;
|-&lt;br /&gt;
|| &amp;lt;tt&amp;gt;&amp;#039;expand_subtree&amp;#039;&amp;lt;/tt&amp;gt; || &amp;lt;tt&amp;gt;Array(4)&amp;lt;/tt&amp;gt; oder &amp;lt;tt&amp;gt;Array(4,5)&amp;lt;/tt&amp;gt; etc. || zeigt die Untergruppen von Gruppe 4 (bzw. 4 und 5) in jedem Fall an. Sei Gruppe 4 bspw. die Gruppe &amp;#039;&amp;#039;News&amp;#039;&amp;#039; des Backends, dann werden die beispielhaften Untergruppen &amp;#039;&amp;#039;Lokalnachrichten&amp;#039;&amp;#039; und &amp;#039;&amp;#039;Weltnachrichten&amp;#039;&amp;#039; immer zur Navigation angeboten, auch wenn sich ein Benutzer auf der Website gerade einen Artikel aus der Gruppe &amp;#039;&amp;#039;Kontakt&amp;#039;&amp;#039; anschaut&lt;br /&gt;
|- &lt;br /&gt;
|| &amp;lt;tt&amp;gt;&amp;#039;implode_subtree&amp;#039;&amp;lt;/tt&amp;gt; || &amp;lt;tt&amp;gt;Array(4)&amp;lt;/tt&amp;gt; oder &amp;lt;tt&amp;gt;Array(4,5)&amp;lt;/tt&amp;gt; etc. || zeigt die Untergruppen von Gruppe 4 (bzw. 4 und 5) in jedem Fall NICHT an. Anmerkung: der Parameter &amp;lt;tt&amp;gt;expand_subtree&amp;lt;/tt&amp;gt; überschreibt diese Einstellung! Ist also eine Gruppe in beiden Parametern aufgeführt, so werden die Untergruppen dieser Gruppe immer angezeigt, da der Parameter &amp;lt;tt&amp;gt;expand_subtree&amp;lt;/tt&amp;gt; wichtiger ist.&lt;br /&gt;
|-&lt;br /&gt;
|| &amp;lt;tt&amp;gt;&amp;#039;real_expand&amp;#039;&amp;lt;/tt&amp;gt; || &amp;lt;tt&amp;gt;false&amp;lt;/tt&amp;gt; oder &amp;lt;tt&amp;gt;true&amp;lt;/tt&amp;gt; || Verwenden Sie das Template &amp;#039;&amp;#039;intelligent&amp;#039;&amp;#039; für die dynamische Navigation, setzen Sie diesen Parameter auf &amp;lt;tt&amp;gt;true&amp;lt;/tt&amp;gt;, ansonsten auf &amp;lt;tt&amp;gt;false&amp;lt;/tt&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|| &amp;lt;tt&amp;gt;&amp;#039;parent_select&amp;#039;&amp;lt;/tt&amp;gt; || &amp;lt;tt&amp;gt;true&amp;lt;/tt&amp;gt; ||&lt;br /&gt;
|-&lt;br /&gt;
|| &amp;lt;tt&amp;gt;&amp;#039;max_depth&amp;#039;&amp;lt;/tt&amp;gt; || &amp;lt;tt&amp;gt;null&amp;lt;/tt&amp;gt; oder &amp;lt;tt&amp;gt;0&amp;lt;/tt&amp;gt; oder &amp;lt;tt&amp;gt;1&amp;lt;/tt&amp;gt; etc. || Tiefe bis zu der (Unter-)Gruppen angezeigt werden&lt;br /&gt;
|-&lt;br /&gt;
|| &amp;lt;tt&amp;gt;&amp;#039;min_depth&amp;#039;&amp;lt;/tt&amp;gt; || &amp;lt;tt&amp;gt;null&amp;lt;/tt&amp;gt; oder &amp;lt;tt&amp;gt;0&amp;lt;/tt&amp;gt; oder &amp;lt;tt&amp;gt;1&amp;lt;/tt&amp;gt; etc. || Tiefe, die eine Gruppe mindestens haben muss um angezeigt zu werden, z.B. 1 um oberste Ebene der Gruppen aus dem Backend auszublenden&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Sinnvolle Globals vom DynPG-CMS===&lt;br /&gt;
&lt;br /&gt;
*&amp;#039;&amp;#039;&amp;#039;&amp;lt;tt&amp;gt;$GLOBALS[&amp;quot;DynPG&amp;quot;]-&amp;gt;SetupTemplate(&amp;#039;uneditable&amp;#039;);&amp;lt;/tt&amp;gt; &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
:ermöglicht Navigation in der Seite obwohl Editiermodus im Backend angeschaltet ist&lt;br /&gt;
*&amp;#039;&amp;#039;&amp;#039;&amp;lt;tt&amp;gt;$GLOBALS[&amp;quot;DynPG&amp;quot;]-&amp;gt;SetParam_A_Anytime(TRUE);&amp;lt;/tt&amp;gt; &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
:Menü soll immer angezeigt werden&lt;br /&gt;
*&amp;#039;&amp;#039;&amp;#039;&amp;lt;tt&amp;gt;$GLOBALS[&amp;quot;DynPG&amp;quot;]-&amp;gt;SetParam_A_CategoryNavigation(FALSE);&amp;lt;/tt&amp;gt; &amp;#039;&amp;#039;&amp;#039; &lt;br /&gt;
:keine weitere Navigation(Breadcrumb) anzeigen&lt;br /&gt;
*&amp;#039;&amp;#039;&amp;#039;&amp;lt;tt&amp;gt;$GLOBALS[&amp;quot;DynPG&amp;quot;]-&amp;gt;SetParam_A_PrintNavigation(FALSE);&amp;lt;/tt&amp;gt; &amp;#039;&amp;#039;&amp;#039; &lt;br /&gt;
:kein Link zu Print-Seite anzeigen&lt;br /&gt;
*&amp;#039;&amp;#039;&amp;#039;&amp;lt;tt&amp;gt;$GLOBALS[&amp;quot;DynPG&amp;quot;]-&amp;gt;SetParam_A_ArticleHeader(FALSE);&amp;lt;/tt&amp;gt; &amp;#039;&amp;#039;&amp;#039; &lt;br /&gt;
:keine Artikelüberschrift (des Artikels mit dem DynMenü-Platzhalter) und kein Artikelleadtext anzeigen&lt;br /&gt;
*&amp;#039;&amp;#039;&amp;#039;&amp;lt;tt&amp;gt;$GLOBALS[&amp;quot;DynPG&amp;quot;]-&amp;gt;SetParam_A_Article(1);&amp;lt;/tt&amp;gt; &amp;#039;&amp;#039;&amp;#039; &lt;br /&gt;
:Artikel mit dem Dynmenü-Platzhalter setzen (&amp;#039;&amp;#039;&amp;#039;Hier die Artikelnummer aus [[#Einrichten|Einrichten]] einfügen!&amp;#039;&amp;#039;&amp;#039;)&lt;br /&gt;
*&amp;#039;&amp;#039;&amp;#039;&amp;lt;tt&amp;gt;$GLOBALS[&amp;quot;DynPG&amp;quot;]-&amp;gt;Write_Article();&amp;lt;/tt&amp;gt; &amp;#039;&amp;#039;&amp;#039; &lt;br /&gt;
:Artikel ausgeben&lt;br /&gt;
*&amp;#039;&amp;#039;&amp;#039;&amp;lt;tt&amp;gt;$GLOBALS[&amp;quot;DynPG&amp;quot;]-&amp;gt;SetupTemplate(&amp;#039;default&amp;#039;);&amp;lt;/tt&amp;gt; &amp;#039;&amp;#039;&amp;#039; &lt;br /&gt;
:andere Teile der Website haben sicherlich andere Templates. Wir setzen daher hier wieder auf das Standard-Template zurück&lt;br /&gt;
&lt;br /&gt;
==CSS==&lt;br /&gt;
Die CSS-Dateien für die dynamische Navigation liegen im Verzeichnis &amp;lt;tt&amp;gt;dynpg/plugins/DPGdynmenu/styles&amp;lt;/tt&amp;gt;. Die Datei &amp;lt;tt&amp;gt;menu.css&amp;lt;/tt&amp;gt; ist hierbei meist die ausschlaggebende, so zum Beispiel in der Navigation der Musterwebsite 3.&lt;br /&gt;
&lt;br /&gt;
Die CSS-Klassen und -Bezeichner aus dieser Datei sind nach einem bestimmten Schema benannt. Hat man dieses einmal verstanden, so lassen sich leicht Änderungen an speziellen Teilen des Erscheinungsbildes der dynamischen Navigation durchführen.&lt;br /&gt;
&lt;br /&gt;
Die dynamische Navigation wird von einem &amp;lt;tt&amp;gt;div&amp;lt;/tt&amp;gt;-Tag mit der Id &amp;lt;tt&amp;gt;course_categories_menu&amp;lt;/tt&amp;gt; umschlossen.&lt;br /&gt;
&lt;br /&gt;
Diese Angaben gelten also grundsätzlich für die gesamte dynamische Navigation und werden gegebenenfalls weitervererbt.&lt;br /&gt;
Im &amp;lt;tt&amp;gt;menu.css&amp;lt;/tt&amp;gt; der Muster-Website 3 steht beispielsweise:&lt;br /&gt;
&amp;lt;code&amp;gt;[css, N]&lt;br /&gt;
div#course_categories_menu {&lt;br /&gt;
  margin: 0;&lt;br /&gt;
  padding: 0;&lt;br /&gt;
  width: 180px;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Um zu verhindern, dass die CSS-Angaben dieser Datei auch auf andere Teile der Website Einfluss haben, ist vor allen anderen CSS-Definitionen der Datei ebenfalls &amp;lt;tt&amp;gt;div#course_categories_menu&amp;lt;/tt&amp;gt; notiert. Dadurch wirken sich die Angaben nur auf die dynamische Navigation aus.&lt;br /&gt;
&lt;br /&gt;
Innerhalb des &amp;lt;tt&amp;gt;course_categories_menu&amp;lt;/tt&amp;gt; - &amp;lt;tt&amp;gt;div&amp;lt;/tt&amp;gt; - Tags gibt es für jede Gruppe der obersten angezeigten Gruppenebene ein &amp;lt;div&amp;gt;-Tag mit der CSS-Id &amp;lt;tt&amp;gt;group_fold_NUMMER&amp;lt;/tt&amp;gt; wobei &amp;lt;tt&amp;gt;NUMMER&amp;lt;/tt&amp;gt; der Gruppennummer der Gruppe aus dem Backend entspricht. In der Navigation der Muster-Website 3 gibt es also folgende Tags:&lt;br /&gt;
&amp;lt;code&amp;gt;[html, N]&lt;br /&gt;
&amp;lt;div id=&amp;quot;course_categories_menu&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;div id=&amp;quot;group_fold_2&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;  &amp;lt;!--Produkte--&amp;gt;&lt;br /&gt;
  &amp;lt;div id=&amp;quot;group_fold_3&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;  &amp;lt;!--Support--&amp;gt;&lt;br /&gt;
  &amp;lt;div id=&amp;quot;group_fold_9&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;  &amp;lt;!--News--&amp;gt;&lt;br /&gt;
  &amp;lt;div id=&amp;quot;group_fold_4&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;  &amp;lt;!--Über uns--&amp;gt;&lt;br /&gt;
  &amp;lt;div id=&amp;quot;group_fold_5&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;  &amp;lt;!--Kontakt--&amp;gt;&lt;br /&gt;
  &amp;lt;div id=&amp;quot;group_fold_21&amp;quot;&amp;gt;&amp;lt;/div&amp;gt; &amp;lt;!--Blog--&amp;gt;&lt;br /&gt;
  &amp;lt;div id=&amp;quot;group_fold_15&amp;quot;&amp;gt;&amp;lt;/div&amp;gt; &amp;lt;!--Sitemap--&amp;gt;&lt;br /&gt;
  &amp;lt;div id=&amp;quot;group_fold_6&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;  &amp;lt;!--Home--&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
Möchte man nun Eigenschaften nur an einem bestimmten Teil der Navigation machen, so könnte man im CSS-File folgende Angabe machen:&lt;br /&gt;
&amp;lt;code&amp;gt;[css, N]&lt;br /&gt;
div#course_categories_menu div#group_fold_9 {&lt;br /&gt;
  text-decoration:blink;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
Damit würde der Text der Gruppe &amp;#039;&amp;#039;News&amp;#039;&amp;#039; (und eventueller Untergruppen) in der dynamischen Navigation blinken.&lt;br /&gt;
&lt;br /&gt;
Innerhalb der &amp;lt;tt&amp;gt;group_fold_NUMMER&amp;lt;/tt&amp;gt; - &amp;lt;tt&amp;gt;div&amp;lt;/tt&amp;gt; - Tags gibt es nun ein &amp;lt;tt&amp;gt;div&amp;lt;/tt&amp;gt; - Tag, dass (neben einer weiteren CSS-Id) eine CSS-Klasse hat. Diese CSS-Klasse wird nach folgendem Muster gebildet:&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;&amp;lt;tt&amp;gt;level_&amp;#039;&amp;#039;A&amp;#039;&amp;#039;_&amp;#039;&amp;#039;B&amp;#039;&amp;#039;_&amp;#039;&amp;#039;C&amp;#039;&amp;#039;_&amp;#039;&amp;#039;D&amp;#039;&amp;#039;_&amp;#039;&amp;#039;E&amp;#039;&amp;#039;&amp;lt;/tt&amp;gt;&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;dynpgwikitable&amp;quot;&lt;br /&gt;
! Buchstabe !! mögliche Werte !! Beschreibung&lt;br /&gt;
|-&lt;br /&gt;
|| &amp;lt;tt&amp;gt;&amp;#039;&amp;#039;A&amp;#039;&amp;#039;&amp;lt;/tt&amp;gt; || 0 oder 1 oder 2 etc. || gibt das Level der Gruppe an, also die Verzweigungstiefe in der sich die Navigation befindet&lt;br /&gt;
|-&lt;br /&gt;
|| &amp;lt;tt&amp;gt;&amp;#039;&amp;#039;B&amp;#039;&amp;#039;&amp;lt;/tt&amp;gt; || &amp;lt;tt&amp;gt;r&amp;lt;/tt&amp;gt; (nicht letzter), &amp;lt;tt&amp;gt;e&amp;lt;/tt&amp;gt; (letzter) || gibt an, ob nach dieser Gruppe noch weitere aufgelistet werden (z.B. in Musterwebsite 3 ist die Gruppe 6 &amp;quot;Home&amp;quot; die letzte des Menüs)&lt;br /&gt;
|-&lt;br /&gt;
|| &amp;lt;tt&amp;gt;&amp;#039;&amp;#039;C&amp;#039;&amp;#039;&amp;lt;/tt&amp;gt; ||  &amp;lt;tt&amp;gt;a&amp;lt;/tt&amp;gt; (ist aktiv), &amp;lt;tt&amp;gt;i&amp;lt;/tt&amp;gt; (ist nicht aktiv) || gibt an, ob die Gruppe aktiv ist, d.h. ob sie durch einen Klick ausgewählt wurde&lt;br /&gt;
|-&lt;br /&gt;
|| &amp;lt;tt&amp;gt;&amp;#039;&amp;#039;D&amp;#039;&amp;#039;&amp;lt;/tt&amp;gt; ||  &amp;lt;tt&amp;gt;exp&amp;lt;/tt&amp;gt; (ausgeklappt), &amp;lt;tt&amp;gt;cll&amp;lt;/tt&amp;gt; (eingeklappt) || gibt an, ob die Untergruppen dieser Gruppe ausgeklappt sind oder nicht&lt;br /&gt;
|-&lt;br /&gt;
|| &amp;lt;tt&amp;gt;&amp;#039;&amp;#039;E&amp;#039;&amp;#039;&amp;lt;/tt&amp;gt; ||  &amp;lt;tt&amp;gt;_hover&amp;lt;/tt&amp;gt; (Mauszeiger ist über dem Element), nichts (Mauszeiger ist nicht über dem Element) || gibt an, ob sich der Mauszeiger über dem Gruppennamen befindet oder nicht&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Mithilfe dieses Schemas kann man nun bestimmen, welche CSS-Klassen man in der CSS-Datei angeben muss um bestimmte Effekte hervorzurufen.&lt;br /&gt;
Möchte man beispielsweise, dass alle Elemente der zweitobersten Ebene blinken, wenn der Mauszeiger über dem Element ist, so notiert man in der CSS-Datei:&lt;br /&gt;
&amp;lt;code&amp;gt;[css, N]&lt;br /&gt;
div#course_categories_menu div#level_1_r_a_exp_hover,&lt;br /&gt;
div#course_categories_menu div#level_1_r_a_cll_hover,&lt;br /&gt;
div#course_categories_menu div#level_1_r_i_exp_hover,&lt;br /&gt;
div#course_categories_menu div#level_1_r_i_cll_hover,&lt;br /&gt;
div#course_categories_menu div#level_1_e_a_exp_hover,&lt;br /&gt;
div#course_categories_menu div#level_1_e_a_cll_hover,&lt;br /&gt;
div#course_categories_menu div#level_1_e_i_exp_hover,&lt;br /&gt;
div#course_categories_menu div#level_1_e_i_cll_hover {&lt;br /&gt;
  text-decoration:blink;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Diese Struktur der &amp;lt;tt&amp;gt;div&amp;lt;/tt&amp;gt;-Tags wiederholt sich mit tieferen Gruppenebenen / Untergruppen. Zum Beispiel tauchen die &amp;lt;tt&amp;gt;div&amp;lt;/tt&amp;gt;-Tags der Untergruppen vom &amp;#039;&amp;#039;Über uns&amp;#039;&amp;#039;-Menüpunkt aus der Muster-Website 3 innerhalb des &amp;lt;tt&amp;gt;group_fold_4&amp;lt;/tt&amp;gt; - &amp;lt;tt&amp;gt;div&amp;lt;/tt&amp;gt; - Tags auf.&lt;br /&gt;
&lt;br /&gt;
Weitere Informationen über die CSS-Klassen kann man schnell erhalten, indem man sich den HTML-Code eines generierten dynamischen Menüs anschaut, zum Beispiel aus der Muster-Website 3.&lt;br /&gt;
&lt;br /&gt;
==Templates==&lt;br /&gt;
Diese Templates liegen im Ordner &amp;lt;tt&amp;gt;dynpg/plugins/DPGdynmenu/templates&amp;lt;/tt&amp;gt;. Hier finden sie Ordner, die jeweils eine &amp;lt;tt&amp;gt;menu.tpl&amp;lt;/tt&amp;gt; enthalten. Welcher dieser Ordner aktiv ist, bestimmen Sie durch das Global &amp;lt;tt&amp;gt;$GLOBALS[&amp;quot;DynPG&amp;quot;]-&amp;gt;SetParam_PlugIn_Template(&amp;#039;DPGdynmenu&amp;#039;, &amp;#039;TEMPLATEORDNER&amp;#039;);&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Die Templates dienen als Vorlage für die Generierung des HTML-Codes der dynamischen Navigation. In ihnen werden auch die CSS-Klassen definiert, welche in [[#CSS|CSS]] erklärt wurden. Außerdem finden hier Templateplatzhalter der Form &amp;lt;tt&amp;gt;&amp;lt;nowiki&amp;gt;{$PLATZHALTER}&amp;lt;/nowiki&amp;gt;&amp;lt;/tt&amp;gt; Verwendung, die DynPG dynamisch durch Inhalt ersetzt.&lt;br /&gt;
&lt;br /&gt;
Das Template &amp;#039;&amp;#039;horizontal&amp;#039;&amp;#039; der Musterwebsite 3 generiert beispielsweise ein horizontales Menü, während das Template &amp;#039;&amp;#039;intelligent&amp;#039;&amp;#039; ein vertikales Menü erzeugt.&lt;br /&gt;
&lt;br /&gt;
Modifikationen an den Templates sind recht komplex. Sollten Sie vorhaben hier Änderungen durchzuführen, wenden Sie sich an das DynPG-Forum.&lt;br /&gt;
&lt;br /&gt;
==Feste Links einbauen==&lt;br /&gt;
&lt;br /&gt;
Hierzu erstellt man im Backend eine Gruppe mit dem Namen des festen Links und merkt sich die Gruppennummer. Mittels des Plugin-Parameters &amp;lt;tt&amp;gt;&amp;#039;href_subpages&amp;#039;&amp;lt;/tt&amp;gt; setzt man für diese Gruppennummer nun als Ziel die Datei &amp;lt;tt&amp;gt;counter.php&amp;lt;/tt&amp;gt; fest und übergibt dieser als Parameter das feste Linkziel. Beispiel: Wir wollen einen Link auf die Google-Webseite setzen. Also erstellen wir im Backend eine Gruppe mit dem Namen &amp;#039;&amp;#039;Google-Websuche&amp;#039;&amp;#039; und notieren die Gruppennummer (z.B. 33). In die PHP-Datei unserer dynamischen Navigation fügen wir nun folgendes ein:&lt;br /&gt;
&amp;lt;code&amp;gt;[php, N]&lt;br /&gt;
$GLOBALS[&amp;quot;DynPG&amp;quot;]-&amp;gt;SetParam_PlugIn_Param(&lt;br /&gt;
  &amp;#039;DPGdynmenu&amp;#039;,&lt;br /&gt;
  &amp;#039;href_subpages&amp;#039;,&lt;br /&gt;
  Array(&lt;br /&gt;
	33 =&amp;gt; Array(&lt;br /&gt;
      &amp;#039;page&amp;#039; =&amp;gt; &amp;#039;counter.php?inc=http://www.google.com&amp;#039;,&lt;br /&gt;
      &amp;#039;successors&amp;#039; =&amp;gt; true&lt;br /&gt;
    )		&lt;br /&gt;
  )&lt;br /&gt;
);&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Mehrsprachiges Menü==&lt;br /&gt;
&lt;br /&gt;
Hierzu gibt es einen Thread in unserem Forum unter [http://www.dynpg.ch/dynpg-forum.php?t=&amp;amp;read_group=30&amp;amp;thread_id=47&amp;amp;tt=Sprachwechsel]. Die grundsätzliche Idee ist (bei zwei Sprachen) zwei Gruppenbäume im Backend aufzubauen. Die oberste Gruppe des ersten Baumes wäre beispielsweise die Gruppe &amp;#039;&amp;#039;Deutsch&amp;#039;&amp;#039;, die oberste Gruppe des zweiten Baumes wäre zum Beispiel &amp;#039;&amp;#039;English&amp;#039;&amp;#039;.&lt;br /&gt;
&lt;br /&gt;
In der zweiten Ebene kommen dann unter &amp;#039;&amp;#039;Deutsch&amp;#039;&amp;#039; bzw. &amp;#039;&amp;#039;English&amp;#039;&amp;#039; Untergruppen wie &amp;#039;&amp;#039;News&amp;#039;&amp;#039;/&amp;#039;&amp;#039;Nachrichten&amp;#039;&amp;#039;, &amp;#039;&amp;#039;Produkte&amp;#039;&amp;#039;/&amp;#039;&amp;#039;Products&amp;#039;&amp;#039;, &amp;#039;&amp;#039;Hilfe&amp;#039;&amp;#039;/&amp;#039;&amp;#039;Support&amp;#039;&amp;#039; und so weiter. Man erstellt sich nun zwei PHP-Dateien (&amp;lt;tt&amp;gt;navi_de.php&amp;lt;/tt&amp;gt;, &amp;lt;tt&amp;gt;navi_en.php&amp;lt;/tt&amp;gt;) wie oben beschrieben [[#Einrichten|Einrichten]]. In diesen wird dann mit den Befehlen aus [[#Globalsreferenz|Globalsreferenz]] der jeweils nicht passende Baum ausgeblendet.&lt;br /&gt;
&lt;br /&gt;
==Siehe auch==&lt;br /&gt;
*[[Sitemap-Tutorial]]&lt;br /&gt;
*[[Implementation eines kompletten Hauptmenüs]]&lt;br /&gt;
*[[Code-Schnipsel Einfaches Hauptmenü]]&lt;br /&gt;
*[[Code-Schnipsel Menüeinträge sortieren]]&lt;br /&gt;
*[[Snippet-Beispiele]]&lt;/div&gt;</summary>
		<author><name>Sebastian</name></author>	</entry>

	<entry>
		<id>https://wiki-en.dynpg.org/wiki_de/index.php?title=Dynamische_Navigation</id>
		<title>Dynamische Navigation</title>
		<link rel="alternate" type="text/html" href="https://wiki-en.dynpg.org/wiki_de/index.php?title=Dynamische_Navigation"/>
				<updated>2009-08-17T16:11:19Z</updated>
		
		<summary type="html">&lt;p&gt;Sebastian: /* Globalsreferenz */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Kategorie:Module]]&lt;br /&gt;
==Beschreibung==&lt;br /&gt;
Die dynamische Navigation ist Bestandteil des kostenlosen Grundmoduls von DynPG und bereits im Standard-DynPG integriert. Es ist keine separate Installation notwendig. Sie ermöglicht es Ihnen einfach und flexibel Navigationen auf Ihrer Homepage zu erstellen. Die Anwendungsmöglichkeiten gestalten sich dabei flexibel als normales Menü oder auch als Sitemap.&lt;br /&gt;
&lt;br /&gt;
Ein dynamisches Menü bildet die Gruppenstruktur im Backend, also die Abfolge von Gruppen, Untergruppen und Artikeln in einer Gruppe, als Menü ab, macht also die logische Struktur ihrer Artikel aus dem Backend auf einer Webseite sichtbar und navigierbar. &lt;br /&gt;
&lt;br /&gt;
Der Vorteil ist, dass man im Backend neue Gruppen o.ä. erstellt und diese dann im Hauptmenü erscheinen. Dies ist auch bei Untergruppen nützlich,&lt;br /&gt;
z.B. wenn eine neue Untergruppe &amp;#039;&amp;#039;Lokalnachrichten&amp;#039;&amp;#039; zur Hauptgruppe &amp;#039;&amp;#039;News&amp;#039;&amp;#039; hinzukommt.&lt;br /&gt;
&lt;br /&gt;
Zum Verständnis der Funktionsvielfalt der dynamischen Navigation ist es hilfreich, einmal eine der [[Muster-Web-Sites|Musterwebsites]] zu installieren und in den entsprechenden Dateien der Musterwebsite die unten erklärten Einstellungsmöglichkeiten nachzuvollziehen und vielleicht auch einmal mit den Optionen herumzuspielen.&lt;br /&gt;
&lt;br /&gt;
==Einrichten==&lt;br /&gt;
&amp;#039;&amp;#039;Anmerkung: Benutzen sie die [[Muster-Web-Sites|Musterwebsites]], so müssen die nachfolgenden zwei Schritte nicht ausgeführt werden, da die dynamische Navigation bereits in den Musterwebsites genutzt wird&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
===Schritt 1: Artikel erstellen mit Platzhalter für die dynamische Navigation===&lt;br /&gt;
Wählen Sie im Menü des Backends &amp;#039;&amp;#039;Gruppen&amp;#039;&amp;#039; aus [[Media:dynmenue01.png|Klick]]. Suchen Sie sich nun eine Gruppe, in der Sie einen Artikel erfassen wollen. Hier wählen wir (die in diesem Falle schon vorhandene) Gruppe &amp;#039;&amp;#039;Startseite/Navigation/Formular&amp;#039;&amp;#039; durch Klick auf ihren Namen aus [[Media:dynmenue02.png|Klick]].&lt;br /&gt;
&lt;br /&gt;
Mit einem Klick auf &amp;#039;&amp;#039;Artikel Formular anzeigen&amp;#039;&amp;#039; [[Media:dynmenue03.PNG|Klick]] und danach auf &amp;#039;&amp;#039;Inhalt bearbeiten&amp;#039;&amp;#039; [[Media:dynmenue04.PNG|Klick]] erscheint der Editor.&lt;br /&gt;
&lt;br /&gt;
In diesem wählen Sie das Symbol für die dynamische Navigation [[Media:dynmenue05.PNG|Klick]], geben noch einen Titel, etwa &amp;#039;&amp;#039;Neue Seitennavigation&amp;#039;&amp;#039;, ein und bestätigen mit einem Klick auf &amp;#039;&amp;#039;Erstellen&amp;#039;&amp;#039; [[Media:dynmenue06.PNG|Klick]]. &lt;br /&gt;
&lt;br /&gt;
Hat alles geklappt, können Sie im unteren Teil der Seite den neuen Artikel sehen [[Media:dynmenue07.PNG|Klick]]. Die Nummer des Artikels benötigen Sie erneut, wenn Sie in eine PHP-Datei mittels eines Globals die dynamische Navigation einbinden.&lt;br /&gt;
&lt;br /&gt;
===Schritt 2: PHP-Datei für die dynamische Navigation erstellen===&lt;br /&gt;
Folgende Ordner-Struktur könnte bei Ihnen vorliegen:&lt;br /&gt;
:*&amp;lt;tt&amp;gt;http-docs/dynpg&amp;lt;/tt&amp;gt; : hier liegt das DynPG-CMS&lt;br /&gt;
:*&amp;lt;tt&amp;gt;http-docs/index.php&amp;lt;/tt&amp;gt; : die Hauptseite Ihrer Website&lt;br /&gt;
:*&amp;lt;tt&amp;gt;http-docs/folgeseite.php&amp;lt;/tt&amp;gt; : eine andere PHP-Datei der Website&lt;br /&gt;
:*&amp;lt;tt&amp;gt;http-docs/inc/navi.php&amp;lt;/tt&amp;gt; : In diese Datei platziert man häufig den Code für die Navigation, dadurch ist er leichter wiederverwendbar&lt;br /&gt;
&lt;br /&gt;
Den nötigen Code der &amp;lt;tt&amp;gt;inc/navi.php&amp;lt;/tt&amp;gt; kann man anhand der [[Muster-Web-Sites|Musterwebsites]] nachvollziehen (Für eine genauere Erklärung der einzelnen verwendeten Globals siehe die [[Funktionsreferenz/Globals|Globals-Übersicht von DynPG]] und weiter unten die [[#Globalsreferenz|Funktionsübersicht der dynamischen Navigation]]) :&lt;br /&gt;
:*&amp;#039;&amp;#039;&amp;#039;&amp;lt;tt&amp;gt;inc/navi.php&amp;lt;/tt&amp;gt;:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;code&amp;gt;[php, N]&lt;br /&gt;
&amp;lt;?php&lt;br /&gt;
  $GLOBALS[&amp;quot;DynPG&amp;quot;]-&amp;gt;SetParam_PlugIn_Template(&amp;#039;DPGdynmenu&amp;#039;, &amp;#039;intelligent&amp;#039;);&lt;br /&gt;
  $GLOBALS[&amp;quot;DynPG&amp;quot;]-&amp;gt;SetParam_PlugIn_Param(&amp;#039;DPGdynmenu&amp;#039;, &amp;#039;real_expand&amp;#039;, TRUE);&lt;br /&gt;
  $GLOBALS[&amp;quot;DynPG&amp;quot;]-&amp;gt;SetParam_PlugIn_Param(&amp;#039;DPGdynmenu&amp;#039;, &amp;#039;order&amp;#039;, Array(&amp;#039;INDEX&amp;#039;));&lt;br /&gt;
  $GLOBALS[&amp;quot;DynPG&amp;quot;]-&amp;gt;SetParam_PlugIn_Param(&amp;#039;DPGdynmenu&amp;#039;, &amp;#039;sort&amp;#039;, Array(&amp;#039;ASC&amp;#039;));&lt;br /&gt;
  $GLOBALS[&amp;quot;DynPG&amp;quot;]-&amp;gt;SetParam_PlugIn_Param(&amp;#039;DPGdynmenu&amp;#039;, &amp;#039;href_page_groups&amp;#039;, &amp;#039;../folgeseite.php&amp;#039;);&lt;br /&gt;
  $GLOBALS[&amp;quot;DynPG&amp;quot;]-&amp;gt;SetParam_PlugIn_Param(&amp;#039;DPGdynmenu&amp;#039;, &amp;#039;href_page_articles&amp;#039;, &amp;#039;../folgeseite.php&amp;#039;);&lt;br /&gt;
  $GLOBALS[&amp;quot;DynPG&amp;quot;]-&amp;gt;SetParam_PlugIn_Param(&amp;#039;DPGdynmenu&amp;#039;, &amp;#039;href_page_detail&amp;#039;, &amp;#039;../folgeseite.php&amp;#039;);&lt;br /&gt;
  $GLOBALS[&amp;quot;DynPG&amp;quot;]-&amp;gt;SetParam_PlugIn_Param(&lt;br /&gt;
    &amp;#039;DPGdynmenu&amp;#039;,&lt;br /&gt;
    &amp;#039;href_subpages&amp;#039;,&lt;br /&gt;
    Array(&lt;br /&gt;
      0 =&amp;gt; Array(&lt;br /&gt;
        &amp;#039;page&amp;#039; =&amp;gt; &amp;#039;../formular.php{query}&amp;#039;,&lt;br /&gt;
        &amp;#039;successors&amp;#039; =&amp;gt; true&lt;br /&gt;
      ),&lt;br /&gt;
      21 =&amp;gt; Array(&lt;br /&gt;
        &amp;#039;page&amp;#039; =&amp;gt; &amp;#039;../blog.php{query}&amp;#039;,&lt;br /&gt;
        &amp;#039;successors&amp;#039; =&amp;gt; true&lt;br /&gt;
      ),&lt;br /&gt;
      15 =&amp;gt; Array(&lt;br /&gt;
        &amp;#039;page&amp;#039; =&amp;gt; &amp;#039;../sitemap.php{query}&amp;#039;,&lt;br /&gt;
        &amp;#039;successors&amp;#039; =&amp;gt; true&lt;br /&gt;
      ),&lt;br /&gt;
      16 =&amp;gt; Array(&lt;br /&gt;
        &amp;#039;page&amp;#039; =&amp;gt; &amp;#039;../veranstaltungen.php{query}&amp;#039;,&lt;br /&gt;
        &amp;#039;successors&amp;#039; =&amp;gt; true&lt;br /&gt;
      ),&lt;br /&gt;
      21 =&amp;gt; Array(&lt;br /&gt;
        &amp;#039;page&amp;#039; =&amp;gt; &amp;#039;../blog.php{query}&amp;#039;,&lt;br /&gt;
        &amp;#039;successors&amp;#039; =&amp;gt; true&lt;br /&gt;
      ),&lt;br /&gt;
      6 =&amp;gt; Array(&lt;br /&gt;
        &amp;#039;page&amp;#039; =&amp;gt; &amp;#039;../index.php{query}&amp;#039;,&lt;br /&gt;
        &amp;#039;successors&amp;#039; =&amp;gt; true&lt;br /&gt;
      )&lt;br /&gt;
    )&lt;br /&gt;
  );    &lt;br /&gt;
  $GLOBALS[&amp;quot;DynPG&amp;quot;]-&amp;gt;SetupTemplate(&amp;#039;uneditable&amp;#039;); &lt;br /&gt;
  $GLOBALS[&amp;quot;DynPG&amp;quot;]-&amp;gt;SetParam_A_Anytime(TRUE);&lt;br /&gt;
  $GLOBALS[&amp;quot;DynPG&amp;quot;]-&amp;gt;SetParam_A_CategoryNavigation(FALSE);&lt;br /&gt;
  $GLOBALS[&amp;quot;DynPG&amp;quot;]-&amp;gt;SetParam_A_PrintNavigation(FALSE);&lt;br /&gt;
  $GLOBALS[&amp;quot;DynPG&amp;quot;]-&amp;gt;SetParam_A_ArticleHeader(FALSE);&lt;br /&gt;
  $GLOBALS[&amp;quot;DynPG&amp;quot;]-&amp;gt;SetParam_A_Article(1);&lt;br /&gt;
&lt;br /&gt;
  $GLOBALS[&amp;quot;DynPG&amp;quot;]-&amp;gt;Write_Article();&lt;br /&gt;
  $GLOBALS[&amp;quot;DynPG&amp;quot;]-&amp;gt;SetupTemplate(&amp;#039;default&amp;#039;);  &lt;br /&gt;
?&amp;gt;&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Man kann nun in der &amp;lt;tt&amp;gt;index.php&amp;lt;/tt&amp;gt; mittels &lt;br /&gt;
&amp;lt;code&amp;gt;[php, N]&lt;br /&gt;
&amp;lt;?php include(&amp;quot;inc/navi.php&amp;quot;); ?&amp;gt;&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
die Navigation einbinden, ebenso z.B. auch in der &amp;lt;tt&amp;gt;folgeseite.php&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Die dynamische Navigation kann nun an verschiedenen Stellen angepasst werden. Neben den Globals in der PHP-Datei ([[#Globalsreferenz|Globalsreferenz]]) ist dies im Backend durch das Erstellen von Gruppen und Artikeln möglich ([[#Dynamische_Navigation_im_Backend|Dynamische Navigation im Backend]]). Erweiterte Möglichkeiten ergeben sich durch das [[#CSS|CSS]] und die [[#Templates|Templates]].&lt;br /&gt;
&lt;br /&gt;
==Die dynamische Navigation im Backend==&lt;br /&gt;
&lt;br /&gt;
Wie bereits erwähnt, bildet die dynamische Navigation die Gruppenstruktur des Backends auf einer Webseite ab. In der Musterwebsite 3 ist im Backend zum Beispiel folgende Gruppenstruktur zu erkennen:&lt;br /&gt;
[[Media:dynmenue08.PNG|Klick]].&lt;br /&gt;
Auf der Website sieht dies dann wie folgt aus:&lt;br /&gt;
[[Media:dynmenue09.PNG|Klick]]&lt;br /&gt;
oder auch&lt;br /&gt;
[[Media:dynmenue10.PNG|Klick]]&lt;br /&gt;
.&lt;br /&gt;
&lt;br /&gt;
Welche Untergruppen angezeigt werden, hängt zum einen davon ab, welcher Navigationspunkt gerade aktiv ist (also angeklickt wurde) und zum anderen von den benutzten Globals in der PHP-Datei ([[#Globalsreferenz|z.B. Parameter &amp;#039;full_load&amp;#039;]]) und den Einstellungen der Gruppe im Backend. &lt;br /&gt;
&lt;br /&gt;
Die Eigenschaftsseite der Gruppe erreicht man über einen Klick auf das Stiftsymbol&lt;br /&gt;
([[Media:dynmenue11.PNG|Klick]])&lt;br /&gt;
. Unter dem Punkt &amp;#039;&amp;#039;Veröffentlichen&amp;#039;&amp;#039;&lt;br /&gt;
([[Media:dynmenue12.PNG|Klick]])&lt;br /&gt;
wählt man nun eine Option aus: &lt;br /&gt;
:* &amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039;Ja&amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039;: die Gruppe wird auf der gesamten Website angezeigt, also auch in der dynamischen Navigation&lt;br /&gt;
:* &amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039;Nein&amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039;: die Gruppe wird auf der ganze Website nicht angezeigt, also weder in Gruppenliste noch in der dynamischen Navigation&lt;br /&gt;
:* &amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039;Ja, ohne Navigation&amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039;: die Gruppe wird zwar normal auf der Website angezeigt, jedoch in der dynamischen Navigation ausgeblendet&lt;br /&gt;
:* &amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039;Ja, ohne Subnavigation&amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039;: wie &amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039;Ja&amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039;, jedoch werden von diesem Menüpunkt in der dynamischen Navigation nur Untergruppen angezeigt, jedoch keine Artikel, die eventuell in dieser Gruppe liegen&lt;br /&gt;
&lt;br /&gt;
==Globalsreferenz==&lt;br /&gt;
&lt;br /&gt;
Dies hier erklärt die Globals aus dem PHP-Code von [[#Schritt 2: PHP-Datei für die dynamische Navigation erstellen|Schritt 2 des Punkts &amp;#039;&amp;#039;Einrichten&amp;#039;&amp;#039;]].&lt;br /&gt;
&lt;br /&gt;
===Globals direkt für das Plugin===&lt;br /&gt;
&amp;#039;&amp;#039;Die Parameter haben Default-Werte, müssen also nicht immer gesetzt werden&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
*&amp;#039;&amp;#039;&amp;#039;&amp;lt;tt&amp;gt;$GLOBALS[&amp;quot;DynPG&amp;quot;]-&amp;gt;SetParam_PlugIn_Template(&amp;#039;DPGdynmenu&amp;#039;, &amp;#039;TEMPLATEORDNER&amp;#039;);&amp;lt;/tt&amp;gt;&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
:Hiermit wählt man den Template-Ordner für die dynamische Navigation aus. Diese Template-Ordner liegen in &amp;lt;tt&amp;gt;dynpg/plugins/DPGdynmenu/templates&amp;lt;/tt&amp;gt;. Aus diesem Ordner wird die Template-Datei &amp;lt;tt&amp;gt;menu.tpl&amp;lt;/tt&amp;gt; zur Generierung des Menüs genommen. Dies ist unabhängig vom Global &amp;lt;tt&amp;gt;$GLOBALS[&amp;quot;DynPG&amp;quot;]-&amp;gt;SetupTemplate(...);&amp;lt;/tt&amp;gt;, der sozusagen das Template des Artikels bestimmt, welcher die dynamische Navigation enthält.&lt;br /&gt;
&lt;br /&gt;
*&amp;#039;&amp;#039;&amp;#039;&amp;lt;tt&amp;gt;$GLOBALS[&amp;quot;DynPG&amp;quot;]-&amp;gt;SetParam_PlugIn_Param(&amp;#039;DPGdynmenu&amp;#039;, PARAMETERNAME, PARAMETERWERT);&amp;lt;/tt&amp;gt;&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
:{| class=&amp;quot;dynpgwikitable&amp;quot;&lt;br /&gt;
! &amp;lt;tt&amp;gt;PARAMETERNAME&amp;lt;/tt&amp;gt; !! &amp;lt;tt&amp;gt;PARAMETERWERT&amp;lt;/tt&amp;gt; !! Beschreibung&lt;br /&gt;
|-&lt;br /&gt;
||&amp;lt;tt&amp;gt;&amp;#039;order&amp;#039;&amp;lt;/tt&amp;gt; || &amp;lt;tt&amp;gt;Array(&amp;#039;INDEX&amp;#039;)&amp;lt;/tt&amp;gt; oder &amp;lt;tt&amp;gt;Array(&amp;#039;NAME&amp;#039;)&amp;lt;/tt&amp;gt; || Reihenfolge der Gruppen in der Navigation nach Name oder im Backend gesetzten Index&lt;br /&gt;
|-&lt;br /&gt;
||&amp;lt;tt&amp;gt;&amp;#039;sort&amp;#039;&amp;lt;/tt&amp;gt; || &amp;lt;tt&amp;gt;Array(&amp;#039;ASC&amp;#039;)&amp;lt;/tt&amp;gt; oder &amp;lt;tt&amp;gt;Array(&amp;#039;DESC&amp;#039;)&amp;lt;/tt&amp;gt; || aufsteigende oder absteigende Sortierung&lt;br /&gt;
|-&lt;br /&gt;
||&amp;lt;tt&amp;gt;&amp;#039;order_articles&amp;#039;&amp;lt;/tt&amp;gt; || z.B. &amp;lt;tt&amp;gt;Array(&amp;#039;INDEX&amp;#039;)&amp;lt;/tt&amp;gt; || sortiert Artikel in der dynamischen Navigation (falls diese angezeigt werden) &lt;br /&gt;
|-&lt;br /&gt;
||&amp;lt;tt&amp;gt;&amp;#039;sort_articles&amp;#039;&amp;lt;/tt&amp;gt; || z.B. &amp;lt;tt&amp;gt;Array(&amp;#039;ASC&amp;#039;)&amp;lt;/tt&amp;gt; || bestimmt aufsteigende oder absteigende Sortierreihenfolge der Artikel&lt;br /&gt;
|-&lt;br /&gt;
||&amp;lt;tt&amp;gt;&amp;#039;href_page_groups&amp;#039;&amp;lt;/tt&amp;gt; || z.B. &amp;lt;tt&amp;gt;&amp;#039;../folgeseite.php&amp;#039;&amp;lt;/tt&amp;gt; || Seite auf die standardmäßig weiterverlinkt wird bei einem Klick auf den Gruppennamen, sofern die Gruppe Untergruppen hat. Wird dieser Parameter nicht angegeben, so wird auf die aktuelle PHP-Seite verlinkt. (ACHTUNG &amp;lt;tt&amp;gt;&amp;#039;../&amp;#039;&amp;lt;/tt&amp;gt; wichtig, siehe Ordnerstruktur weiter oben!)&lt;br /&gt;
|-&lt;br /&gt;
||&amp;lt;tt&amp;gt;&amp;#039;href_page_articles&amp;#039;&amp;lt;/tt&amp;gt; || z.B. &amp;lt;tt&amp;gt;&amp;#039;../folgeseite.php&amp;#039;&amp;lt;/tt&amp;gt; || Seite auf die standardmäßig weiterverlinkt wird bei einem Klick auf den Gruppennamen, sofern die Gruppe Artikel enthält. Wird dieser Parameter nicht angegeben, so wird auf die aktuelle PHP-Seite verlinkt. (ACHTUNG &amp;lt;tt&amp;gt;&amp;#039;../&amp;#039;&amp;lt;/tt&amp;gt; wichtig, siehe Ordnerstruktur weiter oben!)&lt;br /&gt;
|-&lt;br /&gt;
||&amp;lt;tt&amp;gt;&amp;#039;href_page_detail&amp;#039;&amp;lt;/tt&amp;gt; || z.B. &amp;lt;tt&amp;gt;&amp;#039;../folgeseite.php&amp;#039;&amp;lt;/tt&amp;gt; || Seite auf die standardmäßig weiterverlinkt wird bei einem Klick auf einen Artikelnamen. Wird dieser Parameter nicht angegeben, so wird auf die aktuelle PHP-Seite verlinkt. (ACHTUNG &amp;lt;tt&amp;gt;&amp;#039;../&amp;#039;&amp;lt;/tt&amp;gt; wichtig, siehe Ordnerstruktur weiter oben!)&lt;br /&gt;
|-&lt;br /&gt;
||&amp;lt;tt&amp;gt;&amp;#039;href_subpages&amp;#039;&amp;lt;/tt&amp;gt; || z.B. &amp;lt;pre&amp;gt;Array(&lt;br /&gt;
  GRUPPENNUMMER =&amp;gt; Array( &lt;br /&gt;
    &amp;#039;page&amp;#039; =&amp;gt; &amp;#039;PHP-SEITE{query}&amp;#039;,&lt;br /&gt;
    &amp;#039;successors&amp;#039; =&amp;gt; BOOLEAN&lt;br /&gt;
  ),&lt;br /&gt;
...&lt;br /&gt;
...&lt;br /&gt;
...&lt;br /&gt;
  GRUPPENNUMMER =&amp;gt; Array( &lt;br /&gt;
    &amp;#039;page&amp;#039; =&amp;gt; &amp;#039;PHP-SEITE{query}&amp;#039;,&lt;br /&gt;
    &amp;#039;successors&amp;#039; =&amp;gt; BOOLEAN&lt;br /&gt;
  ) &lt;br /&gt;
)&amp;lt;/pre&amp;gt; || Ermöglicht es, für bestimmte Gruppen auf eine spezielle &amp;lt;tt&amp;gt;PHP-SEITE&amp;lt;/tt&amp;gt; zu verlinken. Hierzu geben Sie anstatt &amp;lt;tt&amp;gt;GRUPPENNUMMER&amp;lt;/tt&amp;gt; die Gruppennummer der Gruppe aus dem Backend ein. Statt &amp;lt;tt&amp;gt;PHP-SEITE&amp;lt;/tt&amp;gt; fügen Sie den Namen und Pfad zur Zieldatei an, ausgehend vom Hauptverzeichnis des CMS!. Lassen Sie den Anhang &amp;lt;tt&amp;gt;{query}&amp;lt;/tt&amp;gt; genau so stehen, falls in die Zieldatei auch DynPG über Globals eingeben wurde. &amp;lt;tt&amp;gt;BOOLEAN&amp;lt;/tt&amp;gt; ersetzen Sie mit &amp;lt;tt&amp;gt;true&amp;lt;/tt&amp;gt; wenn für Untergruppen dieser Gruppe auch auf diese spezielle PHP-Seite verlink werden soll, ansonsten mit &amp;lt;tt&amp;gt;false&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Passen Sie auf, dass nach jedem &amp;lt;tt&amp;gt;GRUPPENNUMMER =&amp;gt; Array(...)&amp;lt;/tt&amp;gt; ein Komma notiert ist, allerdings nicht beim letzten.&lt;br /&gt;
|-&lt;br /&gt;
||&amp;lt;tt&amp;gt;&amp;#039;full_load&amp;#039;&amp;lt;/tt&amp;gt; || &amp;lt;tt&amp;gt;false&amp;lt;/tt&amp;gt; oder &amp;lt;tt&amp;gt;true&amp;lt;/tt&amp;gt; || zeigt unabhängig von angeklickten Gruppen den kompletten Navigationsbaum mit Untergruppen an (oder auch nicht)&lt;br /&gt;
|-&lt;br /&gt;
|| &amp;lt;tt&amp;gt;&amp;#039;full_load_articles&amp;#039;&amp;lt;/tt&amp;gt; || &amp;lt;tt&amp;gt;false&amp;lt;/tt&amp;gt; ||&lt;br /&gt;
|-&lt;br /&gt;
|| &amp;lt;tt&amp;gt;&amp;#039;limit_articles&amp;#039;&amp;lt;/tt&amp;gt; || &amp;lt;tt&amp;gt;false&amp;lt;/tt&amp;gt; oder eine Zahl || Sofern dieser Parameter eine Zahl als Wert erhält, bestimmt er die Anzahl der Artikel pro Gruppe, die in der dynamischen Navigation angezeigt werden, wenn eine Gruppe statt Untergruppen Artikel enthält.&lt;br /&gt;
|-&lt;br /&gt;
|| &amp;lt;tt&amp;gt;&amp;#039;expand_subtree&amp;#039;&amp;lt;/tt&amp;gt; || &amp;lt;tt&amp;gt;Array(4)&amp;lt;/tt&amp;gt; oder &amp;lt;tt&amp;gt;Array(4,5)&amp;lt;/tt&amp;gt; etc. || zeigt die Untergruppen von Gruppe 4 (bzw. 4 und 5) in jedem Fall an. Sei Gruppe 4 bspw. die Gruppe &amp;#039;&amp;#039;News&amp;#039;&amp;#039; des Backends, dann werden die beispielhaften Untergruppen &amp;#039;&amp;#039;Lokalnachrichten&amp;#039;&amp;#039; und &amp;#039;&amp;#039;Weltnachrichten&amp;#039;&amp;#039; immer zur Navigation angeboten, auch wenn sich ein Benutzer auf der Website gerade einen Artikel aus der Gruppe &amp;#039;&amp;#039;Kontakt&amp;#039;&amp;#039; anschaut&lt;br /&gt;
|- &lt;br /&gt;
|| &amp;lt;tt&amp;gt;&amp;#039;implode_subtree&amp;#039;&amp;lt;/tt&amp;gt; || &amp;lt;tt&amp;gt;Array(4)&amp;lt;/tt&amp;gt; oder &amp;lt;tt&amp;gt;Array(4,5)&amp;lt;/tt&amp;gt; etc. || zeigt die Untergruppen von Gruppe 4 (bzw. 4 und 5) in jedem Fall NICHT an. Anmerkung: der Parameter &amp;lt;tt&amp;gt;expand_subtree&amp;lt;/tt&amp;gt; überschreibt diese Einstellung! Ist also eine Gruppe in beiden Parametern aufgeführt, so werden die Untergruppen dieser Gruppe immer angezeigt, da der Parameter &amp;lt;tt&amp;gt;expand_subtree&amp;lt;/tt&amp;gt; wichtiger ist.&lt;br /&gt;
|-&lt;br /&gt;
|| &amp;lt;tt&amp;gt;&amp;#039;real_expand&amp;#039;&amp;lt;/tt&amp;gt; || &amp;lt;tt&amp;gt;false&amp;lt;/tt&amp;gt; oder &amp;lt;tt&amp;gt;true&amp;lt;/tt&amp;gt; || Verwenden Sie das Template &amp;#039;&amp;#039;intelligent&amp;#039;&amp;#039; für die dynamische Navigation, setzen Sie diesen Parameter auf &amp;lt;tt&amp;gt;true&amp;lt;/tt&amp;gt;, ansonsten auf &amp;lt;tt&amp;gt;false&amp;lt;/tt&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|| &amp;lt;tt&amp;gt;&amp;#039;parent_select&amp;#039;&amp;lt;/tt&amp;gt; || &amp;lt;tt&amp;gt;true&amp;lt;/tt&amp;gt; ||&lt;br /&gt;
|-&lt;br /&gt;
|| &amp;lt;tt&amp;gt;&amp;#039;max_depth&amp;#039;&amp;lt;/tt&amp;gt; || &amp;lt;tt&amp;gt;null&amp;lt;/tt&amp;gt; oder &amp;lt;tt&amp;gt;0&amp;lt;/tt&amp;gt; oder &amp;lt;tt&amp;gt;1&amp;lt;/tt&amp;gt; etc. || Tiefe bis zu der (Unter-)Gruppen angezeigt werden&lt;br /&gt;
|-&lt;br /&gt;
|| &amp;lt;tt&amp;gt;&amp;#039;min_depth&amp;#039;&amp;lt;/tt&amp;gt; || &amp;lt;tt&amp;gt;null&amp;lt;/tt&amp;gt; oder &amp;lt;tt&amp;gt;0&amp;lt;/tt&amp;gt; oder &amp;lt;tt&amp;gt;1&amp;lt;/tt&amp;gt; etc. || Tiefe, die eine Gruppe mindestens haben muss um angezeigt zu werden, z.B. 1 um oberste Ebene der Gruppen aus dem Backend auszublenden&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Sinnvolle Globals vom DynPG-CMS===&lt;br /&gt;
&lt;br /&gt;
*&amp;#039;&amp;#039;&amp;#039;&amp;lt;tt&amp;gt;$GLOBALS[&amp;quot;DynPG&amp;quot;]-&amp;gt;SetupTemplate(&amp;#039;uneditable&amp;#039;);&amp;lt;/tt&amp;gt; &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
:ermöglicht Navigation in der Seite obwohl Editiermodus im Backend angeschaltet ist&lt;br /&gt;
*&amp;#039;&amp;#039;&amp;#039;&amp;lt;tt&amp;gt;$GLOBALS[&amp;quot;DynPG&amp;quot;]-&amp;gt;SetParam_A_Anytime(TRUE);&amp;lt;/tt&amp;gt; &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
:Menü soll immer angezeigt werden&lt;br /&gt;
*&amp;#039;&amp;#039;&amp;#039;&amp;lt;tt&amp;gt;$GLOBALS[&amp;quot;DynPG&amp;quot;]-&amp;gt;SetParam_A_CategoryNavigation(FALSE);&amp;lt;/tt&amp;gt; &amp;#039;&amp;#039;&amp;#039; &lt;br /&gt;
:keine weitere Navigation(Breadcrumb) anzeigen&lt;br /&gt;
*&amp;#039;&amp;#039;&amp;#039;&amp;lt;tt&amp;gt;$GLOBALS[&amp;quot;DynPG&amp;quot;]-&amp;gt;SetParam_A_PrintNavigation(FALSE);&amp;lt;/tt&amp;gt; &amp;#039;&amp;#039;&amp;#039; &lt;br /&gt;
:kein Link zu Print-Seite anzeigen&lt;br /&gt;
*&amp;#039;&amp;#039;&amp;#039;&amp;lt;tt&amp;gt;$GLOBALS[&amp;quot;DynPG&amp;quot;]-&amp;gt;SetParam_A_ArticleHeader(FALSE);&amp;lt;/tt&amp;gt; &amp;#039;&amp;#039;&amp;#039; &lt;br /&gt;
:keine Artikelüberschrift (des Artikels mit dem DynMenü-Platzhalter) und kein Artikelleadtext anzeigen&lt;br /&gt;
*&amp;#039;&amp;#039;&amp;#039;&amp;lt;tt&amp;gt;$GLOBALS[&amp;quot;DynPG&amp;quot;]-&amp;gt;SetParam_A_Article(1);&amp;lt;/tt&amp;gt; &amp;#039;&amp;#039;&amp;#039; &lt;br /&gt;
:Artikel mit dem Dynmenü-Platzhalter setzen (&amp;#039;&amp;#039;&amp;#039;Hier die Artikelnummer aus [[#Einrichten|Einrichten]] einfügen!&amp;#039;&amp;#039;&amp;#039;)&lt;br /&gt;
*&amp;#039;&amp;#039;&amp;#039;&amp;lt;tt&amp;gt;$GLOBALS[&amp;quot;DynPG&amp;quot;]-&amp;gt;Write_Article();&amp;lt;/tt&amp;gt; &amp;#039;&amp;#039;&amp;#039; &lt;br /&gt;
:Artikel ausgeben&lt;br /&gt;
*&amp;#039;&amp;#039;&amp;#039;&amp;lt;tt&amp;gt;$GLOBALS[&amp;quot;DynPG&amp;quot;]-&amp;gt;SetupTemplate(&amp;#039;default&amp;#039;);&amp;lt;/tt&amp;gt; &amp;#039;&amp;#039;&amp;#039; &lt;br /&gt;
:andere Teile der Website haben sicherlich andere Templates. Wir setzen daher hier wieder auf das Standard-Template zurück&lt;br /&gt;
&lt;br /&gt;
==CSS==&lt;br /&gt;
Die CSS-Dateien für die dynamische Navigation liegen im Verzeichnis &amp;lt;tt&amp;gt;dynpg/plugins/DPGdynmenu/styles&amp;lt;/tt&amp;gt;. Die Datei &amp;lt;tt&amp;gt;menu.css&amp;lt;/tt&amp;gt; ist hierbei meist die ausschlaggebende, so zum Beispiel in der Navigation der Musterwebsite 3.&lt;br /&gt;
&lt;br /&gt;
Die CSS-Klassen und -Bezeichner aus dieser Datei sind nach einem bestimmten Schema benannt. Hat man dieses einmal verstanden, so lassen sich leicht Änderungen an speziellen Teilen des Erscheinungsbildes der dynamischen Navigation durchführen.&lt;br /&gt;
&lt;br /&gt;
Die dynamische Navigation wird von einem &amp;lt;tt&amp;gt;div&amp;lt;/tt&amp;gt;-Tag mit der Id &amp;lt;tt&amp;gt;course_categories_menu&amp;lt;/tt&amp;gt; umschlossen.&lt;br /&gt;
&lt;br /&gt;
Diese Angaben gelten also grundsätzlich für die gesamte dynamische Navigation und werden gegebenenfalls weitervererbt.&lt;br /&gt;
Im &amp;lt;tt&amp;gt;menu.css&amp;lt;/tt&amp;gt; der Muster-Website 3 steht beispielsweise:&lt;br /&gt;
&amp;lt;code&amp;gt;[css, N]&lt;br /&gt;
div#course_categories_menu {&lt;br /&gt;
  margin: 0;&lt;br /&gt;
  padding: 0;&lt;br /&gt;
  width: 180px;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Um zu verhindern, dass die CSS-Angaben dieser Datei auch auf andere Teile der Website Einfluss haben, ist vor allen anderen CSS-Definitionen der Datei ebenfalls &amp;lt;tt&amp;gt;div#course_categories_menu&amp;lt;/tt&amp;gt; notiert. Dadurch wirken sich die Angaben nur auf die dynamische Navigation aus.&lt;br /&gt;
&lt;br /&gt;
Innerhalb des &amp;lt;tt&amp;gt;course_categories_menu&amp;lt;/tt&amp;gt; - &amp;lt;tt&amp;gt;div&amp;lt;/tt&amp;gt; - Tags gibt es für jede Gruppe der obersten angezeigten Gruppenebene ein &amp;lt;div&amp;gt;-Tag mit der CSS-Id &amp;lt;tt&amp;gt;group_fold_NUMMER&amp;lt;/tt&amp;gt; wobei &amp;lt;tt&amp;gt;NUMMER&amp;lt;/tt&amp;gt; der Gruppennummer der Gruppe aus dem Backend entspricht. In der Navigation der Muster-Website 3 gibt es also folgende Tags:&lt;br /&gt;
&amp;lt;code&amp;gt;[html, N]&lt;br /&gt;
&amp;lt;div id=&amp;quot;course_categories_menu&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;div id=&amp;quot;group_fold_2&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;  &amp;lt;!--Produkte--&amp;gt;&lt;br /&gt;
  &amp;lt;div id=&amp;quot;group_fold_3&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;  &amp;lt;!--Support--&amp;gt;&lt;br /&gt;
  &amp;lt;div id=&amp;quot;group_fold_9&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;  &amp;lt;!--News--&amp;gt;&lt;br /&gt;
  &amp;lt;div id=&amp;quot;group_fold_4&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;  &amp;lt;!--Über uns--&amp;gt;&lt;br /&gt;
  &amp;lt;div id=&amp;quot;group_fold_5&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;  &amp;lt;!--Kontakt--&amp;gt;&lt;br /&gt;
  &amp;lt;div id=&amp;quot;group_fold_21&amp;quot;&amp;gt;&amp;lt;/div&amp;gt; &amp;lt;!--Blog--&amp;gt;&lt;br /&gt;
  &amp;lt;div id=&amp;quot;group_fold_15&amp;quot;&amp;gt;&amp;lt;/div&amp;gt; &amp;lt;!--Sitemap--&amp;gt;&lt;br /&gt;
  &amp;lt;div id=&amp;quot;group_fold_6&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;  &amp;lt;!--Home--&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
Möchte man nun Eigenschaften nur an einem bestimmten Teil der Navigation machen, so könnte man im CSS-File folgende Angabe machen:&lt;br /&gt;
&amp;lt;code&amp;gt;[css, N]&lt;br /&gt;
div#course_categories_menu div#group_fold_9 {&lt;br /&gt;
  text-decoration:blink;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
Damit würde der Text der Gruppe &amp;#039;&amp;#039;News&amp;#039;&amp;#039; (und eventueller Untergruppen) in der dynamischen Navigation blinken.&lt;br /&gt;
&lt;br /&gt;
Innerhalb der &amp;lt;tt&amp;gt;group_fold_NUMMER&amp;lt;/tt&amp;gt; - &amp;lt;tt&amp;gt;div&amp;lt;/tt&amp;gt; - Tags gibt es nun ein &amp;lt;tt&amp;gt;div&amp;lt;/tt&amp;gt; - Tag, dass (neben einer weiteren CSS-Id) eine CSS-Klasse hat. Diese CSS-Klasse wird nach folgendem Muster gebildet:&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;&amp;lt;tt&amp;gt;level_&amp;#039;&amp;#039;A&amp;#039;&amp;#039;_&amp;#039;&amp;#039;B&amp;#039;&amp;#039;_&amp;#039;&amp;#039;C&amp;#039;&amp;#039;_&amp;#039;&amp;#039;D&amp;#039;&amp;#039;_&amp;#039;&amp;#039;E&amp;#039;&amp;#039;&amp;lt;/tt&amp;gt;&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;dynpgwikitable&amp;quot;&lt;br /&gt;
! Buchstabe !! mögliche Werte !! Beschreibung&lt;br /&gt;
|-&lt;br /&gt;
|| &amp;lt;tt&amp;gt;&amp;#039;&amp;#039;A&amp;#039;&amp;#039;&amp;lt;/tt&amp;gt; || 0 oder 1 oder 2 etc. || gibt das Level der Gruppe an, also die Verzweigungstiefe in der sich die Navigation befindet&lt;br /&gt;
|-&lt;br /&gt;
|| &amp;lt;tt&amp;gt;&amp;#039;&amp;#039;B&amp;#039;&amp;#039;&amp;lt;/tt&amp;gt; || &amp;lt;tt&amp;gt;r&amp;lt;/tt&amp;gt; (nicht letzter), &amp;lt;tt&amp;gt;e&amp;lt;/tt&amp;gt; (letzter) || gibt an, ob nach dieser Gruppe noch weitere aufgelistet werden (z.B. in Musterwebsite 3 ist die Gruppe 6 &amp;quot;Home&amp;quot; die letzte des Menüs)&lt;br /&gt;
|-&lt;br /&gt;
|| &amp;lt;tt&amp;gt;&amp;#039;&amp;#039;C&amp;#039;&amp;#039;&amp;lt;/tt&amp;gt; ||  &amp;lt;tt&amp;gt;a&amp;lt;/tt&amp;gt; (ist aktiv), &amp;lt;tt&amp;gt;i&amp;lt;/tt&amp;gt; (ist nicht aktiv) || gibt an, ob die Gruppe aktiv ist, d.h. ob sie durch einen Klick ausgewählt wurde&lt;br /&gt;
|-&lt;br /&gt;
|| &amp;lt;tt&amp;gt;&amp;#039;&amp;#039;D&amp;#039;&amp;#039;&amp;lt;/tt&amp;gt; ||  &amp;lt;tt&amp;gt;exp&amp;lt;/tt&amp;gt; (ausgeklappt), cll(eingeklappt) || gibt an, ob die Untergruppen dieser Gruppe ausgeklappt sind oder nicht&lt;br /&gt;
|-&lt;br /&gt;
|| &amp;lt;tt&amp;gt;&amp;#039;&amp;#039;E&amp;#039;&amp;#039;&amp;lt;/tt&amp;gt; ||  &amp;lt;tt&amp;gt;_hover&amp;lt;/tt&amp;gt; (Mauszeiger ist über dem Element), nichts (Mauszeiger ist nicht über dem Element) || gibt an, ob sich der Mauszeiger über dem Gruppennamen befindet oder nicht&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Mithilfe dieses Schemas kann man nun bestimmen, welche CSS-Klassen man in der CSS-Datei angeben muss um bestimmte Effekte hervorzurufen.&lt;br /&gt;
Möchte man beispielsweise, dass alle Elemente der zweitobersten Ebene blinken, wenn der Mauszeiger über dem Element ist, so notiert man in der CSS-Datei:&lt;br /&gt;
&amp;lt;code&amp;gt;[css, N]&lt;br /&gt;
div#course_categories_menu div#level_1_r_a_exp_hover,&lt;br /&gt;
div#course_categories_menu div#level_1_r_a_cll_hover,&lt;br /&gt;
div#course_categories_menu div#level_1_r_i_exp_hover,&lt;br /&gt;
div#course_categories_menu div#level_1_r_i_cll_hover,&lt;br /&gt;
div#course_categories_menu div#level_1_e_a_exp_hover,&lt;br /&gt;
div#course_categories_menu div#level_1_e_a_cll_hover,&lt;br /&gt;
div#course_categories_menu div#level_1_e_i_exp_hover,&lt;br /&gt;
div#course_categories_menu div#level_1_e_i_cll_hover {&lt;br /&gt;
  text-decoration:blink;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Diese Struktur der &amp;lt;tt&amp;gt;div&amp;lt;/tt&amp;gt;-Tags wiederholt sich mit tieferen Gruppenebenen / Untergruppen. Zum Beispiel tauchen die &amp;lt;tt&amp;gt;div&amp;lt;/tt&amp;gt;-Tags der Untergruppen vom &amp;#039;&amp;#039;Über uns&amp;#039;&amp;#039;-Menüpunkt aus der Muster-Website 3 innerhalb des &amp;lt;tt&amp;gt;group_fold_4&amp;lt;/tt&amp;gt; - &amp;lt;tt&amp;gt;div&amp;lt;/tt&amp;gt; - Tags auf.&lt;br /&gt;
&lt;br /&gt;
Weitere Informationen über die CSS-Klassen kann man schnell erhalten, indem man sich den HTML-Code eines generierten dynamischen Menüs anschaut, zum Beispiel aus der Muster-Website 3.&lt;br /&gt;
&lt;br /&gt;
==Templates==&lt;br /&gt;
Diese Templates liegen im Ordner &amp;lt;tt&amp;gt;dynpg/plugins/DPGdynmenu/templates&amp;lt;/tt&amp;gt;. Hier finden sie Ordner, die jeweils eine &amp;lt;tt&amp;gt;menu.tpl&amp;lt;/tt&amp;gt; enthalten. Welcher dieser Ordner aktiv ist, bestimmen Sie durch das Global &amp;lt;tt&amp;gt;$GLOBALS[&amp;quot;DynPG&amp;quot;]-&amp;gt;SetParam_PlugIn_Template(&amp;#039;DPGdynmenu&amp;#039;, &amp;#039;TEMPLATEORDNER&amp;#039;);&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Die Templates dienen als Vorlage für die Generierung des HTML-Codes der dynamischen Navigation. In ihnen werden auch die CSS-Klassen definiert, welche in [[#CSS|CSS]] erklärt wurden. Außerdem finden hier Templateplatzhalter der Form &amp;lt;tt&amp;gt;&amp;lt;nowiki&amp;gt;{$PLATZHALTER}&amp;lt;/nowiki&amp;gt;&amp;lt;/tt&amp;gt; Verwendung, die DynPG dynamisch durch Inhalt ersetzt.&lt;br /&gt;
&lt;br /&gt;
Das Template &amp;#039;&amp;#039;horizontal&amp;#039;&amp;#039; der Musterwebsite 3 generiert beispielsweise ein horizontales Menü, während das Template &amp;#039;&amp;#039;intelligent&amp;#039;&amp;#039; ein vertikales Menü erzeugt.&lt;br /&gt;
&lt;br /&gt;
Modifikationen an den Templates sind recht komplex. Sollten Sie vorhaben hier Änderungen durchzuführen, wenden Sie sich an das DynPG-Forum.&lt;br /&gt;
&lt;br /&gt;
==Feste Links einbauen==&lt;br /&gt;
&lt;br /&gt;
Hierzu erstellt man im Backend eine Gruppe mit dem Namen des festen Links und merkt sich die Gruppennummer. Mittels des Plugin-Parameters &amp;lt;tt&amp;gt;&amp;#039;href_subpages&amp;#039;&amp;lt;/tt&amp;gt; setzt man für diese Gruppennummer nun als Ziel die Datei &amp;lt;tt&amp;gt;counter.php&amp;lt;/tt&amp;gt; fest und übergibt dieser als Parameter das feste Linkziel. Beispiel: Wir wollen einen Link auf die Google-Webseite setzen. Also erstellen wir im Backend eine Gruppe mit dem Namen &amp;#039;&amp;#039;Google-Websuche&amp;#039;&amp;#039; und notieren die Gruppennummer (z.B. 33). In die PHP-Datei unserer dynamischen Navigation fügen wir nun folgendes ein:&lt;br /&gt;
&amp;lt;code&amp;gt;[php, N]&lt;br /&gt;
$GLOBALS[&amp;quot;DynPG&amp;quot;]-&amp;gt;SetParam_PlugIn_Param(&lt;br /&gt;
  &amp;#039;DPGdynmenu&amp;#039;,&lt;br /&gt;
  &amp;#039;href_subpages&amp;#039;,&lt;br /&gt;
  Array(&lt;br /&gt;
	33 =&amp;gt; Array(&lt;br /&gt;
      &amp;#039;page&amp;#039; =&amp;gt; &amp;#039;counter.php?inc=http://www.google.com&amp;#039;,&lt;br /&gt;
      &amp;#039;successors&amp;#039; =&amp;gt; true&lt;br /&gt;
    )		&lt;br /&gt;
  )&lt;br /&gt;
);&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Mehrsprachiges Menü==&lt;br /&gt;
&lt;br /&gt;
Hierzu gibt es einen Thread in unserem Forum unter [http://www.dynpg.ch/dynpg-forum.php?t=&amp;amp;read_group=30&amp;amp;thread_id=47&amp;amp;tt=Sprachwechsel]. Die grundsätzliche Idee ist (bei zwei Sprachen) zwei Gruppenbäume im Backend aufzubauen. Die oberste Gruppe des ersten Baumes wäre beispielsweise die Gruppe &amp;#039;&amp;#039;Deutsch&amp;#039;&amp;#039;, die oberste Gruppe des zweiten Baumes wäre zum Beispiel &amp;#039;&amp;#039;English&amp;#039;&amp;#039;.&lt;br /&gt;
&lt;br /&gt;
In der zweiten Ebene kommen dann unter &amp;#039;&amp;#039;Deutsch&amp;#039;&amp;#039; bzw. &amp;#039;&amp;#039;English&amp;#039;&amp;#039; Untergruppen wie &amp;#039;&amp;#039;News&amp;#039;&amp;#039;/&amp;#039;&amp;#039;Nachrichten&amp;#039;&amp;#039;, &amp;#039;&amp;#039;Produkte&amp;#039;&amp;#039;/&amp;#039;&amp;#039;Products&amp;#039;&amp;#039;, &amp;#039;&amp;#039;Hilfe&amp;#039;&amp;#039;/&amp;#039;&amp;#039;Support&amp;#039;&amp;#039; und so weiter. Man erstellt sich nun zwei PHP-Dateien (&amp;lt;tt&amp;gt;navi_de.php&amp;lt;/tt&amp;gt;, &amp;lt;tt&amp;gt;navi_en.php&amp;lt;/tt&amp;gt;) wie oben beschrieben [[#Einrichten|Einrichten]]. In diesen wird dann mit den Befehlen aus [[#Globalsreferenz|Globalsreferenz]] der jeweils nicht passende Baum ausgeblendet.&lt;br /&gt;
&lt;br /&gt;
==Siehe auch==&lt;br /&gt;
*[[Sitemap-Tutorial]]&lt;br /&gt;
*[[Implementation eines kompletten Hauptmenüs]]&lt;br /&gt;
*[[Code-Schnipsel Einfaches Hauptmenü]]&lt;br /&gt;
*[[Code-Schnipsel Menüeinträge sortieren]]&lt;br /&gt;
*[[Snippet-Beispiele]]&lt;/div&gt;</summary>
		<author><name>Sebastian</name></author>	</entry>

	<entry>
		<id>https://wiki-en.dynpg.org/wiki_de/index.php?title=Dynamische_Navigation</id>
		<title>Dynamische Navigation</title>
		<link rel="alternate" type="text/html" href="https://wiki-en.dynpg.org/wiki_de/index.php?title=Dynamische_Navigation"/>
				<updated>2009-08-17T16:11:02Z</updated>
		
		<summary type="html">&lt;p&gt;Sebastian: /* Globals direkt für das Plugin */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Kategorie:Module]]&lt;br /&gt;
==Beschreibung==&lt;br /&gt;
Die dynamische Navigation ist Bestandteil des kostenlosen Grundmoduls von DynPG und bereits im Standard-DynPG integriert. Es ist keine separate Installation notwendig. Sie ermöglicht es Ihnen einfach und flexibel Navigationen auf Ihrer Homepage zu erstellen. Die Anwendungsmöglichkeiten gestalten sich dabei flexibel als normales Menü oder auch als Sitemap.&lt;br /&gt;
&lt;br /&gt;
Ein dynamisches Menü bildet die Gruppenstruktur im Backend, also die Abfolge von Gruppen, Untergruppen und Artikeln in einer Gruppe, als Menü ab, macht also die logische Struktur ihrer Artikel aus dem Backend auf einer Webseite sichtbar und navigierbar. &lt;br /&gt;
&lt;br /&gt;
Der Vorteil ist, dass man im Backend neue Gruppen o.ä. erstellt und diese dann im Hauptmenü erscheinen. Dies ist auch bei Untergruppen nützlich,&lt;br /&gt;
z.B. wenn eine neue Untergruppe &amp;#039;&amp;#039;Lokalnachrichten&amp;#039;&amp;#039; zur Hauptgruppe &amp;#039;&amp;#039;News&amp;#039;&amp;#039; hinzukommt.&lt;br /&gt;
&lt;br /&gt;
Zum Verständnis der Funktionsvielfalt der dynamischen Navigation ist es hilfreich, einmal eine der [[Muster-Web-Sites|Musterwebsites]] zu installieren und in den entsprechenden Dateien der Musterwebsite die unten erklärten Einstellungsmöglichkeiten nachzuvollziehen und vielleicht auch einmal mit den Optionen herumzuspielen.&lt;br /&gt;
&lt;br /&gt;
==Einrichten==&lt;br /&gt;
&amp;#039;&amp;#039;Anmerkung: Benutzen sie die [[Muster-Web-Sites|Musterwebsites]], so müssen die nachfolgenden zwei Schritte nicht ausgeführt werden, da die dynamische Navigation bereits in den Musterwebsites genutzt wird&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
===Schritt 1: Artikel erstellen mit Platzhalter für die dynamische Navigation===&lt;br /&gt;
Wählen Sie im Menü des Backends &amp;#039;&amp;#039;Gruppen&amp;#039;&amp;#039; aus [[Media:dynmenue01.png|Klick]]. Suchen Sie sich nun eine Gruppe, in der Sie einen Artikel erfassen wollen. Hier wählen wir (die in diesem Falle schon vorhandene) Gruppe &amp;#039;&amp;#039;Startseite/Navigation/Formular&amp;#039;&amp;#039; durch Klick auf ihren Namen aus [[Media:dynmenue02.png|Klick]].&lt;br /&gt;
&lt;br /&gt;
Mit einem Klick auf &amp;#039;&amp;#039;Artikel Formular anzeigen&amp;#039;&amp;#039; [[Media:dynmenue03.PNG|Klick]] und danach auf &amp;#039;&amp;#039;Inhalt bearbeiten&amp;#039;&amp;#039; [[Media:dynmenue04.PNG|Klick]] erscheint der Editor.&lt;br /&gt;
&lt;br /&gt;
In diesem wählen Sie das Symbol für die dynamische Navigation [[Media:dynmenue05.PNG|Klick]], geben noch einen Titel, etwa &amp;#039;&amp;#039;Neue Seitennavigation&amp;#039;&amp;#039;, ein und bestätigen mit einem Klick auf &amp;#039;&amp;#039;Erstellen&amp;#039;&amp;#039; [[Media:dynmenue06.PNG|Klick]]. &lt;br /&gt;
&lt;br /&gt;
Hat alles geklappt, können Sie im unteren Teil der Seite den neuen Artikel sehen [[Media:dynmenue07.PNG|Klick]]. Die Nummer des Artikels benötigen Sie erneut, wenn Sie in eine PHP-Datei mittels eines Globals die dynamische Navigation einbinden.&lt;br /&gt;
&lt;br /&gt;
===Schritt 2: PHP-Datei für die dynamische Navigation erstellen===&lt;br /&gt;
Folgende Ordner-Struktur könnte bei Ihnen vorliegen:&lt;br /&gt;
:*&amp;lt;tt&amp;gt;http-docs/dynpg&amp;lt;/tt&amp;gt; : hier liegt das DynPG-CMS&lt;br /&gt;
:*&amp;lt;tt&amp;gt;http-docs/index.php&amp;lt;/tt&amp;gt; : die Hauptseite Ihrer Website&lt;br /&gt;
:*&amp;lt;tt&amp;gt;http-docs/folgeseite.php&amp;lt;/tt&amp;gt; : eine andere PHP-Datei der Website&lt;br /&gt;
:*&amp;lt;tt&amp;gt;http-docs/inc/navi.php&amp;lt;/tt&amp;gt; : In diese Datei platziert man häufig den Code für die Navigation, dadurch ist er leichter wiederverwendbar&lt;br /&gt;
&lt;br /&gt;
Den nötigen Code der &amp;lt;tt&amp;gt;inc/navi.php&amp;lt;/tt&amp;gt; kann man anhand der [[Muster-Web-Sites|Musterwebsites]] nachvollziehen (Für eine genauere Erklärung der einzelnen verwendeten Globals siehe die [[Funktionsreferenz/Globals|Globals-Übersicht von DynPG]] und weiter unten die [[#Globalsreferenz|Funktionsübersicht der dynamischen Navigation]]) :&lt;br /&gt;
:*&amp;#039;&amp;#039;&amp;#039;&amp;lt;tt&amp;gt;inc/navi.php&amp;lt;/tt&amp;gt;:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;code&amp;gt;[php, N]&lt;br /&gt;
&amp;lt;?php&lt;br /&gt;
  $GLOBALS[&amp;quot;DynPG&amp;quot;]-&amp;gt;SetParam_PlugIn_Template(&amp;#039;DPGdynmenu&amp;#039;, &amp;#039;intelligent&amp;#039;);&lt;br /&gt;
  $GLOBALS[&amp;quot;DynPG&amp;quot;]-&amp;gt;SetParam_PlugIn_Param(&amp;#039;DPGdynmenu&amp;#039;, &amp;#039;real_expand&amp;#039;, TRUE);&lt;br /&gt;
  $GLOBALS[&amp;quot;DynPG&amp;quot;]-&amp;gt;SetParam_PlugIn_Param(&amp;#039;DPGdynmenu&amp;#039;, &amp;#039;order&amp;#039;, Array(&amp;#039;INDEX&amp;#039;));&lt;br /&gt;
  $GLOBALS[&amp;quot;DynPG&amp;quot;]-&amp;gt;SetParam_PlugIn_Param(&amp;#039;DPGdynmenu&amp;#039;, &amp;#039;sort&amp;#039;, Array(&amp;#039;ASC&amp;#039;));&lt;br /&gt;
  $GLOBALS[&amp;quot;DynPG&amp;quot;]-&amp;gt;SetParam_PlugIn_Param(&amp;#039;DPGdynmenu&amp;#039;, &amp;#039;href_page_groups&amp;#039;, &amp;#039;../folgeseite.php&amp;#039;);&lt;br /&gt;
  $GLOBALS[&amp;quot;DynPG&amp;quot;]-&amp;gt;SetParam_PlugIn_Param(&amp;#039;DPGdynmenu&amp;#039;, &amp;#039;href_page_articles&amp;#039;, &amp;#039;../folgeseite.php&amp;#039;);&lt;br /&gt;
  $GLOBALS[&amp;quot;DynPG&amp;quot;]-&amp;gt;SetParam_PlugIn_Param(&amp;#039;DPGdynmenu&amp;#039;, &amp;#039;href_page_detail&amp;#039;, &amp;#039;../folgeseite.php&amp;#039;);&lt;br /&gt;
  $GLOBALS[&amp;quot;DynPG&amp;quot;]-&amp;gt;SetParam_PlugIn_Param(&lt;br /&gt;
    &amp;#039;DPGdynmenu&amp;#039;,&lt;br /&gt;
    &amp;#039;href_subpages&amp;#039;,&lt;br /&gt;
    Array(&lt;br /&gt;
      0 =&amp;gt; Array(&lt;br /&gt;
        &amp;#039;page&amp;#039; =&amp;gt; &amp;#039;../formular.php{query}&amp;#039;,&lt;br /&gt;
        &amp;#039;successors&amp;#039; =&amp;gt; true&lt;br /&gt;
      ),&lt;br /&gt;
      21 =&amp;gt; Array(&lt;br /&gt;
        &amp;#039;page&amp;#039; =&amp;gt; &amp;#039;../blog.php{query}&amp;#039;,&lt;br /&gt;
        &amp;#039;successors&amp;#039; =&amp;gt; true&lt;br /&gt;
      ),&lt;br /&gt;
      15 =&amp;gt; Array(&lt;br /&gt;
        &amp;#039;page&amp;#039; =&amp;gt; &amp;#039;../sitemap.php{query}&amp;#039;,&lt;br /&gt;
        &amp;#039;successors&amp;#039; =&amp;gt; true&lt;br /&gt;
      ),&lt;br /&gt;
      16 =&amp;gt; Array(&lt;br /&gt;
        &amp;#039;page&amp;#039; =&amp;gt; &amp;#039;../veranstaltungen.php{query}&amp;#039;,&lt;br /&gt;
        &amp;#039;successors&amp;#039; =&amp;gt; true&lt;br /&gt;
      ),&lt;br /&gt;
      21 =&amp;gt; Array(&lt;br /&gt;
        &amp;#039;page&amp;#039; =&amp;gt; &amp;#039;../blog.php{query}&amp;#039;,&lt;br /&gt;
        &amp;#039;successors&amp;#039; =&amp;gt; true&lt;br /&gt;
      ),&lt;br /&gt;
      6 =&amp;gt; Array(&lt;br /&gt;
        &amp;#039;page&amp;#039; =&amp;gt; &amp;#039;../index.php{query}&amp;#039;,&lt;br /&gt;
        &amp;#039;successors&amp;#039; =&amp;gt; true&lt;br /&gt;
      )&lt;br /&gt;
    )&lt;br /&gt;
  );    &lt;br /&gt;
  $GLOBALS[&amp;quot;DynPG&amp;quot;]-&amp;gt;SetupTemplate(&amp;#039;uneditable&amp;#039;); &lt;br /&gt;
  $GLOBALS[&amp;quot;DynPG&amp;quot;]-&amp;gt;SetParam_A_Anytime(TRUE);&lt;br /&gt;
  $GLOBALS[&amp;quot;DynPG&amp;quot;]-&amp;gt;SetParam_A_CategoryNavigation(FALSE);&lt;br /&gt;
  $GLOBALS[&amp;quot;DynPG&amp;quot;]-&amp;gt;SetParam_A_PrintNavigation(FALSE);&lt;br /&gt;
  $GLOBALS[&amp;quot;DynPG&amp;quot;]-&amp;gt;SetParam_A_ArticleHeader(FALSE);&lt;br /&gt;
  $GLOBALS[&amp;quot;DynPG&amp;quot;]-&amp;gt;SetParam_A_Article(1);&lt;br /&gt;
&lt;br /&gt;
  $GLOBALS[&amp;quot;DynPG&amp;quot;]-&amp;gt;Write_Article();&lt;br /&gt;
  $GLOBALS[&amp;quot;DynPG&amp;quot;]-&amp;gt;SetupTemplate(&amp;#039;default&amp;#039;);  &lt;br /&gt;
?&amp;gt;&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Man kann nun in der &amp;lt;tt&amp;gt;index.php&amp;lt;/tt&amp;gt; mittels &lt;br /&gt;
&amp;lt;code&amp;gt;[php, N]&lt;br /&gt;
&amp;lt;?php include(&amp;quot;inc/navi.php&amp;quot;); ?&amp;gt;&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
die Navigation einbinden, ebenso z.B. auch in der &amp;lt;tt&amp;gt;folgeseite.php&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Die dynamische Navigation kann nun an verschiedenen Stellen angepasst werden. Neben den Globals in der PHP-Datei ([[#Globalsreferenz|Globalsreferenz]]) ist dies im Backend durch das Erstellen von Gruppen und Artikeln möglich ([[#Dynamische_Navigation_im_Backend|Dynamische Navigation im Backend]]). Erweiterte Möglichkeiten ergeben sich durch das [[#CSS|CSS]] und die [[#Templates|Templates]].&lt;br /&gt;
&lt;br /&gt;
==Die dynamische Navigation im Backend==&lt;br /&gt;
&lt;br /&gt;
Wie bereits erwähnt, bildet die dynamische Navigation die Gruppenstruktur des Backends auf einer Webseite ab. In der Musterwebsite 3 ist im Backend zum Beispiel folgende Gruppenstruktur zu erkennen:&lt;br /&gt;
[[Media:dynmenue08.PNG|Klick]].&lt;br /&gt;
Auf der Website sieht dies dann wie folgt aus:&lt;br /&gt;
[[Media:dynmenue09.PNG|Klick]]&lt;br /&gt;
oder auch&lt;br /&gt;
[[Media:dynmenue10.PNG|Klick]]&lt;br /&gt;
.&lt;br /&gt;
&lt;br /&gt;
Welche Untergruppen angezeigt werden, hängt zum einen davon ab, welcher Navigationspunkt gerade aktiv ist (also angeklickt wurde) und zum anderen von den benutzten Globals in der PHP-Datei ([[#Globalsreferenz|z.B. Parameter &amp;#039;full_load&amp;#039;]]) und den Einstellungen der Gruppe im Backend. &lt;br /&gt;
&lt;br /&gt;
Die Eigenschaftsseite der Gruppe erreicht man über einen Klick auf das Stiftsymbol&lt;br /&gt;
([[Media:dynmenue11.PNG|Klick]])&lt;br /&gt;
. Unter dem Punkt &amp;#039;&amp;#039;Veröffentlichen&amp;#039;&amp;#039;&lt;br /&gt;
([[Media:dynmenue12.PNG|Klick]])&lt;br /&gt;
wählt man nun eine Option aus: &lt;br /&gt;
:* &amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039;Ja&amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039;: die Gruppe wird auf der gesamten Website angezeigt, also auch in der dynamischen Navigation&lt;br /&gt;
:* &amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039;Nein&amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039;: die Gruppe wird auf der ganze Website nicht angezeigt, also weder in Gruppenliste noch in der dynamischen Navigation&lt;br /&gt;
:* &amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039;Ja, ohne Navigation&amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039;: die Gruppe wird zwar normal auf der Website angezeigt, jedoch in der dynamischen Navigation ausgeblendet&lt;br /&gt;
:* &amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039;Ja, ohne Subnavigation&amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039;: wie &amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039;Ja&amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039;, jedoch werden von diesem Menüpunkt in der dynamischen Navigation nur Untergruppen angezeigt, jedoch keine Artikel, die eventuell in dieser Gruppe liegen&lt;br /&gt;
&lt;br /&gt;
==Globalsreferenz==&lt;br /&gt;
===Globals direkt für das Plugin===&lt;br /&gt;
&amp;#039;&amp;#039;Die Parameter haben Default-Werte, müssen also nicht immer gesetzt werden&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Dies hier erklärt die Globals aus dem PHP-Code von [[#Schritt 2: PHP-Datei für die dynamische Navigation erstellen|Schritt 2 des Punkts &amp;#039;&amp;#039;Einrichten&amp;#039;&amp;#039;]].&lt;br /&gt;
&lt;br /&gt;
*&amp;#039;&amp;#039;&amp;#039;&amp;lt;tt&amp;gt;$GLOBALS[&amp;quot;DynPG&amp;quot;]-&amp;gt;SetParam_PlugIn_Template(&amp;#039;DPGdynmenu&amp;#039;, &amp;#039;TEMPLATEORDNER&amp;#039;);&amp;lt;/tt&amp;gt;&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
:Hiermit wählt man den Template-Ordner für die dynamische Navigation aus. Diese Template-Ordner liegen in &amp;lt;tt&amp;gt;dynpg/plugins/DPGdynmenu/templates&amp;lt;/tt&amp;gt;. Aus diesem Ordner wird die Template-Datei &amp;lt;tt&amp;gt;menu.tpl&amp;lt;/tt&amp;gt; zur Generierung des Menüs genommen. Dies ist unabhängig vom Global &amp;lt;tt&amp;gt;$GLOBALS[&amp;quot;DynPG&amp;quot;]-&amp;gt;SetupTemplate(...);&amp;lt;/tt&amp;gt;, der sozusagen das Template des Artikels bestimmt, welcher die dynamische Navigation enthält.&lt;br /&gt;
&lt;br /&gt;
*&amp;#039;&amp;#039;&amp;#039;&amp;lt;tt&amp;gt;$GLOBALS[&amp;quot;DynPG&amp;quot;]-&amp;gt;SetParam_PlugIn_Param(&amp;#039;DPGdynmenu&amp;#039;, PARAMETERNAME, PARAMETERWERT);&amp;lt;/tt&amp;gt;&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
:{| class=&amp;quot;dynpgwikitable&amp;quot;&lt;br /&gt;
! &amp;lt;tt&amp;gt;PARAMETERNAME&amp;lt;/tt&amp;gt; !! &amp;lt;tt&amp;gt;PARAMETERWERT&amp;lt;/tt&amp;gt; !! Beschreibung&lt;br /&gt;
|-&lt;br /&gt;
||&amp;lt;tt&amp;gt;&amp;#039;order&amp;#039;&amp;lt;/tt&amp;gt; || &amp;lt;tt&amp;gt;Array(&amp;#039;INDEX&amp;#039;)&amp;lt;/tt&amp;gt; oder &amp;lt;tt&amp;gt;Array(&amp;#039;NAME&amp;#039;)&amp;lt;/tt&amp;gt; || Reihenfolge der Gruppen in der Navigation nach Name oder im Backend gesetzten Index&lt;br /&gt;
|-&lt;br /&gt;
||&amp;lt;tt&amp;gt;&amp;#039;sort&amp;#039;&amp;lt;/tt&amp;gt; || &amp;lt;tt&amp;gt;Array(&amp;#039;ASC&amp;#039;)&amp;lt;/tt&amp;gt; oder &amp;lt;tt&amp;gt;Array(&amp;#039;DESC&amp;#039;)&amp;lt;/tt&amp;gt; || aufsteigende oder absteigende Sortierung&lt;br /&gt;
|-&lt;br /&gt;
||&amp;lt;tt&amp;gt;&amp;#039;order_articles&amp;#039;&amp;lt;/tt&amp;gt; || z.B. &amp;lt;tt&amp;gt;Array(&amp;#039;INDEX&amp;#039;)&amp;lt;/tt&amp;gt; || sortiert Artikel in der dynamischen Navigation (falls diese angezeigt werden) &lt;br /&gt;
|-&lt;br /&gt;
||&amp;lt;tt&amp;gt;&amp;#039;sort_articles&amp;#039;&amp;lt;/tt&amp;gt; || z.B. &amp;lt;tt&amp;gt;Array(&amp;#039;ASC&amp;#039;)&amp;lt;/tt&amp;gt; || bestimmt aufsteigende oder absteigende Sortierreihenfolge der Artikel&lt;br /&gt;
|-&lt;br /&gt;
||&amp;lt;tt&amp;gt;&amp;#039;href_page_groups&amp;#039;&amp;lt;/tt&amp;gt; || z.B. &amp;lt;tt&amp;gt;&amp;#039;../folgeseite.php&amp;#039;&amp;lt;/tt&amp;gt; || Seite auf die standardmäßig weiterverlinkt wird bei einem Klick auf den Gruppennamen, sofern die Gruppe Untergruppen hat. Wird dieser Parameter nicht angegeben, so wird auf die aktuelle PHP-Seite verlinkt. (ACHTUNG &amp;lt;tt&amp;gt;&amp;#039;../&amp;#039;&amp;lt;/tt&amp;gt; wichtig, siehe Ordnerstruktur weiter oben!)&lt;br /&gt;
|-&lt;br /&gt;
||&amp;lt;tt&amp;gt;&amp;#039;href_page_articles&amp;#039;&amp;lt;/tt&amp;gt; || z.B. &amp;lt;tt&amp;gt;&amp;#039;../folgeseite.php&amp;#039;&amp;lt;/tt&amp;gt; || Seite auf die standardmäßig weiterverlinkt wird bei einem Klick auf den Gruppennamen, sofern die Gruppe Artikel enthält. Wird dieser Parameter nicht angegeben, so wird auf die aktuelle PHP-Seite verlinkt. (ACHTUNG &amp;lt;tt&amp;gt;&amp;#039;../&amp;#039;&amp;lt;/tt&amp;gt; wichtig, siehe Ordnerstruktur weiter oben!)&lt;br /&gt;
|-&lt;br /&gt;
||&amp;lt;tt&amp;gt;&amp;#039;href_page_detail&amp;#039;&amp;lt;/tt&amp;gt; || z.B. &amp;lt;tt&amp;gt;&amp;#039;../folgeseite.php&amp;#039;&amp;lt;/tt&amp;gt; || Seite auf die standardmäßig weiterverlinkt wird bei einem Klick auf einen Artikelnamen. Wird dieser Parameter nicht angegeben, so wird auf die aktuelle PHP-Seite verlinkt. (ACHTUNG &amp;lt;tt&amp;gt;&amp;#039;../&amp;#039;&amp;lt;/tt&amp;gt; wichtig, siehe Ordnerstruktur weiter oben!)&lt;br /&gt;
|-&lt;br /&gt;
||&amp;lt;tt&amp;gt;&amp;#039;href_subpages&amp;#039;&amp;lt;/tt&amp;gt; || z.B. &amp;lt;pre&amp;gt;Array(&lt;br /&gt;
  GRUPPENNUMMER =&amp;gt; Array( &lt;br /&gt;
    &amp;#039;page&amp;#039; =&amp;gt; &amp;#039;PHP-SEITE{query}&amp;#039;,&lt;br /&gt;
    &amp;#039;successors&amp;#039; =&amp;gt; BOOLEAN&lt;br /&gt;
  ),&lt;br /&gt;
...&lt;br /&gt;
...&lt;br /&gt;
...&lt;br /&gt;
  GRUPPENNUMMER =&amp;gt; Array( &lt;br /&gt;
    &amp;#039;page&amp;#039; =&amp;gt; &amp;#039;PHP-SEITE{query}&amp;#039;,&lt;br /&gt;
    &amp;#039;successors&amp;#039; =&amp;gt; BOOLEAN&lt;br /&gt;
  ) &lt;br /&gt;
)&amp;lt;/pre&amp;gt; || Ermöglicht es, für bestimmte Gruppen auf eine spezielle &amp;lt;tt&amp;gt;PHP-SEITE&amp;lt;/tt&amp;gt; zu verlinken. Hierzu geben Sie anstatt &amp;lt;tt&amp;gt;GRUPPENNUMMER&amp;lt;/tt&amp;gt; die Gruppennummer der Gruppe aus dem Backend ein. Statt &amp;lt;tt&amp;gt;PHP-SEITE&amp;lt;/tt&amp;gt; fügen Sie den Namen und Pfad zur Zieldatei an, ausgehend vom Hauptverzeichnis des CMS!. Lassen Sie den Anhang &amp;lt;tt&amp;gt;{query}&amp;lt;/tt&amp;gt; genau so stehen, falls in die Zieldatei auch DynPG über Globals eingeben wurde. &amp;lt;tt&amp;gt;BOOLEAN&amp;lt;/tt&amp;gt; ersetzen Sie mit &amp;lt;tt&amp;gt;true&amp;lt;/tt&amp;gt; wenn für Untergruppen dieser Gruppe auch auf diese spezielle PHP-Seite verlink werden soll, ansonsten mit &amp;lt;tt&amp;gt;false&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Passen Sie auf, dass nach jedem &amp;lt;tt&amp;gt;GRUPPENNUMMER =&amp;gt; Array(...)&amp;lt;/tt&amp;gt; ein Komma notiert ist, allerdings nicht beim letzten.&lt;br /&gt;
|-&lt;br /&gt;
||&amp;lt;tt&amp;gt;&amp;#039;full_load&amp;#039;&amp;lt;/tt&amp;gt; || &amp;lt;tt&amp;gt;false&amp;lt;/tt&amp;gt; oder &amp;lt;tt&amp;gt;true&amp;lt;/tt&amp;gt; || zeigt unabhängig von angeklickten Gruppen den kompletten Navigationsbaum mit Untergruppen an (oder auch nicht)&lt;br /&gt;
|-&lt;br /&gt;
|| &amp;lt;tt&amp;gt;&amp;#039;full_load_articles&amp;#039;&amp;lt;/tt&amp;gt; || &amp;lt;tt&amp;gt;false&amp;lt;/tt&amp;gt; ||&lt;br /&gt;
|-&lt;br /&gt;
|| &amp;lt;tt&amp;gt;&amp;#039;limit_articles&amp;#039;&amp;lt;/tt&amp;gt; || &amp;lt;tt&amp;gt;false&amp;lt;/tt&amp;gt; oder eine Zahl || Sofern dieser Parameter eine Zahl als Wert erhält, bestimmt er die Anzahl der Artikel pro Gruppe, die in der dynamischen Navigation angezeigt werden, wenn eine Gruppe statt Untergruppen Artikel enthält.&lt;br /&gt;
|-&lt;br /&gt;
|| &amp;lt;tt&amp;gt;&amp;#039;expand_subtree&amp;#039;&amp;lt;/tt&amp;gt; || &amp;lt;tt&amp;gt;Array(4)&amp;lt;/tt&amp;gt; oder &amp;lt;tt&amp;gt;Array(4,5)&amp;lt;/tt&amp;gt; etc. || zeigt die Untergruppen von Gruppe 4 (bzw. 4 und 5) in jedem Fall an. Sei Gruppe 4 bspw. die Gruppe &amp;#039;&amp;#039;News&amp;#039;&amp;#039; des Backends, dann werden die beispielhaften Untergruppen &amp;#039;&amp;#039;Lokalnachrichten&amp;#039;&amp;#039; und &amp;#039;&amp;#039;Weltnachrichten&amp;#039;&amp;#039; immer zur Navigation angeboten, auch wenn sich ein Benutzer auf der Website gerade einen Artikel aus der Gruppe &amp;#039;&amp;#039;Kontakt&amp;#039;&amp;#039; anschaut&lt;br /&gt;
|- &lt;br /&gt;
|| &amp;lt;tt&amp;gt;&amp;#039;implode_subtree&amp;#039;&amp;lt;/tt&amp;gt; || &amp;lt;tt&amp;gt;Array(4)&amp;lt;/tt&amp;gt; oder &amp;lt;tt&amp;gt;Array(4,5)&amp;lt;/tt&amp;gt; etc. || zeigt die Untergruppen von Gruppe 4 (bzw. 4 und 5) in jedem Fall NICHT an. Anmerkung: der Parameter &amp;lt;tt&amp;gt;expand_subtree&amp;lt;/tt&amp;gt; überschreibt diese Einstellung! Ist also eine Gruppe in beiden Parametern aufgeführt, so werden die Untergruppen dieser Gruppe immer angezeigt, da der Parameter &amp;lt;tt&amp;gt;expand_subtree&amp;lt;/tt&amp;gt; wichtiger ist.&lt;br /&gt;
|-&lt;br /&gt;
|| &amp;lt;tt&amp;gt;&amp;#039;real_expand&amp;#039;&amp;lt;/tt&amp;gt; || &amp;lt;tt&amp;gt;false&amp;lt;/tt&amp;gt; oder &amp;lt;tt&amp;gt;true&amp;lt;/tt&amp;gt; || Verwenden Sie das Template &amp;#039;&amp;#039;intelligent&amp;#039;&amp;#039; für die dynamische Navigation, setzen Sie diesen Parameter auf &amp;lt;tt&amp;gt;true&amp;lt;/tt&amp;gt;, ansonsten auf &amp;lt;tt&amp;gt;false&amp;lt;/tt&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|| &amp;lt;tt&amp;gt;&amp;#039;parent_select&amp;#039;&amp;lt;/tt&amp;gt; || &amp;lt;tt&amp;gt;true&amp;lt;/tt&amp;gt; ||&lt;br /&gt;
|-&lt;br /&gt;
|| &amp;lt;tt&amp;gt;&amp;#039;max_depth&amp;#039;&amp;lt;/tt&amp;gt; || &amp;lt;tt&amp;gt;null&amp;lt;/tt&amp;gt; oder &amp;lt;tt&amp;gt;0&amp;lt;/tt&amp;gt; oder &amp;lt;tt&amp;gt;1&amp;lt;/tt&amp;gt; etc. || Tiefe bis zu der (Unter-)Gruppen angezeigt werden&lt;br /&gt;
|-&lt;br /&gt;
|| &amp;lt;tt&amp;gt;&amp;#039;min_depth&amp;#039;&amp;lt;/tt&amp;gt; || &amp;lt;tt&amp;gt;null&amp;lt;/tt&amp;gt; oder &amp;lt;tt&amp;gt;0&amp;lt;/tt&amp;gt; oder &amp;lt;tt&amp;gt;1&amp;lt;/tt&amp;gt; etc. || Tiefe, die eine Gruppe mindestens haben muss um angezeigt zu werden, z.B. 1 um oberste Ebene der Gruppen aus dem Backend auszublenden&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Sinnvolle Globals vom DynPG-CMS===&lt;br /&gt;
&lt;br /&gt;
*&amp;#039;&amp;#039;&amp;#039;&amp;lt;tt&amp;gt;$GLOBALS[&amp;quot;DynPG&amp;quot;]-&amp;gt;SetupTemplate(&amp;#039;uneditable&amp;#039;);&amp;lt;/tt&amp;gt; &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
:ermöglicht Navigation in der Seite obwohl Editiermodus im Backend angeschaltet ist&lt;br /&gt;
*&amp;#039;&amp;#039;&amp;#039;&amp;lt;tt&amp;gt;$GLOBALS[&amp;quot;DynPG&amp;quot;]-&amp;gt;SetParam_A_Anytime(TRUE);&amp;lt;/tt&amp;gt; &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
:Menü soll immer angezeigt werden&lt;br /&gt;
*&amp;#039;&amp;#039;&amp;#039;&amp;lt;tt&amp;gt;$GLOBALS[&amp;quot;DynPG&amp;quot;]-&amp;gt;SetParam_A_CategoryNavigation(FALSE);&amp;lt;/tt&amp;gt; &amp;#039;&amp;#039;&amp;#039; &lt;br /&gt;
:keine weitere Navigation(Breadcrumb) anzeigen&lt;br /&gt;
*&amp;#039;&amp;#039;&amp;#039;&amp;lt;tt&amp;gt;$GLOBALS[&amp;quot;DynPG&amp;quot;]-&amp;gt;SetParam_A_PrintNavigation(FALSE);&amp;lt;/tt&amp;gt; &amp;#039;&amp;#039;&amp;#039; &lt;br /&gt;
:kein Link zu Print-Seite anzeigen&lt;br /&gt;
*&amp;#039;&amp;#039;&amp;#039;&amp;lt;tt&amp;gt;$GLOBALS[&amp;quot;DynPG&amp;quot;]-&amp;gt;SetParam_A_ArticleHeader(FALSE);&amp;lt;/tt&amp;gt; &amp;#039;&amp;#039;&amp;#039; &lt;br /&gt;
:keine Artikelüberschrift (des Artikels mit dem DynMenü-Platzhalter) und kein Artikelleadtext anzeigen&lt;br /&gt;
*&amp;#039;&amp;#039;&amp;#039;&amp;lt;tt&amp;gt;$GLOBALS[&amp;quot;DynPG&amp;quot;]-&amp;gt;SetParam_A_Article(1);&amp;lt;/tt&amp;gt; &amp;#039;&amp;#039;&amp;#039; &lt;br /&gt;
:Artikel mit dem Dynmenü-Platzhalter setzen (&amp;#039;&amp;#039;&amp;#039;Hier die Artikelnummer aus [[#Einrichten|Einrichten]] einfügen!&amp;#039;&amp;#039;&amp;#039;)&lt;br /&gt;
*&amp;#039;&amp;#039;&amp;#039;&amp;lt;tt&amp;gt;$GLOBALS[&amp;quot;DynPG&amp;quot;]-&amp;gt;Write_Article();&amp;lt;/tt&amp;gt; &amp;#039;&amp;#039;&amp;#039; &lt;br /&gt;
:Artikel ausgeben&lt;br /&gt;
*&amp;#039;&amp;#039;&amp;#039;&amp;lt;tt&amp;gt;$GLOBALS[&amp;quot;DynPG&amp;quot;]-&amp;gt;SetupTemplate(&amp;#039;default&amp;#039;);&amp;lt;/tt&amp;gt; &amp;#039;&amp;#039;&amp;#039; &lt;br /&gt;
:andere Teile der Website haben sicherlich andere Templates. Wir setzen daher hier wieder auf das Standard-Template zurück&lt;br /&gt;
&lt;br /&gt;
==CSS==&lt;br /&gt;
Die CSS-Dateien für die dynamische Navigation liegen im Verzeichnis &amp;lt;tt&amp;gt;dynpg/plugins/DPGdynmenu/styles&amp;lt;/tt&amp;gt;. Die Datei &amp;lt;tt&amp;gt;menu.css&amp;lt;/tt&amp;gt; ist hierbei meist die ausschlaggebende, so zum Beispiel in der Navigation der Musterwebsite 3.&lt;br /&gt;
&lt;br /&gt;
Die CSS-Klassen und -Bezeichner aus dieser Datei sind nach einem bestimmten Schema benannt. Hat man dieses einmal verstanden, so lassen sich leicht Änderungen an speziellen Teilen des Erscheinungsbildes der dynamischen Navigation durchführen.&lt;br /&gt;
&lt;br /&gt;
Die dynamische Navigation wird von einem &amp;lt;tt&amp;gt;div&amp;lt;/tt&amp;gt;-Tag mit der Id &amp;lt;tt&amp;gt;course_categories_menu&amp;lt;/tt&amp;gt; umschlossen.&lt;br /&gt;
&lt;br /&gt;
Diese Angaben gelten also grundsätzlich für die gesamte dynamische Navigation und werden gegebenenfalls weitervererbt.&lt;br /&gt;
Im &amp;lt;tt&amp;gt;menu.css&amp;lt;/tt&amp;gt; der Muster-Website 3 steht beispielsweise:&lt;br /&gt;
&amp;lt;code&amp;gt;[css, N]&lt;br /&gt;
div#course_categories_menu {&lt;br /&gt;
  margin: 0;&lt;br /&gt;
  padding: 0;&lt;br /&gt;
  width: 180px;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Um zu verhindern, dass die CSS-Angaben dieser Datei auch auf andere Teile der Website Einfluss haben, ist vor allen anderen CSS-Definitionen der Datei ebenfalls &amp;lt;tt&amp;gt;div#course_categories_menu&amp;lt;/tt&amp;gt; notiert. Dadurch wirken sich die Angaben nur auf die dynamische Navigation aus.&lt;br /&gt;
&lt;br /&gt;
Innerhalb des &amp;lt;tt&amp;gt;course_categories_menu&amp;lt;/tt&amp;gt; - &amp;lt;tt&amp;gt;div&amp;lt;/tt&amp;gt; - Tags gibt es für jede Gruppe der obersten angezeigten Gruppenebene ein &amp;lt;div&amp;gt;-Tag mit der CSS-Id &amp;lt;tt&amp;gt;group_fold_NUMMER&amp;lt;/tt&amp;gt; wobei &amp;lt;tt&amp;gt;NUMMER&amp;lt;/tt&amp;gt; der Gruppennummer der Gruppe aus dem Backend entspricht. In der Navigation der Muster-Website 3 gibt es also folgende Tags:&lt;br /&gt;
&amp;lt;code&amp;gt;[html, N]&lt;br /&gt;
&amp;lt;div id=&amp;quot;course_categories_menu&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;div id=&amp;quot;group_fold_2&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;  &amp;lt;!--Produkte--&amp;gt;&lt;br /&gt;
  &amp;lt;div id=&amp;quot;group_fold_3&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;  &amp;lt;!--Support--&amp;gt;&lt;br /&gt;
  &amp;lt;div id=&amp;quot;group_fold_9&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;  &amp;lt;!--News--&amp;gt;&lt;br /&gt;
  &amp;lt;div id=&amp;quot;group_fold_4&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;  &amp;lt;!--Über uns--&amp;gt;&lt;br /&gt;
  &amp;lt;div id=&amp;quot;group_fold_5&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;  &amp;lt;!--Kontakt--&amp;gt;&lt;br /&gt;
  &amp;lt;div id=&amp;quot;group_fold_21&amp;quot;&amp;gt;&amp;lt;/div&amp;gt; &amp;lt;!--Blog--&amp;gt;&lt;br /&gt;
  &amp;lt;div id=&amp;quot;group_fold_15&amp;quot;&amp;gt;&amp;lt;/div&amp;gt; &amp;lt;!--Sitemap--&amp;gt;&lt;br /&gt;
  &amp;lt;div id=&amp;quot;group_fold_6&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;  &amp;lt;!--Home--&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
Möchte man nun Eigenschaften nur an einem bestimmten Teil der Navigation machen, so könnte man im CSS-File folgende Angabe machen:&lt;br /&gt;
&amp;lt;code&amp;gt;[css, N]&lt;br /&gt;
div#course_categories_menu div#group_fold_9 {&lt;br /&gt;
  text-decoration:blink;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
Damit würde der Text der Gruppe &amp;#039;&amp;#039;News&amp;#039;&amp;#039; (und eventueller Untergruppen) in der dynamischen Navigation blinken.&lt;br /&gt;
&lt;br /&gt;
Innerhalb der &amp;lt;tt&amp;gt;group_fold_NUMMER&amp;lt;/tt&amp;gt; - &amp;lt;tt&amp;gt;div&amp;lt;/tt&amp;gt; - Tags gibt es nun ein &amp;lt;tt&amp;gt;div&amp;lt;/tt&amp;gt; - Tag, dass (neben einer weiteren CSS-Id) eine CSS-Klasse hat. Diese CSS-Klasse wird nach folgendem Muster gebildet:&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;&amp;lt;tt&amp;gt;level_&amp;#039;&amp;#039;A&amp;#039;&amp;#039;_&amp;#039;&amp;#039;B&amp;#039;&amp;#039;_&amp;#039;&amp;#039;C&amp;#039;&amp;#039;_&amp;#039;&amp;#039;D&amp;#039;&amp;#039;_&amp;#039;&amp;#039;E&amp;#039;&amp;#039;&amp;lt;/tt&amp;gt;&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;dynpgwikitable&amp;quot;&lt;br /&gt;
! Buchstabe !! mögliche Werte !! Beschreibung&lt;br /&gt;
|-&lt;br /&gt;
|| &amp;lt;tt&amp;gt;&amp;#039;&amp;#039;A&amp;#039;&amp;#039;&amp;lt;/tt&amp;gt; || 0 oder 1 oder 2 etc. || gibt das Level der Gruppe an, also die Verzweigungstiefe in der sich die Navigation befindet&lt;br /&gt;
|-&lt;br /&gt;
|| &amp;lt;tt&amp;gt;&amp;#039;&amp;#039;B&amp;#039;&amp;#039;&amp;lt;/tt&amp;gt; || &amp;lt;tt&amp;gt;r&amp;lt;/tt&amp;gt; (nicht letzter), &amp;lt;tt&amp;gt;e&amp;lt;/tt&amp;gt; (letzter) || gibt an, ob nach dieser Gruppe noch weitere aufgelistet werden (z.B. in Musterwebsite 3 ist die Gruppe 6 &amp;quot;Home&amp;quot; die letzte des Menüs)&lt;br /&gt;
|-&lt;br /&gt;
|| &amp;lt;tt&amp;gt;&amp;#039;&amp;#039;C&amp;#039;&amp;#039;&amp;lt;/tt&amp;gt; ||  &amp;lt;tt&amp;gt;a&amp;lt;/tt&amp;gt; (ist aktiv), &amp;lt;tt&amp;gt;i&amp;lt;/tt&amp;gt; (ist nicht aktiv) || gibt an, ob die Gruppe aktiv ist, d.h. ob sie durch einen Klick ausgewählt wurde&lt;br /&gt;
|-&lt;br /&gt;
|| &amp;lt;tt&amp;gt;&amp;#039;&amp;#039;D&amp;#039;&amp;#039;&amp;lt;/tt&amp;gt; ||  &amp;lt;tt&amp;gt;exp&amp;lt;/tt&amp;gt; (ausgeklappt), cll(eingeklappt) || gibt an, ob die Untergruppen dieser Gruppe ausgeklappt sind oder nicht&lt;br /&gt;
|-&lt;br /&gt;
|| &amp;lt;tt&amp;gt;&amp;#039;&amp;#039;E&amp;#039;&amp;#039;&amp;lt;/tt&amp;gt; ||  &amp;lt;tt&amp;gt;_hover&amp;lt;/tt&amp;gt; (Mauszeiger ist über dem Element), nichts (Mauszeiger ist nicht über dem Element) || gibt an, ob sich der Mauszeiger über dem Gruppennamen befindet oder nicht&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Mithilfe dieses Schemas kann man nun bestimmen, welche CSS-Klassen man in der CSS-Datei angeben muss um bestimmte Effekte hervorzurufen.&lt;br /&gt;
Möchte man beispielsweise, dass alle Elemente der zweitobersten Ebene blinken, wenn der Mauszeiger über dem Element ist, so notiert man in der CSS-Datei:&lt;br /&gt;
&amp;lt;code&amp;gt;[css, N]&lt;br /&gt;
div#course_categories_menu div#level_1_r_a_exp_hover,&lt;br /&gt;
div#course_categories_menu div#level_1_r_a_cll_hover,&lt;br /&gt;
div#course_categories_menu div#level_1_r_i_exp_hover,&lt;br /&gt;
div#course_categories_menu div#level_1_r_i_cll_hover,&lt;br /&gt;
div#course_categories_menu div#level_1_e_a_exp_hover,&lt;br /&gt;
div#course_categories_menu div#level_1_e_a_cll_hover,&lt;br /&gt;
div#course_categories_menu div#level_1_e_i_exp_hover,&lt;br /&gt;
div#course_categories_menu div#level_1_e_i_cll_hover {&lt;br /&gt;
  text-decoration:blink;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Diese Struktur der &amp;lt;tt&amp;gt;div&amp;lt;/tt&amp;gt;-Tags wiederholt sich mit tieferen Gruppenebenen / Untergruppen. Zum Beispiel tauchen die &amp;lt;tt&amp;gt;div&amp;lt;/tt&amp;gt;-Tags der Untergruppen vom &amp;#039;&amp;#039;Über uns&amp;#039;&amp;#039;-Menüpunkt aus der Muster-Website 3 innerhalb des &amp;lt;tt&amp;gt;group_fold_4&amp;lt;/tt&amp;gt; - &amp;lt;tt&amp;gt;div&amp;lt;/tt&amp;gt; - Tags auf.&lt;br /&gt;
&lt;br /&gt;
Weitere Informationen über die CSS-Klassen kann man schnell erhalten, indem man sich den HTML-Code eines generierten dynamischen Menüs anschaut, zum Beispiel aus der Muster-Website 3.&lt;br /&gt;
&lt;br /&gt;
==Templates==&lt;br /&gt;
Diese Templates liegen im Ordner &amp;lt;tt&amp;gt;dynpg/plugins/DPGdynmenu/templates&amp;lt;/tt&amp;gt;. Hier finden sie Ordner, die jeweils eine &amp;lt;tt&amp;gt;menu.tpl&amp;lt;/tt&amp;gt; enthalten. Welcher dieser Ordner aktiv ist, bestimmen Sie durch das Global &amp;lt;tt&amp;gt;$GLOBALS[&amp;quot;DynPG&amp;quot;]-&amp;gt;SetParam_PlugIn_Template(&amp;#039;DPGdynmenu&amp;#039;, &amp;#039;TEMPLATEORDNER&amp;#039;);&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Die Templates dienen als Vorlage für die Generierung des HTML-Codes der dynamischen Navigation. In ihnen werden auch die CSS-Klassen definiert, welche in [[#CSS|CSS]] erklärt wurden. Außerdem finden hier Templateplatzhalter der Form &amp;lt;tt&amp;gt;&amp;lt;nowiki&amp;gt;{$PLATZHALTER}&amp;lt;/nowiki&amp;gt;&amp;lt;/tt&amp;gt; Verwendung, die DynPG dynamisch durch Inhalt ersetzt.&lt;br /&gt;
&lt;br /&gt;
Das Template &amp;#039;&amp;#039;horizontal&amp;#039;&amp;#039; der Musterwebsite 3 generiert beispielsweise ein horizontales Menü, während das Template &amp;#039;&amp;#039;intelligent&amp;#039;&amp;#039; ein vertikales Menü erzeugt.&lt;br /&gt;
&lt;br /&gt;
Modifikationen an den Templates sind recht komplex. Sollten Sie vorhaben hier Änderungen durchzuführen, wenden Sie sich an das DynPG-Forum.&lt;br /&gt;
&lt;br /&gt;
==Feste Links einbauen==&lt;br /&gt;
&lt;br /&gt;
Hierzu erstellt man im Backend eine Gruppe mit dem Namen des festen Links und merkt sich die Gruppennummer. Mittels des Plugin-Parameters &amp;lt;tt&amp;gt;&amp;#039;href_subpages&amp;#039;&amp;lt;/tt&amp;gt; setzt man für diese Gruppennummer nun als Ziel die Datei &amp;lt;tt&amp;gt;counter.php&amp;lt;/tt&amp;gt; fest und übergibt dieser als Parameter das feste Linkziel. Beispiel: Wir wollen einen Link auf die Google-Webseite setzen. Also erstellen wir im Backend eine Gruppe mit dem Namen &amp;#039;&amp;#039;Google-Websuche&amp;#039;&amp;#039; und notieren die Gruppennummer (z.B. 33). In die PHP-Datei unserer dynamischen Navigation fügen wir nun folgendes ein:&lt;br /&gt;
&amp;lt;code&amp;gt;[php, N]&lt;br /&gt;
$GLOBALS[&amp;quot;DynPG&amp;quot;]-&amp;gt;SetParam_PlugIn_Param(&lt;br /&gt;
  &amp;#039;DPGdynmenu&amp;#039;,&lt;br /&gt;
  &amp;#039;href_subpages&amp;#039;,&lt;br /&gt;
  Array(&lt;br /&gt;
	33 =&amp;gt; Array(&lt;br /&gt;
      &amp;#039;page&amp;#039; =&amp;gt; &amp;#039;counter.php?inc=http://www.google.com&amp;#039;,&lt;br /&gt;
      &amp;#039;successors&amp;#039; =&amp;gt; true&lt;br /&gt;
    )		&lt;br /&gt;
  )&lt;br /&gt;
);&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Mehrsprachiges Menü==&lt;br /&gt;
&lt;br /&gt;
Hierzu gibt es einen Thread in unserem Forum unter [http://www.dynpg.ch/dynpg-forum.php?t=&amp;amp;read_group=30&amp;amp;thread_id=47&amp;amp;tt=Sprachwechsel]. Die grundsätzliche Idee ist (bei zwei Sprachen) zwei Gruppenbäume im Backend aufzubauen. Die oberste Gruppe des ersten Baumes wäre beispielsweise die Gruppe &amp;#039;&amp;#039;Deutsch&amp;#039;&amp;#039;, die oberste Gruppe des zweiten Baumes wäre zum Beispiel &amp;#039;&amp;#039;English&amp;#039;&amp;#039;.&lt;br /&gt;
&lt;br /&gt;
In der zweiten Ebene kommen dann unter &amp;#039;&amp;#039;Deutsch&amp;#039;&amp;#039; bzw. &amp;#039;&amp;#039;English&amp;#039;&amp;#039; Untergruppen wie &amp;#039;&amp;#039;News&amp;#039;&amp;#039;/&amp;#039;&amp;#039;Nachrichten&amp;#039;&amp;#039;, &amp;#039;&amp;#039;Produkte&amp;#039;&amp;#039;/&amp;#039;&amp;#039;Products&amp;#039;&amp;#039;, &amp;#039;&amp;#039;Hilfe&amp;#039;&amp;#039;/&amp;#039;&amp;#039;Support&amp;#039;&amp;#039; und so weiter. Man erstellt sich nun zwei PHP-Dateien (&amp;lt;tt&amp;gt;navi_de.php&amp;lt;/tt&amp;gt;, &amp;lt;tt&amp;gt;navi_en.php&amp;lt;/tt&amp;gt;) wie oben beschrieben [[#Einrichten|Einrichten]]. In diesen wird dann mit den Befehlen aus [[#Globalsreferenz|Globalsreferenz]] der jeweils nicht passende Baum ausgeblendet.&lt;br /&gt;
&lt;br /&gt;
==Siehe auch==&lt;br /&gt;
*[[Sitemap-Tutorial]]&lt;br /&gt;
*[[Implementation eines kompletten Hauptmenüs]]&lt;br /&gt;
*[[Code-Schnipsel Einfaches Hauptmenü]]&lt;br /&gt;
*[[Code-Schnipsel Menüeinträge sortieren]]&lt;br /&gt;
*[[Snippet-Beispiele]]&lt;/div&gt;</summary>
		<author><name>Sebastian</name></author>	</entry>

	<entry>
		<id>https://wiki-en.dynpg.org/wiki_de/index.php?title=Dynamische_Navigation</id>
		<title>Dynamische Navigation</title>
		<link rel="alternate" type="text/html" href="https://wiki-en.dynpg.org/wiki_de/index.php?title=Dynamische_Navigation"/>
				<updated>2009-08-17T16:10:49Z</updated>
		
		<summary type="html">&lt;p&gt;Sebastian: /* Sinnvolle Globals vom DynPG-CMS */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Kategorie:Module]]&lt;br /&gt;
==Beschreibung==&lt;br /&gt;
Die dynamische Navigation ist Bestandteil des kostenlosen Grundmoduls von DynPG und bereits im Standard-DynPG integriert. Es ist keine separate Installation notwendig. Sie ermöglicht es Ihnen einfach und flexibel Navigationen auf Ihrer Homepage zu erstellen. Die Anwendungsmöglichkeiten gestalten sich dabei flexibel als normales Menü oder auch als Sitemap.&lt;br /&gt;
&lt;br /&gt;
Ein dynamisches Menü bildet die Gruppenstruktur im Backend, also die Abfolge von Gruppen, Untergruppen und Artikeln in einer Gruppe, als Menü ab, macht also die logische Struktur ihrer Artikel aus dem Backend auf einer Webseite sichtbar und navigierbar. &lt;br /&gt;
&lt;br /&gt;
Der Vorteil ist, dass man im Backend neue Gruppen o.ä. erstellt und diese dann im Hauptmenü erscheinen. Dies ist auch bei Untergruppen nützlich,&lt;br /&gt;
z.B. wenn eine neue Untergruppe &amp;#039;&amp;#039;Lokalnachrichten&amp;#039;&amp;#039; zur Hauptgruppe &amp;#039;&amp;#039;News&amp;#039;&amp;#039; hinzukommt.&lt;br /&gt;
&lt;br /&gt;
Zum Verständnis der Funktionsvielfalt der dynamischen Navigation ist es hilfreich, einmal eine der [[Muster-Web-Sites|Musterwebsites]] zu installieren und in den entsprechenden Dateien der Musterwebsite die unten erklärten Einstellungsmöglichkeiten nachzuvollziehen und vielleicht auch einmal mit den Optionen herumzuspielen.&lt;br /&gt;
&lt;br /&gt;
==Einrichten==&lt;br /&gt;
&amp;#039;&amp;#039;Anmerkung: Benutzen sie die [[Muster-Web-Sites|Musterwebsites]], so müssen die nachfolgenden zwei Schritte nicht ausgeführt werden, da die dynamische Navigation bereits in den Musterwebsites genutzt wird&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
===Schritt 1: Artikel erstellen mit Platzhalter für die dynamische Navigation===&lt;br /&gt;
Wählen Sie im Menü des Backends &amp;#039;&amp;#039;Gruppen&amp;#039;&amp;#039; aus [[Media:dynmenue01.png|Klick]]. Suchen Sie sich nun eine Gruppe, in der Sie einen Artikel erfassen wollen. Hier wählen wir (die in diesem Falle schon vorhandene) Gruppe &amp;#039;&amp;#039;Startseite/Navigation/Formular&amp;#039;&amp;#039; durch Klick auf ihren Namen aus [[Media:dynmenue02.png|Klick]].&lt;br /&gt;
&lt;br /&gt;
Mit einem Klick auf &amp;#039;&amp;#039;Artikel Formular anzeigen&amp;#039;&amp;#039; [[Media:dynmenue03.PNG|Klick]] und danach auf &amp;#039;&amp;#039;Inhalt bearbeiten&amp;#039;&amp;#039; [[Media:dynmenue04.PNG|Klick]] erscheint der Editor.&lt;br /&gt;
&lt;br /&gt;
In diesem wählen Sie das Symbol für die dynamische Navigation [[Media:dynmenue05.PNG|Klick]], geben noch einen Titel, etwa &amp;#039;&amp;#039;Neue Seitennavigation&amp;#039;&amp;#039;, ein und bestätigen mit einem Klick auf &amp;#039;&amp;#039;Erstellen&amp;#039;&amp;#039; [[Media:dynmenue06.PNG|Klick]]. &lt;br /&gt;
&lt;br /&gt;
Hat alles geklappt, können Sie im unteren Teil der Seite den neuen Artikel sehen [[Media:dynmenue07.PNG|Klick]]. Die Nummer des Artikels benötigen Sie erneut, wenn Sie in eine PHP-Datei mittels eines Globals die dynamische Navigation einbinden.&lt;br /&gt;
&lt;br /&gt;
===Schritt 2: PHP-Datei für die dynamische Navigation erstellen===&lt;br /&gt;
Folgende Ordner-Struktur könnte bei Ihnen vorliegen:&lt;br /&gt;
:*&amp;lt;tt&amp;gt;http-docs/dynpg&amp;lt;/tt&amp;gt; : hier liegt das DynPG-CMS&lt;br /&gt;
:*&amp;lt;tt&amp;gt;http-docs/index.php&amp;lt;/tt&amp;gt; : die Hauptseite Ihrer Website&lt;br /&gt;
:*&amp;lt;tt&amp;gt;http-docs/folgeseite.php&amp;lt;/tt&amp;gt; : eine andere PHP-Datei der Website&lt;br /&gt;
:*&amp;lt;tt&amp;gt;http-docs/inc/navi.php&amp;lt;/tt&amp;gt; : In diese Datei platziert man häufig den Code für die Navigation, dadurch ist er leichter wiederverwendbar&lt;br /&gt;
&lt;br /&gt;
Den nötigen Code der &amp;lt;tt&amp;gt;inc/navi.php&amp;lt;/tt&amp;gt; kann man anhand der [[Muster-Web-Sites|Musterwebsites]] nachvollziehen (Für eine genauere Erklärung der einzelnen verwendeten Globals siehe die [[Funktionsreferenz/Globals|Globals-Übersicht von DynPG]] und weiter unten die [[#Globalsreferenz|Funktionsübersicht der dynamischen Navigation]]) :&lt;br /&gt;
:*&amp;#039;&amp;#039;&amp;#039;&amp;lt;tt&amp;gt;inc/navi.php&amp;lt;/tt&amp;gt;:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;code&amp;gt;[php, N]&lt;br /&gt;
&amp;lt;?php&lt;br /&gt;
  $GLOBALS[&amp;quot;DynPG&amp;quot;]-&amp;gt;SetParam_PlugIn_Template(&amp;#039;DPGdynmenu&amp;#039;, &amp;#039;intelligent&amp;#039;);&lt;br /&gt;
  $GLOBALS[&amp;quot;DynPG&amp;quot;]-&amp;gt;SetParam_PlugIn_Param(&amp;#039;DPGdynmenu&amp;#039;, &amp;#039;real_expand&amp;#039;, TRUE);&lt;br /&gt;
  $GLOBALS[&amp;quot;DynPG&amp;quot;]-&amp;gt;SetParam_PlugIn_Param(&amp;#039;DPGdynmenu&amp;#039;, &amp;#039;order&amp;#039;, Array(&amp;#039;INDEX&amp;#039;));&lt;br /&gt;
  $GLOBALS[&amp;quot;DynPG&amp;quot;]-&amp;gt;SetParam_PlugIn_Param(&amp;#039;DPGdynmenu&amp;#039;, &amp;#039;sort&amp;#039;, Array(&amp;#039;ASC&amp;#039;));&lt;br /&gt;
  $GLOBALS[&amp;quot;DynPG&amp;quot;]-&amp;gt;SetParam_PlugIn_Param(&amp;#039;DPGdynmenu&amp;#039;, &amp;#039;href_page_groups&amp;#039;, &amp;#039;../folgeseite.php&amp;#039;);&lt;br /&gt;
  $GLOBALS[&amp;quot;DynPG&amp;quot;]-&amp;gt;SetParam_PlugIn_Param(&amp;#039;DPGdynmenu&amp;#039;, &amp;#039;href_page_articles&amp;#039;, &amp;#039;../folgeseite.php&amp;#039;);&lt;br /&gt;
  $GLOBALS[&amp;quot;DynPG&amp;quot;]-&amp;gt;SetParam_PlugIn_Param(&amp;#039;DPGdynmenu&amp;#039;, &amp;#039;href_page_detail&amp;#039;, &amp;#039;../folgeseite.php&amp;#039;);&lt;br /&gt;
  $GLOBALS[&amp;quot;DynPG&amp;quot;]-&amp;gt;SetParam_PlugIn_Param(&lt;br /&gt;
    &amp;#039;DPGdynmenu&amp;#039;,&lt;br /&gt;
    &amp;#039;href_subpages&amp;#039;,&lt;br /&gt;
    Array(&lt;br /&gt;
      0 =&amp;gt; Array(&lt;br /&gt;
        &amp;#039;page&amp;#039; =&amp;gt; &amp;#039;../formular.php{query}&amp;#039;,&lt;br /&gt;
        &amp;#039;successors&amp;#039; =&amp;gt; true&lt;br /&gt;
      ),&lt;br /&gt;
      21 =&amp;gt; Array(&lt;br /&gt;
        &amp;#039;page&amp;#039; =&amp;gt; &amp;#039;../blog.php{query}&amp;#039;,&lt;br /&gt;
        &amp;#039;successors&amp;#039; =&amp;gt; true&lt;br /&gt;
      ),&lt;br /&gt;
      15 =&amp;gt; Array(&lt;br /&gt;
        &amp;#039;page&amp;#039; =&amp;gt; &amp;#039;../sitemap.php{query}&amp;#039;,&lt;br /&gt;
        &amp;#039;successors&amp;#039; =&amp;gt; true&lt;br /&gt;
      ),&lt;br /&gt;
      16 =&amp;gt; Array(&lt;br /&gt;
        &amp;#039;page&amp;#039; =&amp;gt; &amp;#039;../veranstaltungen.php{query}&amp;#039;,&lt;br /&gt;
        &amp;#039;successors&amp;#039; =&amp;gt; true&lt;br /&gt;
      ),&lt;br /&gt;
      21 =&amp;gt; Array(&lt;br /&gt;
        &amp;#039;page&amp;#039; =&amp;gt; &amp;#039;../blog.php{query}&amp;#039;,&lt;br /&gt;
        &amp;#039;successors&amp;#039; =&amp;gt; true&lt;br /&gt;
      ),&lt;br /&gt;
      6 =&amp;gt; Array(&lt;br /&gt;
        &amp;#039;page&amp;#039; =&amp;gt; &amp;#039;../index.php{query}&amp;#039;,&lt;br /&gt;
        &amp;#039;successors&amp;#039; =&amp;gt; true&lt;br /&gt;
      )&lt;br /&gt;
    )&lt;br /&gt;
  );    &lt;br /&gt;
  $GLOBALS[&amp;quot;DynPG&amp;quot;]-&amp;gt;SetupTemplate(&amp;#039;uneditable&amp;#039;); &lt;br /&gt;
  $GLOBALS[&amp;quot;DynPG&amp;quot;]-&amp;gt;SetParam_A_Anytime(TRUE);&lt;br /&gt;
  $GLOBALS[&amp;quot;DynPG&amp;quot;]-&amp;gt;SetParam_A_CategoryNavigation(FALSE);&lt;br /&gt;
  $GLOBALS[&amp;quot;DynPG&amp;quot;]-&amp;gt;SetParam_A_PrintNavigation(FALSE);&lt;br /&gt;
  $GLOBALS[&amp;quot;DynPG&amp;quot;]-&amp;gt;SetParam_A_ArticleHeader(FALSE);&lt;br /&gt;
  $GLOBALS[&amp;quot;DynPG&amp;quot;]-&amp;gt;SetParam_A_Article(1);&lt;br /&gt;
&lt;br /&gt;
  $GLOBALS[&amp;quot;DynPG&amp;quot;]-&amp;gt;Write_Article();&lt;br /&gt;
  $GLOBALS[&amp;quot;DynPG&amp;quot;]-&amp;gt;SetupTemplate(&amp;#039;default&amp;#039;);  &lt;br /&gt;
?&amp;gt;&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Man kann nun in der &amp;lt;tt&amp;gt;index.php&amp;lt;/tt&amp;gt; mittels &lt;br /&gt;
&amp;lt;code&amp;gt;[php, N]&lt;br /&gt;
&amp;lt;?php include(&amp;quot;inc/navi.php&amp;quot;); ?&amp;gt;&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
die Navigation einbinden, ebenso z.B. auch in der &amp;lt;tt&amp;gt;folgeseite.php&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Die dynamische Navigation kann nun an verschiedenen Stellen angepasst werden. Neben den Globals in der PHP-Datei ([[#Globalsreferenz|Globalsreferenz]]) ist dies im Backend durch das Erstellen von Gruppen und Artikeln möglich ([[#Dynamische_Navigation_im_Backend|Dynamische Navigation im Backend]]). Erweiterte Möglichkeiten ergeben sich durch das [[#CSS|CSS]] und die [[#Templates|Templates]].&lt;br /&gt;
&lt;br /&gt;
==Die dynamische Navigation im Backend==&lt;br /&gt;
&lt;br /&gt;
Wie bereits erwähnt, bildet die dynamische Navigation die Gruppenstruktur des Backends auf einer Webseite ab. In der Musterwebsite 3 ist im Backend zum Beispiel folgende Gruppenstruktur zu erkennen:&lt;br /&gt;
[[Media:dynmenue08.PNG|Klick]].&lt;br /&gt;
Auf der Website sieht dies dann wie folgt aus:&lt;br /&gt;
[[Media:dynmenue09.PNG|Klick]]&lt;br /&gt;
oder auch&lt;br /&gt;
[[Media:dynmenue10.PNG|Klick]]&lt;br /&gt;
.&lt;br /&gt;
&lt;br /&gt;
Welche Untergruppen angezeigt werden, hängt zum einen davon ab, welcher Navigationspunkt gerade aktiv ist (also angeklickt wurde) und zum anderen von den benutzten Globals in der PHP-Datei ([[#Globalsreferenz|z.B. Parameter &amp;#039;full_load&amp;#039;]]) und den Einstellungen der Gruppe im Backend. &lt;br /&gt;
&lt;br /&gt;
Die Eigenschaftsseite der Gruppe erreicht man über einen Klick auf das Stiftsymbol&lt;br /&gt;
([[Media:dynmenue11.PNG|Klick]])&lt;br /&gt;
. Unter dem Punkt &amp;#039;&amp;#039;Veröffentlichen&amp;#039;&amp;#039;&lt;br /&gt;
([[Media:dynmenue12.PNG|Klick]])&lt;br /&gt;
wählt man nun eine Option aus: &lt;br /&gt;
:* &amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039;Ja&amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039;: die Gruppe wird auf der gesamten Website angezeigt, also auch in der dynamischen Navigation&lt;br /&gt;
:* &amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039;Nein&amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039;: die Gruppe wird auf der ganze Website nicht angezeigt, also weder in Gruppenliste noch in der dynamischen Navigation&lt;br /&gt;
:* &amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039;Ja, ohne Navigation&amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039;: die Gruppe wird zwar normal auf der Website angezeigt, jedoch in der dynamischen Navigation ausgeblendet&lt;br /&gt;
:* &amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039;Ja, ohne Subnavigation&amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039;: wie &amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039;Ja&amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039;, jedoch werden von diesem Menüpunkt in der dynamischen Navigation nur Untergruppen angezeigt, jedoch keine Artikel, die eventuell in dieser Gruppe liegen&lt;br /&gt;
&lt;br /&gt;
==Globalsreferenz==&lt;br /&gt;
===Globals direkt für das Plugin===&lt;br /&gt;
&amp;#039;&amp;#039;Die Parameter haben Default-Werte, müssen also nicht immer gesetzt werden&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
*&amp;#039;&amp;#039;&amp;#039;&amp;lt;tt&amp;gt;$GLOBALS[&amp;quot;DynPG&amp;quot;]-&amp;gt;SetParam_PlugIn_Template(&amp;#039;DPGdynmenu&amp;#039;, &amp;#039;TEMPLATEORDNER&amp;#039;);&amp;lt;/tt&amp;gt;&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
:Hiermit wählt man den Template-Ordner für die dynamische Navigation aus. Diese Template-Ordner liegen in &amp;lt;tt&amp;gt;dynpg/plugins/DPGdynmenu/templates&amp;lt;/tt&amp;gt;. Aus diesem Ordner wird die Template-Datei &amp;lt;tt&amp;gt;menu.tpl&amp;lt;/tt&amp;gt; zur Generierung des Menüs genommen. Dies ist unabhängig vom Global &amp;lt;tt&amp;gt;$GLOBALS[&amp;quot;DynPG&amp;quot;]-&amp;gt;SetupTemplate(...);&amp;lt;/tt&amp;gt;, der sozusagen das Template des Artikels bestimmt, welcher die dynamische Navigation enthält.&lt;br /&gt;
&lt;br /&gt;
*&amp;#039;&amp;#039;&amp;#039;&amp;lt;tt&amp;gt;$GLOBALS[&amp;quot;DynPG&amp;quot;]-&amp;gt;SetParam_PlugIn_Param(&amp;#039;DPGdynmenu&amp;#039;, PARAMETERNAME, PARAMETERWERT);&amp;lt;/tt&amp;gt;&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
:{| class=&amp;quot;dynpgwikitable&amp;quot;&lt;br /&gt;
! &amp;lt;tt&amp;gt;PARAMETERNAME&amp;lt;/tt&amp;gt; !! &amp;lt;tt&amp;gt;PARAMETERWERT&amp;lt;/tt&amp;gt; !! Beschreibung&lt;br /&gt;
|-&lt;br /&gt;
||&amp;lt;tt&amp;gt;&amp;#039;order&amp;#039;&amp;lt;/tt&amp;gt; || &amp;lt;tt&amp;gt;Array(&amp;#039;INDEX&amp;#039;)&amp;lt;/tt&amp;gt; oder &amp;lt;tt&amp;gt;Array(&amp;#039;NAME&amp;#039;)&amp;lt;/tt&amp;gt; || Reihenfolge der Gruppen in der Navigation nach Name oder im Backend gesetzten Index&lt;br /&gt;
|-&lt;br /&gt;
||&amp;lt;tt&amp;gt;&amp;#039;sort&amp;#039;&amp;lt;/tt&amp;gt; || &amp;lt;tt&amp;gt;Array(&amp;#039;ASC&amp;#039;)&amp;lt;/tt&amp;gt; oder &amp;lt;tt&amp;gt;Array(&amp;#039;DESC&amp;#039;)&amp;lt;/tt&amp;gt; || aufsteigende oder absteigende Sortierung&lt;br /&gt;
|-&lt;br /&gt;
||&amp;lt;tt&amp;gt;&amp;#039;order_articles&amp;#039;&amp;lt;/tt&amp;gt; || z.B. &amp;lt;tt&amp;gt;Array(&amp;#039;INDEX&amp;#039;)&amp;lt;/tt&amp;gt; || sortiert Artikel in der dynamischen Navigation (falls diese angezeigt werden) &lt;br /&gt;
|-&lt;br /&gt;
||&amp;lt;tt&amp;gt;&amp;#039;sort_articles&amp;#039;&amp;lt;/tt&amp;gt; || z.B. &amp;lt;tt&amp;gt;Array(&amp;#039;ASC&amp;#039;)&amp;lt;/tt&amp;gt; || bestimmt aufsteigende oder absteigende Sortierreihenfolge der Artikel&lt;br /&gt;
|-&lt;br /&gt;
||&amp;lt;tt&amp;gt;&amp;#039;href_page_groups&amp;#039;&amp;lt;/tt&amp;gt; || z.B. &amp;lt;tt&amp;gt;&amp;#039;../folgeseite.php&amp;#039;&amp;lt;/tt&amp;gt; || Seite auf die standardmäßig weiterverlinkt wird bei einem Klick auf den Gruppennamen, sofern die Gruppe Untergruppen hat. Wird dieser Parameter nicht angegeben, so wird auf die aktuelle PHP-Seite verlinkt. (ACHTUNG &amp;lt;tt&amp;gt;&amp;#039;../&amp;#039;&amp;lt;/tt&amp;gt; wichtig, siehe Ordnerstruktur weiter oben!)&lt;br /&gt;
|-&lt;br /&gt;
||&amp;lt;tt&amp;gt;&amp;#039;href_page_articles&amp;#039;&amp;lt;/tt&amp;gt; || z.B. &amp;lt;tt&amp;gt;&amp;#039;../folgeseite.php&amp;#039;&amp;lt;/tt&amp;gt; || Seite auf die standardmäßig weiterverlinkt wird bei einem Klick auf den Gruppennamen, sofern die Gruppe Artikel enthält. Wird dieser Parameter nicht angegeben, so wird auf die aktuelle PHP-Seite verlinkt. (ACHTUNG &amp;lt;tt&amp;gt;&amp;#039;../&amp;#039;&amp;lt;/tt&amp;gt; wichtig, siehe Ordnerstruktur weiter oben!)&lt;br /&gt;
|-&lt;br /&gt;
||&amp;lt;tt&amp;gt;&amp;#039;href_page_detail&amp;#039;&amp;lt;/tt&amp;gt; || z.B. &amp;lt;tt&amp;gt;&amp;#039;../folgeseite.php&amp;#039;&amp;lt;/tt&amp;gt; || Seite auf die standardmäßig weiterverlinkt wird bei einem Klick auf einen Artikelnamen. Wird dieser Parameter nicht angegeben, so wird auf die aktuelle PHP-Seite verlinkt. (ACHTUNG &amp;lt;tt&amp;gt;&amp;#039;../&amp;#039;&amp;lt;/tt&amp;gt; wichtig, siehe Ordnerstruktur weiter oben!)&lt;br /&gt;
|-&lt;br /&gt;
||&amp;lt;tt&amp;gt;&amp;#039;href_subpages&amp;#039;&amp;lt;/tt&amp;gt; || z.B. &amp;lt;pre&amp;gt;Array(&lt;br /&gt;
  GRUPPENNUMMER =&amp;gt; Array( &lt;br /&gt;
    &amp;#039;page&amp;#039; =&amp;gt; &amp;#039;PHP-SEITE{query}&amp;#039;,&lt;br /&gt;
    &amp;#039;successors&amp;#039; =&amp;gt; BOOLEAN&lt;br /&gt;
  ),&lt;br /&gt;
...&lt;br /&gt;
...&lt;br /&gt;
...&lt;br /&gt;
  GRUPPENNUMMER =&amp;gt; Array( &lt;br /&gt;
    &amp;#039;page&amp;#039; =&amp;gt; &amp;#039;PHP-SEITE{query}&amp;#039;,&lt;br /&gt;
    &amp;#039;successors&amp;#039; =&amp;gt; BOOLEAN&lt;br /&gt;
  ) &lt;br /&gt;
)&amp;lt;/pre&amp;gt; || Ermöglicht es, für bestimmte Gruppen auf eine spezielle &amp;lt;tt&amp;gt;PHP-SEITE&amp;lt;/tt&amp;gt; zu verlinken. Hierzu geben Sie anstatt &amp;lt;tt&amp;gt;GRUPPENNUMMER&amp;lt;/tt&amp;gt; die Gruppennummer der Gruppe aus dem Backend ein. Statt &amp;lt;tt&amp;gt;PHP-SEITE&amp;lt;/tt&amp;gt; fügen Sie den Namen und Pfad zur Zieldatei an, ausgehend vom Hauptverzeichnis des CMS!. Lassen Sie den Anhang &amp;lt;tt&amp;gt;{query}&amp;lt;/tt&amp;gt; genau so stehen, falls in die Zieldatei auch DynPG über Globals eingeben wurde. &amp;lt;tt&amp;gt;BOOLEAN&amp;lt;/tt&amp;gt; ersetzen Sie mit &amp;lt;tt&amp;gt;true&amp;lt;/tt&amp;gt; wenn für Untergruppen dieser Gruppe auch auf diese spezielle PHP-Seite verlink werden soll, ansonsten mit &amp;lt;tt&amp;gt;false&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Passen Sie auf, dass nach jedem &amp;lt;tt&amp;gt;GRUPPENNUMMER =&amp;gt; Array(...)&amp;lt;/tt&amp;gt; ein Komma notiert ist, allerdings nicht beim letzten.&lt;br /&gt;
|-&lt;br /&gt;
||&amp;lt;tt&amp;gt;&amp;#039;full_load&amp;#039;&amp;lt;/tt&amp;gt; || &amp;lt;tt&amp;gt;false&amp;lt;/tt&amp;gt; oder &amp;lt;tt&amp;gt;true&amp;lt;/tt&amp;gt; || zeigt unabhängig von angeklickten Gruppen den kompletten Navigationsbaum mit Untergruppen an (oder auch nicht)&lt;br /&gt;
|-&lt;br /&gt;
|| &amp;lt;tt&amp;gt;&amp;#039;full_load_articles&amp;#039;&amp;lt;/tt&amp;gt; || &amp;lt;tt&amp;gt;false&amp;lt;/tt&amp;gt; ||&lt;br /&gt;
|-&lt;br /&gt;
|| &amp;lt;tt&amp;gt;&amp;#039;limit_articles&amp;#039;&amp;lt;/tt&amp;gt; || &amp;lt;tt&amp;gt;false&amp;lt;/tt&amp;gt; oder eine Zahl || Sofern dieser Parameter eine Zahl als Wert erhält, bestimmt er die Anzahl der Artikel pro Gruppe, die in der dynamischen Navigation angezeigt werden, wenn eine Gruppe statt Untergruppen Artikel enthält.&lt;br /&gt;
|-&lt;br /&gt;
|| &amp;lt;tt&amp;gt;&amp;#039;expand_subtree&amp;#039;&amp;lt;/tt&amp;gt; || &amp;lt;tt&amp;gt;Array(4)&amp;lt;/tt&amp;gt; oder &amp;lt;tt&amp;gt;Array(4,5)&amp;lt;/tt&amp;gt; etc. || zeigt die Untergruppen von Gruppe 4 (bzw. 4 und 5) in jedem Fall an. Sei Gruppe 4 bspw. die Gruppe &amp;#039;&amp;#039;News&amp;#039;&amp;#039; des Backends, dann werden die beispielhaften Untergruppen &amp;#039;&amp;#039;Lokalnachrichten&amp;#039;&amp;#039; und &amp;#039;&amp;#039;Weltnachrichten&amp;#039;&amp;#039; immer zur Navigation angeboten, auch wenn sich ein Benutzer auf der Website gerade einen Artikel aus der Gruppe &amp;#039;&amp;#039;Kontakt&amp;#039;&amp;#039; anschaut&lt;br /&gt;
|- &lt;br /&gt;
|| &amp;lt;tt&amp;gt;&amp;#039;implode_subtree&amp;#039;&amp;lt;/tt&amp;gt; || &amp;lt;tt&amp;gt;Array(4)&amp;lt;/tt&amp;gt; oder &amp;lt;tt&amp;gt;Array(4,5)&amp;lt;/tt&amp;gt; etc. || zeigt die Untergruppen von Gruppe 4 (bzw. 4 und 5) in jedem Fall NICHT an. Anmerkung: der Parameter &amp;lt;tt&amp;gt;expand_subtree&amp;lt;/tt&amp;gt; überschreibt diese Einstellung! Ist also eine Gruppe in beiden Parametern aufgeführt, so werden die Untergruppen dieser Gruppe immer angezeigt, da der Parameter &amp;lt;tt&amp;gt;expand_subtree&amp;lt;/tt&amp;gt; wichtiger ist.&lt;br /&gt;
|-&lt;br /&gt;
|| &amp;lt;tt&amp;gt;&amp;#039;real_expand&amp;#039;&amp;lt;/tt&amp;gt; || &amp;lt;tt&amp;gt;false&amp;lt;/tt&amp;gt; oder &amp;lt;tt&amp;gt;true&amp;lt;/tt&amp;gt; || Verwenden Sie das Template &amp;#039;&amp;#039;intelligent&amp;#039;&amp;#039; für die dynamische Navigation, setzen Sie diesen Parameter auf &amp;lt;tt&amp;gt;true&amp;lt;/tt&amp;gt;, ansonsten auf &amp;lt;tt&amp;gt;false&amp;lt;/tt&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|| &amp;lt;tt&amp;gt;&amp;#039;parent_select&amp;#039;&amp;lt;/tt&amp;gt; || &amp;lt;tt&amp;gt;true&amp;lt;/tt&amp;gt; ||&lt;br /&gt;
|-&lt;br /&gt;
|| &amp;lt;tt&amp;gt;&amp;#039;max_depth&amp;#039;&amp;lt;/tt&amp;gt; || &amp;lt;tt&amp;gt;null&amp;lt;/tt&amp;gt; oder &amp;lt;tt&amp;gt;0&amp;lt;/tt&amp;gt; oder &amp;lt;tt&amp;gt;1&amp;lt;/tt&amp;gt; etc. || Tiefe bis zu der (Unter-)Gruppen angezeigt werden&lt;br /&gt;
|-&lt;br /&gt;
|| &amp;lt;tt&amp;gt;&amp;#039;min_depth&amp;#039;&amp;lt;/tt&amp;gt; || &amp;lt;tt&amp;gt;null&amp;lt;/tt&amp;gt; oder &amp;lt;tt&amp;gt;0&amp;lt;/tt&amp;gt; oder &amp;lt;tt&amp;gt;1&amp;lt;/tt&amp;gt; etc. || Tiefe, die eine Gruppe mindestens haben muss um angezeigt zu werden, z.B. 1 um oberste Ebene der Gruppen aus dem Backend auszublenden&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Sinnvolle Globals vom DynPG-CMS===&lt;br /&gt;
&lt;br /&gt;
*&amp;#039;&amp;#039;&amp;#039;&amp;lt;tt&amp;gt;$GLOBALS[&amp;quot;DynPG&amp;quot;]-&amp;gt;SetupTemplate(&amp;#039;uneditable&amp;#039;);&amp;lt;/tt&amp;gt; &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
:ermöglicht Navigation in der Seite obwohl Editiermodus im Backend angeschaltet ist&lt;br /&gt;
*&amp;#039;&amp;#039;&amp;#039;&amp;lt;tt&amp;gt;$GLOBALS[&amp;quot;DynPG&amp;quot;]-&amp;gt;SetParam_A_Anytime(TRUE);&amp;lt;/tt&amp;gt; &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
:Menü soll immer angezeigt werden&lt;br /&gt;
*&amp;#039;&amp;#039;&amp;#039;&amp;lt;tt&amp;gt;$GLOBALS[&amp;quot;DynPG&amp;quot;]-&amp;gt;SetParam_A_CategoryNavigation(FALSE);&amp;lt;/tt&amp;gt; &amp;#039;&amp;#039;&amp;#039; &lt;br /&gt;
:keine weitere Navigation(Breadcrumb) anzeigen&lt;br /&gt;
*&amp;#039;&amp;#039;&amp;#039;&amp;lt;tt&amp;gt;$GLOBALS[&amp;quot;DynPG&amp;quot;]-&amp;gt;SetParam_A_PrintNavigation(FALSE);&amp;lt;/tt&amp;gt; &amp;#039;&amp;#039;&amp;#039; &lt;br /&gt;
:kein Link zu Print-Seite anzeigen&lt;br /&gt;
*&amp;#039;&amp;#039;&amp;#039;&amp;lt;tt&amp;gt;$GLOBALS[&amp;quot;DynPG&amp;quot;]-&amp;gt;SetParam_A_ArticleHeader(FALSE);&amp;lt;/tt&amp;gt; &amp;#039;&amp;#039;&amp;#039; &lt;br /&gt;
:keine Artikelüberschrift (des Artikels mit dem DynMenü-Platzhalter) und kein Artikelleadtext anzeigen&lt;br /&gt;
*&amp;#039;&amp;#039;&amp;#039;&amp;lt;tt&amp;gt;$GLOBALS[&amp;quot;DynPG&amp;quot;]-&amp;gt;SetParam_A_Article(1);&amp;lt;/tt&amp;gt; &amp;#039;&amp;#039;&amp;#039; &lt;br /&gt;
:Artikel mit dem Dynmenü-Platzhalter setzen (&amp;#039;&amp;#039;&amp;#039;Hier die Artikelnummer aus [[#Einrichten|Einrichten]] einfügen!&amp;#039;&amp;#039;&amp;#039;)&lt;br /&gt;
*&amp;#039;&amp;#039;&amp;#039;&amp;lt;tt&amp;gt;$GLOBALS[&amp;quot;DynPG&amp;quot;]-&amp;gt;Write_Article();&amp;lt;/tt&amp;gt; &amp;#039;&amp;#039;&amp;#039; &lt;br /&gt;
:Artikel ausgeben&lt;br /&gt;
*&amp;#039;&amp;#039;&amp;#039;&amp;lt;tt&amp;gt;$GLOBALS[&amp;quot;DynPG&amp;quot;]-&amp;gt;SetupTemplate(&amp;#039;default&amp;#039;);&amp;lt;/tt&amp;gt; &amp;#039;&amp;#039;&amp;#039; &lt;br /&gt;
:andere Teile der Website haben sicherlich andere Templates. Wir setzen daher hier wieder auf das Standard-Template zurück&lt;br /&gt;
&lt;br /&gt;
==CSS==&lt;br /&gt;
Die CSS-Dateien für die dynamische Navigation liegen im Verzeichnis &amp;lt;tt&amp;gt;dynpg/plugins/DPGdynmenu/styles&amp;lt;/tt&amp;gt;. Die Datei &amp;lt;tt&amp;gt;menu.css&amp;lt;/tt&amp;gt; ist hierbei meist die ausschlaggebende, so zum Beispiel in der Navigation der Musterwebsite 3.&lt;br /&gt;
&lt;br /&gt;
Die CSS-Klassen und -Bezeichner aus dieser Datei sind nach einem bestimmten Schema benannt. Hat man dieses einmal verstanden, so lassen sich leicht Änderungen an speziellen Teilen des Erscheinungsbildes der dynamischen Navigation durchführen.&lt;br /&gt;
&lt;br /&gt;
Die dynamische Navigation wird von einem &amp;lt;tt&amp;gt;div&amp;lt;/tt&amp;gt;-Tag mit der Id &amp;lt;tt&amp;gt;course_categories_menu&amp;lt;/tt&amp;gt; umschlossen.&lt;br /&gt;
&lt;br /&gt;
Diese Angaben gelten also grundsätzlich für die gesamte dynamische Navigation und werden gegebenenfalls weitervererbt.&lt;br /&gt;
Im &amp;lt;tt&amp;gt;menu.css&amp;lt;/tt&amp;gt; der Muster-Website 3 steht beispielsweise:&lt;br /&gt;
&amp;lt;code&amp;gt;[css, N]&lt;br /&gt;
div#course_categories_menu {&lt;br /&gt;
  margin: 0;&lt;br /&gt;
  padding: 0;&lt;br /&gt;
  width: 180px;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Um zu verhindern, dass die CSS-Angaben dieser Datei auch auf andere Teile der Website Einfluss haben, ist vor allen anderen CSS-Definitionen der Datei ebenfalls &amp;lt;tt&amp;gt;div#course_categories_menu&amp;lt;/tt&amp;gt; notiert. Dadurch wirken sich die Angaben nur auf die dynamische Navigation aus.&lt;br /&gt;
&lt;br /&gt;
Innerhalb des &amp;lt;tt&amp;gt;course_categories_menu&amp;lt;/tt&amp;gt; - &amp;lt;tt&amp;gt;div&amp;lt;/tt&amp;gt; - Tags gibt es für jede Gruppe der obersten angezeigten Gruppenebene ein &amp;lt;div&amp;gt;-Tag mit der CSS-Id &amp;lt;tt&amp;gt;group_fold_NUMMER&amp;lt;/tt&amp;gt; wobei &amp;lt;tt&amp;gt;NUMMER&amp;lt;/tt&amp;gt; der Gruppennummer der Gruppe aus dem Backend entspricht. In der Navigation der Muster-Website 3 gibt es also folgende Tags:&lt;br /&gt;
&amp;lt;code&amp;gt;[html, N]&lt;br /&gt;
&amp;lt;div id=&amp;quot;course_categories_menu&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;div id=&amp;quot;group_fold_2&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;  &amp;lt;!--Produkte--&amp;gt;&lt;br /&gt;
  &amp;lt;div id=&amp;quot;group_fold_3&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;  &amp;lt;!--Support--&amp;gt;&lt;br /&gt;
  &amp;lt;div id=&amp;quot;group_fold_9&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;  &amp;lt;!--News--&amp;gt;&lt;br /&gt;
  &amp;lt;div id=&amp;quot;group_fold_4&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;  &amp;lt;!--Über uns--&amp;gt;&lt;br /&gt;
  &amp;lt;div id=&amp;quot;group_fold_5&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;  &amp;lt;!--Kontakt--&amp;gt;&lt;br /&gt;
  &amp;lt;div id=&amp;quot;group_fold_21&amp;quot;&amp;gt;&amp;lt;/div&amp;gt; &amp;lt;!--Blog--&amp;gt;&lt;br /&gt;
  &amp;lt;div id=&amp;quot;group_fold_15&amp;quot;&amp;gt;&amp;lt;/div&amp;gt; &amp;lt;!--Sitemap--&amp;gt;&lt;br /&gt;
  &amp;lt;div id=&amp;quot;group_fold_6&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;  &amp;lt;!--Home--&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
Möchte man nun Eigenschaften nur an einem bestimmten Teil der Navigation machen, so könnte man im CSS-File folgende Angabe machen:&lt;br /&gt;
&amp;lt;code&amp;gt;[css, N]&lt;br /&gt;
div#course_categories_menu div#group_fold_9 {&lt;br /&gt;
  text-decoration:blink;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
Damit würde der Text der Gruppe &amp;#039;&amp;#039;News&amp;#039;&amp;#039; (und eventueller Untergruppen) in der dynamischen Navigation blinken.&lt;br /&gt;
&lt;br /&gt;
Innerhalb der &amp;lt;tt&amp;gt;group_fold_NUMMER&amp;lt;/tt&amp;gt; - &amp;lt;tt&amp;gt;div&amp;lt;/tt&amp;gt; - Tags gibt es nun ein &amp;lt;tt&amp;gt;div&amp;lt;/tt&amp;gt; - Tag, dass (neben einer weiteren CSS-Id) eine CSS-Klasse hat. Diese CSS-Klasse wird nach folgendem Muster gebildet:&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;&amp;lt;tt&amp;gt;level_&amp;#039;&amp;#039;A&amp;#039;&amp;#039;_&amp;#039;&amp;#039;B&amp;#039;&amp;#039;_&amp;#039;&amp;#039;C&amp;#039;&amp;#039;_&amp;#039;&amp;#039;D&amp;#039;&amp;#039;_&amp;#039;&amp;#039;E&amp;#039;&amp;#039;&amp;lt;/tt&amp;gt;&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;dynpgwikitable&amp;quot;&lt;br /&gt;
! Buchstabe !! mögliche Werte !! Beschreibung&lt;br /&gt;
|-&lt;br /&gt;
|| &amp;lt;tt&amp;gt;&amp;#039;&amp;#039;A&amp;#039;&amp;#039;&amp;lt;/tt&amp;gt; || 0 oder 1 oder 2 etc. || gibt das Level der Gruppe an, also die Verzweigungstiefe in der sich die Navigation befindet&lt;br /&gt;
|-&lt;br /&gt;
|| &amp;lt;tt&amp;gt;&amp;#039;&amp;#039;B&amp;#039;&amp;#039;&amp;lt;/tt&amp;gt; || &amp;lt;tt&amp;gt;r&amp;lt;/tt&amp;gt; (nicht letzter), &amp;lt;tt&amp;gt;e&amp;lt;/tt&amp;gt; (letzter) || gibt an, ob nach dieser Gruppe noch weitere aufgelistet werden (z.B. in Musterwebsite 3 ist die Gruppe 6 &amp;quot;Home&amp;quot; die letzte des Menüs)&lt;br /&gt;
|-&lt;br /&gt;
|| &amp;lt;tt&amp;gt;&amp;#039;&amp;#039;C&amp;#039;&amp;#039;&amp;lt;/tt&amp;gt; ||  &amp;lt;tt&amp;gt;a&amp;lt;/tt&amp;gt; (ist aktiv), &amp;lt;tt&amp;gt;i&amp;lt;/tt&amp;gt; (ist nicht aktiv) || gibt an, ob die Gruppe aktiv ist, d.h. ob sie durch einen Klick ausgewählt wurde&lt;br /&gt;
|-&lt;br /&gt;
|| &amp;lt;tt&amp;gt;&amp;#039;&amp;#039;D&amp;#039;&amp;#039;&amp;lt;/tt&amp;gt; ||  &amp;lt;tt&amp;gt;exp&amp;lt;/tt&amp;gt; (ausgeklappt), cll(eingeklappt) || gibt an, ob die Untergruppen dieser Gruppe ausgeklappt sind oder nicht&lt;br /&gt;
|-&lt;br /&gt;
|| &amp;lt;tt&amp;gt;&amp;#039;&amp;#039;E&amp;#039;&amp;#039;&amp;lt;/tt&amp;gt; ||  &amp;lt;tt&amp;gt;_hover&amp;lt;/tt&amp;gt; (Mauszeiger ist über dem Element), nichts (Mauszeiger ist nicht über dem Element) || gibt an, ob sich der Mauszeiger über dem Gruppennamen befindet oder nicht&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Mithilfe dieses Schemas kann man nun bestimmen, welche CSS-Klassen man in der CSS-Datei angeben muss um bestimmte Effekte hervorzurufen.&lt;br /&gt;
Möchte man beispielsweise, dass alle Elemente der zweitobersten Ebene blinken, wenn der Mauszeiger über dem Element ist, so notiert man in der CSS-Datei:&lt;br /&gt;
&amp;lt;code&amp;gt;[css, N]&lt;br /&gt;
div#course_categories_menu div#level_1_r_a_exp_hover,&lt;br /&gt;
div#course_categories_menu div#level_1_r_a_cll_hover,&lt;br /&gt;
div#course_categories_menu div#level_1_r_i_exp_hover,&lt;br /&gt;
div#course_categories_menu div#level_1_r_i_cll_hover,&lt;br /&gt;
div#course_categories_menu div#level_1_e_a_exp_hover,&lt;br /&gt;
div#course_categories_menu div#level_1_e_a_cll_hover,&lt;br /&gt;
div#course_categories_menu div#level_1_e_i_exp_hover,&lt;br /&gt;
div#course_categories_menu div#level_1_e_i_cll_hover {&lt;br /&gt;
  text-decoration:blink;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Diese Struktur der &amp;lt;tt&amp;gt;div&amp;lt;/tt&amp;gt;-Tags wiederholt sich mit tieferen Gruppenebenen / Untergruppen. Zum Beispiel tauchen die &amp;lt;tt&amp;gt;div&amp;lt;/tt&amp;gt;-Tags der Untergruppen vom &amp;#039;&amp;#039;Über uns&amp;#039;&amp;#039;-Menüpunkt aus der Muster-Website 3 innerhalb des &amp;lt;tt&amp;gt;group_fold_4&amp;lt;/tt&amp;gt; - &amp;lt;tt&amp;gt;div&amp;lt;/tt&amp;gt; - Tags auf.&lt;br /&gt;
&lt;br /&gt;
Weitere Informationen über die CSS-Klassen kann man schnell erhalten, indem man sich den HTML-Code eines generierten dynamischen Menüs anschaut, zum Beispiel aus der Muster-Website 3.&lt;br /&gt;
&lt;br /&gt;
==Templates==&lt;br /&gt;
Diese Templates liegen im Ordner &amp;lt;tt&amp;gt;dynpg/plugins/DPGdynmenu/templates&amp;lt;/tt&amp;gt;. Hier finden sie Ordner, die jeweils eine &amp;lt;tt&amp;gt;menu.tpl&amp;lt;/tt&amp;gt; enthalten. Welcher dieser Ordner aktiv ist, bestimmen Sie durch das Global &amp;lt;tt&amp;gt;$GLOBALS[&amp;quot;DynPG&amp;quot;]-&amp;gt;SetParam_PlugIn_Template(&amp;#039;DPGdynmenu&amp;#039;, &amp;#039;TEMPLATEORDNER&amp;#039;);&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Die Templates dienen als Vorlage für die Generierung des HTML-Codes der dynamischen Navigation. In ihnen werden auch die CSS-Klassen definiert, welche in [[#CSS|CSS]] erklärt wurden. Außerdem finden hier Templateplatzhalter der Form &amp;lt;tt&amp;gt;&amp;lt;nowiki&amp;gt;{$PLATZHALTER}&amp;lt;/nowiki&amp;gt;&amp;lt;/tt&amp;gt; Verwendung, die DynPG dynamisch durch Inhalt ersetzt.&lt;br /&gt;
&lt;br /&gt;
Das Template &amp;#039;&amp;#039;horizontal&amp;#039;&amp;#039; der Musterwebsite 3 generiert beispielsweise ein horizontales Menü, während das Template &amp;#039;&amp;#039;intelligent&amp;#039;&amp;#039; ein vertikales Menü erzeugt.&lt;br /&gt;
&lt;br /&gt;
Modifikationen an den Templates sind recht komplex. Sollten Sie vorhaben hier Änderungen durchzuführen, wenden Sie sich an das DynPG-Forum.&lt;br /&gt;
&lt;br /&gt;
==Feste Links einbauen==&lt;br /&gt;
&lt;br /&gt;
Hierzu erstellt man im Backend eine Gruppe mit dem Namen des festen Links und merkt sich die Gruppennummer. Mittels des Plugin-Parameters &amp;lt;tt&amp;gt;&amp;#039;href_subpages&amp;#039;&amp;lt;/tt&amp;gt; setzt man für diese Gruppennummer nun als Ziel die Datei &amp;lt;tt&amp;gt;counter.php&amp;lt;/tt&amp;gt; fest und übergibt dieser als Parameter das feste Linkziel. Beispiel: Wir wollen einen Link auf die Google-Webseite setzen. Also erstellen wir im Backend eine Gruppe mit dem Namen &amp;#039;&amp;#039;Google-Websuche&amp;#039;&amp;#039; und notieren die Gruppennummer (z.B. 33). In die PHP-Datei unserer dynamischen Navigation fügen wir nun folgendes ein:&lt;br /&gt;
&amp;lt;code&amp;gt;[php, N]&lt;br /&gt;
$GLOBALS[&amp;quot;DynPG&amp;quot;]-&amp;gt;SetParam_PlugIn_Param(&lt;br /&gt;
  &amp;#039;DPGdynmenu&amp;#039;,&lt;br /&gt;
  &amp;#039;href_subpages&amp;#039;,&lt;br /&gt;
  Array(&lt;br /&gt;
	33 =&amp;gt; Array(&lt;br /&gt;
      &amp;#039;page&amp;#039; =&amp;gt; &amp;#039;counter.php?inc=http://www.google.com&amp;#039;,&lt;br /&gt;
      &amp;#039;successors&amp;#039; =&amp;gt; true&lt;br /&gt;
    )		&lt;br /&gt;
  )&lt;br /&gt;
);&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Mehrsprachiges Menü==&lt;br /&gt;
&lt;br /&gt;
Hierzu gibt es einen Thread in unserem Forum unter [http://www.dynpg.ch/dynpg-forum.php?t=&amp;amp;read_group=30&amp;amp;thread_id=47&amp;amp;tt=Sprachwechsel]. Die grundsätzliche Idee ist (bei zwei Sprachen) zwei Gruppenbäume im Backend aufzubauen. Die oberste Gruppe des ersten Baumes wäre beispielsweise die Gruppe &amp;#039;&amp;#039;Deutsch&amp;#039;&amp;#039;, die oberste Gruppe des zweiten Baumes wäre zum Beispiel &amp;#039;&amp;#039;English&amp;#039;&amp;#039;.&lt;br /&gt;
&lt;br /&gt;
In der zweiten Ebene kommen dann unter &amp;#039;&amp;#039;Deutsch&amp;#039;&amp;#039; bzw. &amp;#039;&amp;#039;English&amp;#039;&amp;#039; Untergruppen wie &amp;#039;&amp;#039;News&amp;#039;&amp;#039;/&amp;#039;&amp;#039;Nachrichten&amp;#039;&amp;#039;, &amp;#039;&amp;#039;Produkte&amp;#039;&amp;#039;/&amp;#039;&amp;#039;Products&amp;#039;&amp;#039;, &amp;#039;&amp;#039;Hilfe&amp;#039;&amp;#039;/&amp;#039;&amp;#039;Support&amp;#039;&amp;#039; und so weiter. Man erstellt sich nun zwei PHP-Dateien (&amp;lt;tt&amp;gt;navi_de.php&amp;lt;/tt&amp;gt;, &amp;lt;tt&amp;gt;navi_en.php&amp;lt;/tt&amp;gt;) wie oben beschrieben [[#Einrichten|Einrichten]]. In diesen wird dann mit den Befehlen aus [[#Globalsreferenz|Globalsreferenz]] der jeweils nicht passende Baum ausgeblendet.&lt;br /&gt;
&lt;br /&gt;
==Siehe auch==&lt;br /&gt;
*[[Sitemap-Tutorial]]&lt;br /&gt;
*[[Implementation eines kompletten Hauptmenüs]]&lt;br /&gt;
*[[Code-Schnipsel Einfaches Hauptmenü]]&lt;br /&gt;
*[[Code-Schnipsel Menüeinträge sortieren]]&lt;br /&gt;
*[[Snippet-Beispiele]]&lt;/div&gt;</summary>
		<author><name>Sebastian</name></author>	</entry>

	<entry>
		<id>https://wiki-en.dynpg.org/wiki_de/index.php?title=Dynamische_Navigation</id>
		<title>Dynamische Navigation</title>
		<link rel="alternate" type="text/html" href="https://wiki-en.dynpg.org/wiki_de/index.php?title=Dynamische_Navigation"/>
				<updated>2009-08-17T16:10:14Z</updated>
		
		<summary type="html">&lt;p&gt;Sebastian: /* Sinnvolle Globals vom DynPG-CMS */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Kategorie:Module]]&lt;br /&gt;
==Beschreibung==&lt;br /&gt;
Die dynamische Navigation ist Bestandteil des kostenlosen Grundmoduls von DynPG und bereits im Standard-DynPG integriert. Es ist keine separate Installation notwendig. Sie ermöglicht es Ihnen einfach und flexibel Navigationen auf Ihrer Homepage zu erstellen. Die Anwendungsmöglichkeiten gestalten sich dabei flexibel als normales Menü oder auch als Sitemap.&lt;br /&gt;
&lt;br /&gt;
Ein dynamisches Menü bildet die Gruppenstruktur im Backend, also die Abfolge von Gruppen, Untergruppen und Artikeln in einer Gruppe, als Menü ab, macht also die logische Struktur ihrer Artikel aus dem Backend auf einer Webseite sichtbar und navigierbar. &lt;br /&gt;
&lt;br /&gt;
Der Vorteil ist, dass man im Backend neue Gruppen o.ä. erstellt und diese dann im Hauptmenü erscheinen. Dies ist auch bei Untergruppen nützlich,&lt;br /&gt;
z.B. wenn eine neue Untergruppe &amp;#039;&amp;#039;Lokalnachrichten&amp;#039;&amp;#039; zur Hauptgruppe &amp;#039;&amp;#039;News&amp;#039;&amp;#039; hinzukommt.&lt;br /&gt;
&lt;br /&gt;
Zum Verständnis der Funktionsvielfalt der dynamischen Navigation ist es hilfreich, einmal eine der [[Muster-Web-Sites|Musterwebsites]] zu installieren und in den entsprechenden Dateien der Musterwebsite die unten erklärten Einstellungsmöglichkeiten nachzuvollziehen und vielleicht auch einmal mit den Optionen herumzuspielen.&lt;br /&gt;
&lt;br /&gt;
==Einrichten==&lt;br /&gt;
&amp;#039;&amp;#039;Anmerkung: Benutzen sie die [[Muster-Web-Sites|Musterwebsites]], so müssen die nachfolgenden zwei Schritte nicht ausgeführt werden, da die dynamische Navigation bereits in den Musterwebsites genutzt wird&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
===Schritt 1: Artikel erstellen mit Platzhalter für die dynamische Navigation===&lt;br /&gt;
Wählen Sie im Menü des Backends &amp;#039;&amp;#039;Gruppen&amp;#039;&amp;#039; aus [[Media:dynmenue01.png|Klick]]. Suchen Sie sich nun eine Gruppe, in der Sie einen Artikel erfassen wollen. Hier wählen wir (die in diesem Falle schon vorhandene) Gruppe &amp;#039;&amp;#039;Startseite/Navigation/Formular&amp;#039;&amp;#039; durch Klick auf ihren Namen aus [[Media:dynmenue02.png|Klick]].&lt;br /&gt;
&lt;br /&gt;
Mit einem Klick auf &amp;#039;&amp;#039;Artikel Formular anzeigen&amp;#039;&amp;#039; [[Media:dynmenue03.PNG|Klick]] und danach auf &amp;#039;&amp;#039;Inhalt bearbeiten&amp;#039;&amp;#039; [[Media:dynmenue04.PNG|Klick]] erscheint der Editor.&lt;br /&gt;
&lt;br /&gt;
In diesem wählen Sie das Symbol für die dynamische Navigation [[Media:dynmenue05.PNG|Klick]], geben noch einen Titel, etwa &amp;#039;&amp;#039;Neue Seitennavigation&amp;#039;&amp;#039;, ein und bestätigen mit einem Klick auf &amp;#039;&amp;#039;Erstellen&amp;#039;&amp;#039; [[Media:dynmenue06.PNG|Klick]]. &lt;br /&gt;
&lt;br /&gt;
Hat alles geklappt, können Sie im unteren Teil der Seite den neuen Artikel sehen [[Media:dynmenue07.PNG|Klick]]. Die Nummer des Artikels benötigen Sie erneut, wenn Sie in eine PHP-Datei mittels eines Globals die dynamische Navigation einbinden.&lt;br /&gt;
&lt;br /&gt;
===Schritt 2: PHP-Datei für die dynamische Navigation erstellen===&lt;br /&gt;
Folgende Ordner-Struktur könnte bei Ihnen vorliegen:&lt;br /&gt;
:*&amp;lt;tt&amp;gt;http-docs/dynpg&amp;lt;/tt&amp;gt; : hier liegt das DynPG-CMS&lt;br /&gt;
:*&amp;lt;tt&amp;gt;http-docs/index.php&amp;lt;/tt&amp;gt; : die Hauptseite Ihrer Website&lt;br /&gt;
:*&amp;lt;tt&amp;gt;http-docs/folgeseite.php&amp;lt;/tt&amp;gt; : eine andere PHP-Datei der Website&lt;br /&gt;
:*&amp;lt;tt&amp;gt;http-docs/inc/navi.php&amp;lt;/tt&amp;gt; : In diese Datei platziert man häufig den Code für die Navigation, dadurch ist er leichter wiederverwendbar&lt;br /&gt;
&lt;br /&gt;
Den nötigen Code der &amp;lt;tt&amp;gt;inc/navi.php&amp;lt;/tt&amp;gt; kann man anhand der [[Muster-Web-Sites|Musterwebsites]] nachvollziehen (Für eine genauere Erklärung der einzelnen verwendeten Globals siehe die [[Funktionsreferenz/Globals|Globals-Übersicht von DynPG]] und weiter unten die [[#Globalsreferenz|Funktionsübersicht der dynamischen Navigation]]) :&lt;br /&gt;
:*&amp;#039;&amp;#039;&amp;#039;&amp;lt;tt&amp;gt;inc/navi.php&amp;lt;/tt&amp;gt;:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;code&amp;gt;[php, N]&lt;br /&gt;
&amp;lt;?php&lt;br /&gt;
  $GLOBALS[&amp;quot;DynPG&amp;quot;]-&amp;gt;SetParam_PlugIn_Template(&amp;#039;DPGdynmenu&amp;#039;, &amp;#039;intelligent&amp;#039;);&lt;br /&gt;
  $GLOBALS[&amp;quot;DynPG&amp;quot;]-&amp;gt;SetParam_PlugIn_Param(&amp;#039;DPGdynmenu&amp;#039;, &amp;#039;real_expand&amp;#039;, TRUE);&lt;br /&gt;
  $GLOBALS[&amp;quot;DynPG&amp;quot;]-&amp;gt;SetParam_PlugIn_Param(&amp;#039;DPGdynmenu&amp;#039;, &amp;#039;order&amp;#039;, Array(&amp;#039;INDEX&amp;#039;));&lt;br /&gt;
  $GLOBALS[&amp;quot;DynPG&amp;quot;]-&amp;gt;SetParam_PlugIn_Param(&amp;#039;DPGdynmenu&amp;#039;, &amp;#039;sort&amp;#039;, Array(&amp;#039;ASC&amp;#039;));&lt;br /&gt;
  $GLOBALS[&amp;quot;DynPG&amp;quot;]-&amp;gt;SetParam_PlugIn_Param(&amp;#039;DPGdynmenu&amp;#039;, &amp;#039;href_page_groups&amp;#039;, &amp;#039;../folgeseite.php&amp;#039;);&lt;br /&gt;
  $GLOBALS[&amp;quot;DynPG&amp;quot;]-&amp;gt;SetParam_PlugIn_Param(&amp;#039;DPGdynmenu&amp;#039;, &amp;#039;href_page_articles&amp;#039;, &amp;#039;../folgeseite.php&amp;#039;);&lt;br /&gt;
  $GLOBALS[&amp;quot;DynPG&amp;quot;]-&amp;gt;SetParam_PlugIn_Param(&amp;#039;DPGdynmenu&amp;#039;, &amp;#039;href_page_detail&amp;#039;, &amp;#039;../folgeseite.php&amp;#039;);&lt;br /&gt;
  $GLOBALS[&amp;quot;DynPG&amp;quot;]-&amp;gt;SetParam_PlugIn_Param(&lt;br /&gt;
    &amp;#039;DPGdynmenu&amp;#039;,&lt;br /&gt;
    &amp;#039;href_subpages&amp;#039;,&lt;br /&gt;
    Array(&lt;br /&gt;
      0 =&amp;gt; Array(&lt;br /&gt;
        &amp;#039;page&amp;#039; =&amp;gt; &amp;#039;../formular.php{query}&amp;#039;,&lt;br /&gt;
        &amp;#039;successors&amp;#039; =&amp;gt; true&lt;br /&gt;
      ),&lt;br /&gt;
      21 =&amp;gt; Array(&lt;br /&gt;
        &amp;#039;page&amp;#039; =&amp;gt; &amp;#039;../blog.php{query}&amp;#039;,&lt;br /&gt;
        &amp;#039;successors&amp;#039; =&amp;gt; true&lt;br /&gt;
      ),&lt;br /&gt;
      15 =&amp;gt; Array(&lt;br /&gt;
        &amp;#039;page&amp;#039; =&amp;gt; &amp;#039;../sitemap.php{query}&amp;#039;,&lt;br /&gt;
        &amp;#039;successors&amp;#039; =&amp;gt; true&lt;br /&gt;
      ),&lt;br /&gt;
      16 =&amp;gt; Array(&lt;br /&gt;
        &amp;#039;page&amp;#039; =&amp;gt; &amp;#039;../veranstaltungen.php{query}&amp;#039;,&lt;br /&gt;
        &amp;#039;successors&amp;#039; =&amp;gt; true&lt;br /&gt;
      ),&lt;br /&gt;
      21 =&amp;gt; Array(&lt;br /&gt;
        &amp;#039;page&amp;#039; =&amp;gt; &amp;#039;../blog.php{query}&amp;#039;,&lt;br /&gt;
        &amp;#039;successors&amp;#039; =&amp;gt; true&lt;br /&gt;
      ),&lt;br /&gt;
      6 =&amp;gt; Array(&lt;br /&gt;
        &amp;#039;page&amp;#039; =&amp;gt; &amp;#039;../index.php{query}&amp;#039;,&lt;br /&gt;
        &amp;#039;successors&amp;#039; =&amp;gt; true&lt;br /&gt;
      )&lt;br /&gt;
    )&lt;br /&gt;
  );    &lt;br /&gt;
  $GLOBALS[&amp;quot;DynPG&amp;quot;]-&amp;gt;SetupTemplate(&amp;#039;uneditable&amp;#039;); &lt;br /&gt;
  $GLOBALS[&amp;quot;DynPG&amp;quot;]-&amp;gt;SetParam_A_Anytime(TRUE);&lt;br /&gt;
  $GLOBALS[&amp;quot;DynPG&amp;quot;]-&amp;gt;SetParam_A_CategoryNavigation(FALSE);&lt;br /&gt;
  $GLOBALS[&amp;quot;DynPG&amp;quot;]-&amp;gt;SetParam_A_PrintNavigation(FALSE);&lt;br /&gt;
  $GLOBALS[&amp;quot;DynPG&amp;quot;]-&amp;gt;SetParam_A_ArticleHeader(FALSE);&lt;br /&gt;
  $GLOBALS[&amp;quot;DynPG&amp;quot;]-&amp;gt;SetParam_A_Article(1);&lt;br /&gt;
&lt;br /&gt;
  $GLOBALS[&amp;quot;DynPG&amp;quot;]-&amp;gt;Write_Article();&lt;br /&gt;
  $GLOBALS[&amp;quot;DynPG&amp;quot;]-&amp;gt;SetupTemplate(&amp;#039;default&amp;#039;);  &lt;br /&gt;
?&amp;gt;&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Man kann nun in der &amp;lt;tt&amp;gt;index.php&amp;lt;/tt&amp;gt; mittels &lt;br /&gt;
&amp;lt;code&amp;gt;[php, N]&lt;br /&gt;
&amp;lt;?php include(&amp;quot;inc/navi.php&amp;quot;); ?&amp;gt;&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
die Navigation einbinden, ebenso z.B. auch in der &amp;lt;tt&amp;gt;folgeseite.php&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Die dynamische Navigation kann nun an verschiedenen Stellen angepasst werden. Neben den Globals in der PHP-Datei ([[#Globalsreferenz|Globalsreferenz]]) ist dies im Backend durch das Erstellen von Gruppen und Artikeln möglich ([[#Dynamische_Navigation_im_Backend|Dynamische Navigation im Backend]]). Erweiterte Möglichkeiten ergeben sich durch das [[#CSS|CSS]] und die [[#Templates|Templates]].&lt;br /&gt;
&lt;br /&gt;
==Die dynamische Navigation im Backend==&lt;br /&gt;
&lt;br /&gt;
Wie bereits erwähnt, bildet die dynamische Navigation die Gruppenstruktur des Backends auf einer Webseite ab. In der Musterwebsite 3 ist im Backend zum Beispiel folgende Gruppenstruktur zu erkennen:&lt;br /&gt;
[[Media:dynmenue08.PNG|Klick]].&lt;br /&gt;
Auf der Website sieht dies dann wie folgt aus:&lt;br /&gt;
[[Media:dynmenue09.PNG|Klick]]&lt;br /&gt;
oder auch&lt;br /&gt;
[[Media:dynmenue10.PNG|Klick]]&lt;br /&gt;
.&lt;br /&gt;
&lt;br /&gt;
Welche Untergruppen angezeigt werden, hängt zum einen davon ab, welcher Navigationspunkt gerade aktiv ist (also angeklickt wurde) und zum anderen von den benutzten Globals in der PHP-Datei ([[#Globalsreferenz|z.B. Parameter &amp;#039;full_load&amp;#039;]]) und den Einstellungen der Gruppe im Backend. &lt;br /&gt;
&lt;br /&gt;
Die Eigenschaftsseite der Gruppe erreicht man über einen Klick auf das Stiftsymbol&lt;br /&gt;
([[Media:dynmenue11.PNG|Klick]])&lt;br /&gt;
. Unter dem Punkt &amp;#039;&amp;#039;Veröffentlichen&amp;#039;&amp;#039;&lt;br /&gt;
([[Media:dynmenue12.PNG|Klick]])&lt;br /&gt;
wählt man nun eine Option aus: &lt;br /&gt;
:* &amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039;Ja&amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039;: die Gruppe wird auf der gesamten Website angezeigt, also auch in der dynamischen Navigation&lt;br /&gt;
:* &amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039;Nein&amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039;: die Gruppe wird auf der ganze Website nicht angezeigt, also weder in Gruppenliste noch in der dynamischen Navigation&lt;br /&gt;
:* &amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039;Ja, ohne Navigation&amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039;: die Gruppe wird zwar normal auf der Website angezeigt, jedoch in der dynamischen Navigation ausgeblendet&lt;br /&gt;
:* &amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039;Ja, ohne Subnavigation&amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039;: wie &amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039;Ja&amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039;, jedoch werden von diesem Menüpunkt in der dynamischen Navigation nur Untergruppen angezeigt, jedoch keine Artikel, die eventuell in dieser Gruppe liegen&lt;br /&gt;
&lt;br /&gt;
==Globalsreferenz==&lt;br /&gt;
===Globals direkt für das Plugin===&lt;br /&gt;
&amp;#039;&amp;#039;Die Parameter haben Default-Werte, müssen also nicht immer gesetzt werden&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
*&amp;#039;&amp;#039;&amp;#039;&amp;lt;tt&amp;gt;$GLOBALS[&amp;quot;DynPG&amp;quot;]-&amp;gt;SetParam_PlugIn_Template(&amp;#039;DPGdynmenu&amp;#039;, &amp;#039;TEMPLATEORDNER&amp;#039;);&amp;lt;/tt&amp;gt;&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
:Hiermit wählt man den Template-Ordner für die dynamische Navigation aus. Diese Template-Ordner liegen in &amp;lt;tt&amp;gt;dynpg/plugins/DPGdynmenu/templates&amp;lt;/tt&amp;gt;. Aus diesem Ordner wird die Template-Datei &amp;lt;tt&amp;gt;menu.tpl&amp;lt;/tt&amp;gt; zur Generierung des Menüs genommen. Dies ist unabhängig vom Global &amp;lt;tt&amp;gt;$GLOBALS[&amp;quot;DynPG&amp;quot;]-&amp;gt;SetupTemplate(...);&amp;lt;/tt&amp;gt;, der sozusagen das Template des Artikels bestimmt, welcher die dynamische Navigation enthält.&lt;br /&gt;
&lt;br /&gt;
*&amp;#039;&amp;#039;&amp;#039;&amp;lt;tt&amp;gt;$GLOBALS[&amp;quot;DynPG&amp;quot;]-&amp;gt;SetParam_PlugIn_Param(&amp;#039;DPGdynmenu&amp;#039;, PARAMETERNAME, PARAMETERWERT);&amp;lt;/tt&amp;gt;&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
:{| class=&amp;quot;dynpgwikitable&amp;quot;&lt;br /&gt;
! &amp;lt;tt&amp;gt;PARAMETERNAME&amp;lt;/tt&amp;gt; !! &amp;lt;tt&amp;gt;PARAMETERWERT&amp;lt;/tt&amp;gt; !! Beschreibung&lt;br /&gt;
|-&lt;br /&gt;
||&amp;lt;tt&amp;gt;&amp;#039;order&amp;#039;&amp;lt;/tt&amp;gt; || &amp;lt;tt&amp;gt;Array(&amp;#039;INDEX&amp;#039;)&amp;lt;/tt&amp;gt; oder &amp;lt;tt&amp;gt;Array(&amp;#039;NAME&amp;#039;)&amp;lt;/tt&amp;gt; || Reihenfolge der Gruppen in der Navigation nach Name oder im Backend gesetzten Index&lt;br /&gt;
|-&lt;br /&gt;
||&amp;lt;tt&amp;gt;&amp;#039;sort&amp;#039;&amp;lt;/tt&amp;gt; || &amp;lt;tt&amp;gt;Array(&amp;#039;ASC&amp;#039;)&amp;lt;/tt&amp;gt; oder &amp;lt;tt&amp;gt;Array(&amp;#039;DESC&amp;#039;)&amp;lt;/tt&amp;gt; || aufsteigende oder absteigende Sortierung&lt;br /&gt;
|-&lt;br /&gt;
||&amp;lt;tt&amp;gt;&amp;#039;order_articles&amp;#039;&amp;lt;/tt&amp;gt; || z.B. &amp;lt;tt&amp;gt;Array(&amp;#039;INDEX&amp;#039;)&amp;lt;/tt&amp;gt; || sortiert Artikel in der dynamischen Navigation (falls diese angezeigt werden) &lt;br /&gt;
|-&lt;br /&gt;
||&amp;lt;tt&amp;gt;&amp;#039;sort_articles&amp;#039;&amp;lt;/tt&amp;gt; || z.B. &amp;lt;tt&amp;gt;Array(&amp;#039;ASC&amp;#039;)&amp;lt;/tt&amp;gt; || bestimmt aufsteigende oder absteigende Sortierreihenfolge der Artikel&lt;br /&gt;
|-&lt;br /&gt;
||&amp;lt;tt&amp;gt;&amp;#039;href_page_groups&amp;#039;&amp;lt;/tt&amp;gt; || z.B. &amp;lt;tt&amp;gt;&amp;#039;../folgeseite.php&amp;#039;&amp;lt;/tt&amp;gt; || Seite auf die standardmäßig weiterverlinkt wird bei einem Klick auf den Gruppennamen, sofern die Gruppe Untergruppen hat. Wird dieser Parameter nicht angegeben, so wird auf die aktuelle PHP-Seite verlinkt. (ACHTUNG &amp;lt;tt&amp;gt;&amp;#039;../&amp;#039;&amp;lt;/tt&amp;gt; wichtig, siehe Ordnerstruktur weiter oben!)&lt;br /&gt;
|-&lt;br /&gt;
||&amp;lt;tt&amp;gt;&amp;#039;href_page_articles&amp;#039;&amp;lt;/tt&amp;gt; || z.B. &amp;lt;tt&amp;gt;&amp;#039;../folgeseite.php&amp;#039;&amp;lt;/tt&amp;gt; || Seite auf die standardmäßig weiterverlinkt wird bei einem Klick auf den Gruppennamen, sofern die Gruppe Artikel enthält. Wird dieser Parameter nicht angegeben, so wird auf die aktuelle PHP-Seite verlinkt. (ACHTUNG &amp;lt;tt&amp;gt;&amp;#039;../&amp;#039;&amp;lt;/tt&amp;gt; wichtig, siehe Ordnerstruktur weiter oben!)&lt;br /&gt;
|-&lt;br /&gt;
||&amp;lt;tt&amp;gt;&amp;#039;href_page_detail&amp;#039;&amp;lt;/tt&amp;gt; || z.B. &amp;lt;tt&amp;gt;&amp;#039;../folgeseite.php&amp;#039;&amp;lt;/tt&amp;gt; || Seite auf die standardmäßig weiterverlinkt wird bei einem Klick auf einen Artikelnamen. Wird dieser Parameter nicht angegeben, so wird auf die aktuelle PHP-Seite verlinkt. (ACHTUNG &amp;lt;tt&amp;gt;&amp;#039;../&amp;#039;&amp;lt;/tt&amp;gt; wichtig, siehe Ordnerstruktur weiter oben!)&lt;br /&gt;
|-&lt;br /&gt;
||&amp;lt;tt&amp;gt;&amp;#039;href_subpages&amp;#039;&amp;lt;/tt&amp;gt; || z.B. &amp;lt;pre&amp;gt;Array(&lt;br /&gt;
  GRUPPENNUMMER =&amp;gt; Array( &lt;br /&gt;
    &amp;#039;page&amp;#039; =&amp;gt; &amp;#039;PHP-SEITE{query}&amp;#039;,&lt;br /&gt;
    &amp;#039;successors&amp;#039; =&amp;gt; BOOLEAN&lt;br /&gt;
  ),&lt;br /&gt;
...&lt;br /&gt;
...&lt;br /&gt;
...&lt;br /&gt;
  GRUPPENNUMMER =&amp;gt; Array( &lt;br /&gt;
    &amp;#039;page&amp;#039; =&amp;gt; &amp;#039;PHP-SEITE{query}&amp;#039;,&lt;br /&gt;
    &amp;#039;successors&amp;#039; =&amp;gt; BOOLEAN&lt;br /&gt;
  ) &lt;br /&gt;
)&amp;lt;/pre&amp;gt; || Ermöglicht es, für bestimmte Gruppen auf eine spezielle &amp;lt;tt&amp;gt;PHP-SEITE&amp;lt;/tt&amp;gt; zu verlinken. Hierzu geben Sie anstatt &amp;lt;tt&amp;gt;GRUPPENNUMMER&amp;lt;/tt&amp;gt; die Gruppennummer der Gruppe aus dem Backend ein. Statt &amp;lt;tt&amp;gt;PHP-SEITE&amp;lt;/tt&amp;gt; fügen Sie den Namen und Pfad zur Zieldatei an, ausgehend vom Hauptverzeichnis des CMS!. Lassen Sie den Anhang &amp;lt;tt&amp;gt;{query}&amp;lt;/tt&amp;gt; genau so stehen, falls in die Zieldatei auch DynPG über Globals eingeben wurde. &amp;lt;tt&amp;gt;BOOLEAN&amp;lt;/tt&amp;gt; ersetzen Sie mit &amp;lt;tt&amp;gt;true&amp;lt;/tt&amp;gt; wenn für Untergruppen dieser Gruppe auch auf diese spezielle PHP-Seite verlink werden soll, ansonsten mit &amp;lt;tt&amp;gt;false&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Passen Sie auf, dass nach jedem &amp;lt;tt&amp;gt;GRUPPENNUMMER =&amp;gt; Array(...)&amp;lt;/tt&amp;gt; ein Komma notiert ist, allerdings nicht beim letzten.&lt;br /&gt;
|-&lt;br /&gt;
||&amp;lt;tt&amp;gt;&amp;#039;full_load&amp;#039;&amp;lt;/tt&amp;gt; || &amp;lt;tt&amp;gt;false&amp;lt;/tt&amp;gt; oder &amp;lt;tt&amp;gt;true&amp;lt;/tt&amp;gt; || zeigt unabhängig von angeklickten Gruppen den kompletten Navigationsbaum mit Untergruppen an (oder auch nicht)&lt;br /&gt;
|-&lt;br /&gt;
|| &amp;lt;tt&amp;gt;&amp;#039;full_load_articles&amp;#039;&amp;lt;/tt&amp;gt; || &amp;lt;tt&amp;gt;false&amp;lt;/tt&amp;gt; ||&lt;br /&gt;
|-&lt;br /&gt;
|| &amp;lt;tt&amp;gt;&amp;#039;limit_articles&amp;#039;&amp;lt;/tt&amp;gt; || &amp;lt;tt&amp;gt;false&amp;lt;/tt&amp;gt; oder eine Zahl || Sofern dieser Parameter eine Zahl als Wert erhält, bestimmt er die Anzahl der Artikel pro Gruppe, die in der dynamischen Navigation angezeigt werden, wenn eine Gruppe statt Untergruppen Artikel enthält.&lt;br /&gt;
|-&lt;br /&gt;
|| &amp;lt;tt&amp;gt;&amp;#039;expand_subtree&amp;#039;&amp;lt;/tt&amp;gt; || &amp;lt;tt&amp;gt;Array(4)&amp;lt;/tt&amp;gt; oder &amp;lt;tt&amp;gt;Array(4,5)&amp;lt;/tt&amp;gt; etc. || zeigt die Untergruppen von Gruppe 4 (bzw. 4 und 5) in jedem Fall an. Sei Gruppe 4 bspw. die Gruppe &amp;#039;&amp;#039;News&amp;#039;&amp;#039; des Backends, dann werden die beispielhaften Untergruppen &amp;#039;&amp;#039;Lokalnachrichten&amp;#039;&amp;#039; und &amp;#039;&amp;#039;Weltnachrichten&amp;#039;&amp;#039; immer zur Navigation angeboten, auch wenn sich ein Benutzer auf der Website gerade einen Artikel aus der Gruppe &amp;#039;&amp;#039;Kontakt&amp;#039;&amp;#039; anschaut&lt;br /&gt;
|- &lt;br /&gt;
|| &amp;lt;tt&amp;gt;&amp;#039;implode_subtree&amp;#039;&amp;lt;/tt&amp;gt; || &amp;lt;tt&amp;gt;Array(4)&amp;lt;/tt&amp;gt; oder &amp;lt;tt&amp;gt;Array(4,5)&amp;lt;/tt&amp;gt; etc. || zeigt die Untergruppen von Gruppe 4 (bzw. 4 und 5) in jedem Fall NICHT an. Anmerkung: der Parameter &amp;lt;tt&amp;gt;expand_subtree&amp;lt;/tt&amp;gt; überschreibt diese Einstellung! Ist also eine Gruppe in beiden Parametern aufgeführt, so werden die Untergruppen dieser Gruppe immer angezeigt, da der Parameter &amp;lt;tt&amp;gt;expand_subtree&amp;lt;/tt&amp;gt; wichtiger ist.&lt;br /&gt;
|-&lt;br /&gt;
|| &amp;lt;tt&amp;gt;&amp;#039;real_expand&amp;#039;&amp;lt;/tt&amp;gt; || &amp;lt;tt&amp;gt;false&amp;lt;/tt&amp;gt; oder &amp;lt;tt&amp;gt;true&amp;lt;/tt&amp;gt; || Verwenden Sie das Template &amp;#039;&amp;#039;intelligent&amp;#039;&amp;#039; für die dynamische Navigation, setzen Sie diesen Parameter auf &amp;lt;tt&amp;gt;true&amp;lt;/tt&amp;gt;, ansonsten auf &amp;lt;tt&amp;gt;false&amp;lt;/tt&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|| &amp;lt;tt&amp;gt;&amp;#039;parent_select&amp;#039;&amp;lt;/tt&amp;gt; || &amp;lt;tt&amp;gt;true&amp;lt;/tt&amp;gt; ||&lt;br /&gt;
|-&lt;br /&gt;
|| &amp;lt;tt&amp;gt;&amp;#039;max_depth&amp;#039;&amp;lt;/tt&amp;gt; || &amp;lt;tt&amp;gt;null&amp;lt;/tt&amp;gt; oder &amp;lt;tt&amp;gt;0&amp;lt;/tt&amp;gt; oder &amp;lt;tt&amp;gt;1&amp;lt;/tt&amp;gt; etc. || Tiefe bis zu der (Unter-)Gruppen angezeigt werden&lt;br /&gt;
|-&lt;br /&gt;
|| &amp;lt;tt&amp;gt;&amp;#039;min_depth&amp;#039;&amp;lt;/tt&amp;gt; || &amp;lt;tt&amp;gt;null&amp;lt;/tt&amp;gt; oder &amp;lt;tt&amp;gt;0&amp;lt;/tt&amp;gt; oder &amp;lt;tt&amp;gt;1&amp;lt;/tt&amp;gt; etc. || Tiefe, die eine Gruppe mindestens haben muss um angezeigt zu werden, z.B. 1 um oberste Ebene der Gruppen aus dem Backend auszublenden&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Sinnvolle Globals vom DynPG-CMS===&lt;br /&gt;
&lt;br /&gt;
Dies hier erklärt die Globals aus dem PHP-Code von [[#Schritt 2: PHP-Datei für die dynamische Navigation erstellen|Schritt 2 des Punkts &amp;#039;&amp;#039;Einrichten&amp;#039;&amp;#039;]].&lt;br /&gt;
&lt;br /&gt;
*&amp;#039;&amp;#039;&amp;#039;&amp;lt;tt&amp;gt;$GLOBALS[&amp;quot;DynPG&amp;quot;]-&amp;gt;SetupTemplate(&amp;#039;uneditable&amp;#039;);&amp;lt;/tt&amp;gt; &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
:ermöglicht Navigation in der Seite obwohl Editiermodus im Backend angeschaltet ist&lt;br /&gt;
*&amp;#039;&amp;#039;&amp;#039;&amp;lt;tt&amp;gt;$GLOBALS[&amp;quot;DynPG&amp;quot;]-&amp;gt;SetParam_A_Anytime(TRUE);&amp;lt;/tt&amp;gt; &amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
:Menü soll immer angezeigt werden&lt;br /&gt;
*&amp;#039;&amp;#039;&amp;#039;&amp;lt;tt&amp;gt;$GLOBALS[&amp;quot;DynPG&amp;quot;]-&amp;gt;SetParam_A_CategoryNavigation(FALSE);&amp;lt;/tt&amp;gt; &amp;#039;&amp;#039;&amp;#039; &lt;br /&gt;
:keine weitere Navigation(Breadcrumb) anzeigen&lt;br /&gt;
*&amp;#039;&amp;#039;&amp;#039;&amp;lt;tt&amp;gt;$GLOBALS[&amp;quot;DynPG&amp;quot;]-&amp;gt;SetParam_A_PrintNavigation(FALSE);&amp;lt;/tt&amp;gt; &amp;#039;&amp;#039;&amp;#039; &lt;br /&gt;
:kein Link zu Print-Seite anzeigen&lt;br /&gt;
*&amp;#039;&amp;#039;&amp;#039;&amp;lt;tt&amp;gt;$GLOBALS[&amp;quot;DynPG&amp;quot;]-&amp;gt;SetParam_A_ArticleHeader(FALSE);&amp;lt;/tt&amp;gt; &amp;#039;&amp;#039;&amp;#039; &lt;br /&gt;
:keine Artikelüberschrift (des Artikels mit dem DynMenü-Platzhalter) und kein Artikelleadtext anzeigen&lt;br /&gt;
*&amp;#039;&amp;#039;&amp;#039;&amp;lt;tt&amp;gt;$GLOBALS[&amp;quot;DynPG&amp;quot;]-&amp;gt;SetParam_A_Article(1);&amp;lt;/tt&amp;gt; &amp;#039;&amp;#039;&amp;#039; &lt;br /&gt;
:Artikel mit dem Dynmenü-Platzhalter setzen (&amp;#039;&amp;#039;&amp;#039;Hier die Artikelnummer aus [[#Einrichten|Einrichten]] einfügen!&amp;#039;&amp;#039;&amp;#039;)&lt;br /&gt;
*&amp;#039;&amp;#039;&amp;#039;&amp;lt;tt&amp;gt;$GLOBALS[&amp;quot;DynPG&amp;quot;]-&amp;gt;Write_Article();&amp;lt;/tt&amp;gt; &amp;#039;&amp;#039;&amp;#039; &lt;br /&gt;
:Artikel ausgeben&lt;br /&gt;
*&amp;#039;&amp;#039;&amp;#039;&amp;lt;tt&amp;gt;$GLOBALS[&amp;quot;DynPG&amp;quot;]-&amp;gt;SetupTemplate(&amp;#039;default&amp;#039;);&amp;lt;/tt&amp;gt; &amp;#039;&amp;#039;&amp;#039; &lt;br /&gt;
:andere Teile der Website haben sicherlich andere Templates. Wir setzen daher hier wieder auf das Standard-Template zurück&lt;br /&gt;
&lt;br /&gt;
==CSS==&lt;br /&gt;
Die CSS-Dateien für die dynamische Navigation liegen im Verzeichnis &amp;lt;tt&amp;gt;dynpg/plugins/DPGdynmenu/styles&amp;lt;/tt&amp;gt;. Die Datei &amp;lt;tt&amp;gt;menu.css&amp;lt;/tt&amp;gt; ist hierbei meist die ausschlaggebende, so zum Beispiel in der Navigation der Musterwebsite 3.&lt;br /&gt;
&lt;br /&gt;
Die CSS-Klassen und -Bezeichner aus dieser Datei sind nach einem bestimmten Schema benannt. Hat man dieses einmal verstanden, so lassen sich leicht Änderungen an speziellen Teilen des Erscheinungsbildes der dynamischen Navigation durchführen.&lt;br /&gt;
&lt;br /&gt;
Die dynamische Navigation wird von einem &amp;lt;tt&amp;gt;div&amp;lt;/tt&amp;gt;-Tag mit der Id &amp;lt;tt&amp;gt;course_categories_menu&amp;lt;/tt&amp;gt; umschlossen.&lt;br /&gt;
&lt;br /&gt;
Diese Angaben gelten also grundsätzlich für die gesamte dynamische Navigation und werden gegebenenfalls weitervererbt.&lt;br /&gt;
Im &amp;lt;tt&amp;gt;menu.css&amp;lt;/tt&amp;gt; der Muster-Website 3 steht beispielsweise:&lt;br /&gt;
&amp;lt;code&amp;gt;[css, N]&lt;br /&gt;
div#course_categories_menu {&lt;br /&gt;
  margin: 0;&lt;br /&gt;
  padding: 0;&lt;br /&gt;
  width: 180px;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Um zu verhindern, dass die CSS-Angaben dieser Datei auch auf andere Teile der Website Einfluss haben, ist vor allen anderen CSS-Definitionen der Datei ebenfalls &amp;lt;tt&amp;gt;div#course_categories_menu&amp;lt;/tt&amp;gt; notiert. Dadurch wirken sich die Angaben nur auf die dynamische Navigation aus.&lt;br /&gt;
&lt;br /&gt;
Innerhalb des &amp;lt;tt&amp;gt;course_categories_menu&amp;lt;/tt&amp;gt; - &amp;lt;tt&amp;gt;div&amp;lt;/tt&amp;gt; - Tags gibt es für jede Gruppe der obersten angezeigten Gruppenebene ein &amp;lt;div&amp;gt;-Tag mit der CSS-Id &amp;lt;tt&amp;gt;group_fold_NUMMER&amp;lt;/tt&amp;gt; wobei &amp;lt;tt&amp;gt;NUMMER&amp;lt;/tt&amp;gt; der Gruppennummer der Gruppe aus dem Backend entspricht. In der Navigation der Muster-Website 3 gibt es also folgende Tags:&lt;br /&gt;
&amp;lt;code&amp;gt;[html, N]&lt;br /&gt;
&amp;lt;div id=&amp;quot;course_categories_menu&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;div id=&amp;quot;group_fold_2&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;  &amp;lt;!--Produkte--&amp;gt;&lt;br /&gt;
  &amp;lt;div id=&amp;quot;group_fold_3&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;  &amp;lt;!--Support--&amp;gt;&lt;br /&gt;
  &amp;lt;div id=&amp;quot;group_fold_9&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;  &amp;lt;!--News--&amp;gt;&lt;br /&gt;
  &amp;lt;div id=&amp;quot;group_fold_4&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;  &amp;lt;!--Über uns--&amp;gt;&lt;br /&gt;
  &amp;lt;div id=&amp;quot;group_fold_5&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;  &amp;lt;!--Kontakt--&amp;gt;&lt;br /&gt;
  &amp;lt;div id=&amp;quot;group_fold_21&amp;quot;&amp;gt;&amp;lt;/div&amp;gt; &amp;lt;!--Blog--&amp;gt;&lt;br /&gt;
  &amp;lt;div id=&amp;quot;group_fold_15&amp;quot;&amp;gt;&amp;lt;/div&amp;gt; &amp;lt;!--Sitemap--&amp;gt;&lt;br /&gt;
  &amp;lt;div id=&amp;quot;group_fold_6&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;  &amp;lt;!--Home--&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
Möchte man nun Eigenschaften nur an einem bestimmten Teil der Navigation machen, so könnte man im CSS-File folgende Angabe machen:&lt;br /&gt;
&amp;lt;code&amp;gt;[css, N]&lt;br /&gt;
div#course_categories_menu div#group_fold_9 {&lt;br /&gt;
  text-decoration:blink;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
Damit würde der Text der Gruppe &amp;#039;&amp;#039;News&amp;#039;&amp;#039; (und eventueller Untergruppen) in der dynamischen Navigation blinken.&lt;br /&gt;
&lt;br /&gt;
Innerhalb der &amp;lt;tt&amp;gt;group_fold_NUMMER&amp;lt;/tt&amp;gt; - &amp;lt;tt&amp;gt;div&amp;lt;/tt&amp;gt; - Tags gibt es nun ein &amp;lt;tt&amp;gt;div&amp;lt;/tt&amp;gt; - Tag, dass (neben einer weiteren CSS-Id) eine CSS-Klasse hat. Diese CSS-Klasse wird nach folgendem Muster gebildet:&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;&amp;lt;tt&amp;gt;level_&amp;#039;&amp;#039;A&amp;#039;&amp;#039;_&amp;#039;&amp;#039;B&amp;#039;&amp;#039;_&amp;#039;&amp;#039;C&amp;#039;&amp;#039;_&amp;#039;&amp;#039;D&amp;#039;&amp;#039;_&amp;#039;&amp;#039;E&amp;#039;&amp;#039;&amp;lt;/tt&amp;gt;&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;dynpgwikitable&amp;quot;&lt;br /&gt;
! Buchstabe !! mögliche Werte !! Beschreibung&lt;br /&gt;
|-&lt;br /&gt;
|| &amp;lt;tt&amp;gt;&amp;#039;&amp;#039;A&amp;#039;&amp;#039;&amp;lt;/tt&amp;gt; || 0 oder 1 oder 2 etc. || gibt das Level der Gruppe an, also die Verzweigungstiefe in der sich die Navigation befindet&lt;br /&gt;
|-&lt;br /&gt;
|| &amp;lt;tt&amp;gt;&amp;#039;&amp;#039;B&amp;#039;&amp;#039;&amp;lt;/tt&amp;gt; || &amp;lt;tt&amp;gt;r&amp;lt;/tt&amp;gt; (nicht letzter), &amp;lt;tt&amp;gt;e&amp;lt;/tt&amp;gt; (letzter) || gibt an, ob nach dieser Gruppe noch weitere aufgelistet werden (z.B. in Musterwebsite 3 ist die Gruppe 6 &amp;quot;Home&amp;quot; die letzte des Menüs)&lt;br /&gt;
|-&lt;br /&gt;
|| &amp;lt;tt&amp;gt;&amp;#039;&amp;#039;C&amp;#039;&amp;#039;&amp;lt;/tt&amp;gt; ||  &amp;lt;tt&amp;gt;a&amp;lt;/tt&amp;gt; (ist aktiv), &amp;lt;tt&amp;gt;i&amp;lt;/tt&amp;gt; (ist nicht aktiv) || gibt an, ob die Gruppe aktiv ist, d.h. ob sie durch einen Klick ausgewählt wurde&lt;br /&gt;
|-&lt;br /&gt;
|| &amp;lt;tt&amp;gt;&amp;#039;&amp;#039;D&amp;#039;&amp;#039;&amp;lt;/tt&amp;gt; ||  &amp;lt;tt&amp;gt;exp&amp;lt;/tt&amp;gt; (ausgeklappt), cll(eingeklappt) || gibt an, ob die Untergruppen dieser Gruppe ausgeklappt sind oder nicht&lt;br /&gt;
|-&lt;br /&gt;
|| &amp;lt;tt&amp;gt;&amp;#039;&amp;#039;E&amp;#039;&amp;#039;&amp;lt;/tt&amp;gt; ||  &amp;lt;tt&amp;gt;_hover&amp;lt;/tt&amp;gt; (Mauszeiger ist über dem Element), nichts (Mauszeiger ist nicht über dem Element) || gibt an, ob sich der Mauszeiger über dem Gruppennamen befindet oder nicht&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Mithilfe dieses Schemas kann man nun bestimmen, welche CSS-Klassen man in der CSS-Datei angeben muss um bestimmte Effekte hervorzurufen.&lt;br /&gt;
Möchte man beispielsweise, dass alle Elemente der zweitobersten Ebene blinken, wenn der Mauszeiger über dem Element ist, so notiert man in der CSS-Datei:&lt;br /&gt;
&amp;lt;code&amp;gt;[css, N]&lt;br /&gt;
div#course_categories_menu div#level_1_r_a_exp_hover,&lt;br /&gt;
div#course_categories_menu div#level_1_r_a_cll_hover,&lt;br /&gt;
div#course_categories_menu div#level_1_r_i_exp_hover,&lt;br /&gt;
div#course_categories_menu div#level_1_r_i_cll_hover,&lt;br /&gt;
div#course_categories_menu div#level_1_e_a_exp_hover,&lt;br /&gt;
div#course_categories_menu div#level_1_e_a_cll_hover,&lt;br /&gt;
div#course_categories_menu div#level_1_e_i_exp_hover,&lt;br /&gt;
div#course_categories_menu div#level_1_e_i_cll_hover {&lt;br /&gt;
  text-decoration:blink;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Diese Struktur der &amp;lt;tt&amp;gt;div&amp;lt;/tt&amp;gt;-Tags wiederholt sich mit tieferen Gruppenebenen / Untergruppen. Zum Beispiel tauchen die &amp;lt;tt&amp;gt;div&amp;lt;/tt&amp;gt;-Tags der Untergruppen vom &amp;#039;&amp;#039;Über uns&amp;#039;&amp;#039;-Menüpunkt aus der Muster-Website 3 innerhalb des &amp;lt;tt&amp;gt;group_fold_4&amp;lt;/tt&amp;gt; - &amp;lt;tt&amp;gt;div&amp;lt;/tt&amp;gt; - Tags auf.&lt;br /&gt;
&lt;br /&gt;
Weitere Informationen über die CSS-Klassen kann man schnell erhalten, indem man sich den HTML-Code eines generierten dynamischen Menüs anschaut, zum Beispiel aus der Muster-Website 3.&lt;br /&gt;
&lt;br /&gt;
==Templates==&lt;br /&gt;
Diese Templates liegen im Ordner &amp;lt;tt&amp;gt;dynpg/plugins/DPGdynmenu/templates&amp;lt;/tt&amp;gt;. Hier finden sie Ordner, die jeweils eine &amp;lt;tt&amp;gt;menu.tpl&amp;lt;/tt&amp;gt; enthalten. Welcher dieser Ordner aktiv ist, bestimmen Sie durch das Global &amp;lt;tt&amp;gt;$GLOBALS[&amp;quot;DynPG&amp;quot;]-&amp;gt;SetParam_PlugIn_Template(&amp;#039;DPGdynmenu&amp;#039;, &amp;#039;TEMPLATEORDNER&amp;#039;);&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Die Templates dienen als Vorlage für die Generierung des HTML-Codes der dynamischen Navigation. In ihnen werden auch die CSS-Klassen definiert, welche in [[#CSS|CSS]] erklärt wurden. Außerdem finden hier Templateplatzhalter der Form &amp;lt;tt&amp;gt;&amp;lt;nowiki&amp;gt;{$PLATZHALTER}&amp;lt;/nowiki&amp;gt;&amp;lt;/tt&amp;gt; Verwendung, die DynPG dynamisch durch Inhalt ersetzt.&lt;br /&gt;
&lt;br /&gt;
Das Template &amp;#039;&amp;#039;horizontal&amp;#039;&amp;#039; der Musterwebsite 3 generiert beispielsweise ein horizontales Menü, während das Template &amp;#039;&amp;#039;intelligent&amp;#039;&amp;#039; ein vertikales Menü erzeugt.&lt;br /&gt;
&lt;br /&gt;
Modifikationen an den Templates sind recht komplex. Sollten Sie vorhaben hier Änderungen durchzuführen, wenden Sie sich an das DynPG-Forum.&lt;br /&gt;
&lt;br /&gt;
==Feste Links einbauen==&lt;br /&gt;
&lt;br /&gt;
Hierzu erstellt man im Backend eine Gruppe mit dem Namen des festen Links und merkt sich die Gruppennummer. Mittels des Plugin-Parameters &amp;lt;tt&amp;gt;&amp;#039;href_subpages&amp;#039;&amp;lt;/tt&amp;gt; setzt man für diese Gruppennummer nun als Ziel die Datei &amp;lt;tt&amp;gt;counter.php&amp;lt;/tt&amp;gt; fest und übergibt dieser als Parameter das feste Linkziel. Beispiel: Wir wollen einen Link auf die Google-Webseite setzen. Also erstellen wir im Backend eine Gruppe mit dem Namen &amp;#039;&amp;#039;Google-Websuche&amp;#039;&amp;#039; und notieren die Gruppennummer (z.B. 33). In die PHP-Datei unserer dynamischen Navigation fügen wir nun folgendes ein:&lt;br /&gt;
&amp;lt;code&amp;gt;[php, N]&lt;br /&gt;
$GLOBALS[&amp;quot;DynPG&amp;quot;]-&amp;gt;SetParam_PlugIn_Param(&lt;br /&gt;
  &amp;#039;DPGdynmenu&amp;#039;,&lt;br /&gt;
  &amp;#039;href_subpages&amp;#039;,&lt;br /&gt;
  Array(&lt;br /&gt;
	33 =&amp;gt; Array(&lt;br /&gt;
      &amp;#039;page&amp;#039; =&amp;gt; &amp;#039;counter.php?inc=http://www.google.com&amp;#039;,&lt;br /&gt;
      &amp;#039;successors&amp;#039; =&amp;gt; true&lt;br /&gt;
    )		&lt;br /&gt;
  )&lt;br /&gt;
);&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Mehrsprachiges Menü==&lt;br /&gt;
&lt;br /&gt;
Hierzu gibt es einen Thread in unserem Forum unter [http://www.dynpg.ch/dynpg-forum.php?t=&amp;amp;read_group=30&amp;amp;thread_id=47&amp;amp;tt=Sprachwechsel]. Die grundsätzliche Idee ist (bei zwei Sprachen) zwei Gruppenbäume im Backend aufzubauen. Die oberste Gruppe des ersten Baumes wäre beispielsweise die Gruppe &amp;#039;&amp;#039;Deutsch&amp;#039;&amp;#039;, die oberste Gruppe des zweiten Baumes wäre zum Beispiel &amp;#039;&amp;#039;English&amp;#039;&amp;#039;.&lt;br /&gt;
&lt;br /&gt;
In der zweiten Ebene kommen dann unter &amp;#039;&amp;#039;Deutsch&amp;#039;&amp;#039; bzw. &amp;#039;&amp;#039;English&amp;#039;&amp;#039; Untergruppen wie &amp;#039;&amp;#039;News&amp;#039;&amp;#039;/&amp;#039;&amp;#039;Nachrichten&amp;#039;&amp;#039;, &amp;#039;&amp;#039;Produkte&amp;#039;&amp;#039;/&amp;#039;&amp;#039;Products&amp;#039;&amp;#039;, &amp;#039;&amp;#039;Hilfe&amp;#039;&amp;#039;/&amp;#039;&amp;#039;Support&amp;#039;&amp;#039; und so weiter. Man erstellt sich nun zwei PHP-Dateien (&amp;lt;tt&amp;gt;navi_de.php&amp;lt;/tt&amp;gt;, &amp;lt;tt&amp;gt;navi_en.php&amp;lt;/tt&amp;gt;) wie oben beschrieben [[#Einrichten|Einrichten]]. In diesen wird dann mit den Befehlen aus [[#Globalsreferenz|Globalsreferenz]] der jeweils nicht passende Baum ausgeblendet.&lt;br /&gt;
&lt;br /&gt;
==Siehe auch==&lt;br /&gt;
*[[Sitemap-Tutorial]]&lt;br /&gt;
*[[Implementation eines kompletten Hauptmenüs]]&lt;br /&gt;
*[[Code-Schnipsel Einfaches Hauptmenü]]&lt;br /&gt;
*[[Code-Schnipsel Menüeinträge sortieren]]&lt;br /&gt;
*[[Snippet-Beispiele]]&lt;/div&gt;</summary>
		<author><name>Sebastian</name></author>	</entry>

	<entry>
		<id>https://wiki-en.dynpg.org/wiki_de/index.php?title=Dynamische_Navigation</id>
		<title>Dynamische Navigation</title>
		<link rel="alternate" type="text/html" href="https://wiki-en.dynpg.org/wiki_de/index.php?title=Dynamische_Navigation"/>
				<updated>2009-08-17T16:08:54Z</updated>
		
		<summary type="html">&lt;p&gt;Sebastian: /* Globals direkt für das Plugin */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Kategorie:Module]]&lt;br /&gt;
==Beschreibung==&lt;br /&gt;
Die dynamische Navigation ist Bestandteil des kostenlosen Grundmoduls von DynPG und bereits im Standard-DynPG integriert. Es ist keine separate Installation notwendig. Sie ermöglicht es Ihnen einfach und flexibel Navigationen auf Ihrer Homepage zu erstellen. Die Anwendungsmöglichkeiten gestalten sich dabei flexibel als normales Menü oder auch als Sitemap.&lt;br /&gt;
&lt;br /&gt;
Ein dynamisches Menü bildet die Gruppenstruktur im Backend, also die Abfolge von Gruppen, Untergruppen und Artikeln in einer Gruppe, als Menü ab, macht also die logische Struktur ihrer Artikel aus dem Backend auf einer Webseite sichtbar und navigierbar. &lt;br /&gt;
&lt;br /&gt;
Der Vorteil ist, dass man im Backend neue Gruppen o.ä. erstellt und diese dann im Hauptmenü erscheinen. Dies ist auch bei Untergruppen nützlich,&lt;br /&gt;
z.B. wenn eine neue Untergruppe &amp;#039;&amp;#039;Lokalnachrichten&amp;#039;&amp;#039; zur Hauptgruppe &amp;#039;&amp;#039;News&amp;#039;&amp;#039; hinzukommt.&lt;br /&gt;
&lt;br /&gt;
Zum Verständnis der Funktionsvielfalt der dynamischen Navigation ist es hilfreich, einmal eine der [[Muster-Web-Sites|Musterwebsites]] zu installieren und in den entsprechenden Dateien der Musterwebsite die unten erklärten Einstellungsmöglichkeiten nachzuvollziehen und vielleicht auch einmal mit den Optionen herumzuspielen.&lt;br /&gt;
&lt;br /&gt;
==Einrichten==&lt;br /&gt;
&amp;#039;&amp;#039;Anmerkung: Benutzen sie die [[Muster-Web-Sites|Musterwebsites]], so müssen die nachfolgenden zwei Schritte nicht ausgeführt werden, da die dynamische Navigation bereits in den Musterwebsites genutzt wird&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
===Schritt 1: Artikel erstellen mit Platzhalter für die dynamische Navigation===&lt;br /&gt;
Wählen Sie im Menü des Backends &amp;#039;&amp;#039;Gruppen&amp;#039;&amp;#039; aus [[Media:dynmenue01.png|Klick]]. Suchen Sie sich nun eine Gruppe, in der Sie einen Artikel erfassen wollen. Hier wählen wir (die in diesem Falle schon vorhandene) Gruppe &amp;#039;&amp;#039;Startseite/Navigation/Formular&amp;#039;&amp;#039; durch Klick auf ihren Namen aus [[Media:dynmenue02.png|Klick]].&lt;br /&gt;
&lt;br /&gt;
Mit einem Klick auf &amp;#039;&amp;#039;Artikel Formular anzeigen&amp;#039;&amp;#039; [[Media:dynmenue03.PNG|Klick]] und danach auf &amp;#039;&amp;#039;Inhalt bearbeiten&amp;#039;&amp;#039; [[Media:dynmenue04.PNG|Klick]] erscheint der Editor.&lt;br /&gt;
&lt;br /&gt;
In diesem wählen Sie das Symbol für die dynamische Navigation [[Media:dynmenue05.PNG|Klick]], geben noch einen Titel, etwa &amp;#039;&amp;#039;Neue Seitennavigation&amp;#039;&amp;#039;, ein und bestätigen mit einem Klick auf &amp;#039;&amp;#039;Erstellen&amp;#039;&amp;#039; [[Media:dynmenue06.PNG|Klick]]. &lt;br /&gt;
&lt;br /&gt;
Hat alles geklappt, können Sie im unteren Teil der Seite den neuen Artikel sehen [[Media:dynmenue07.PNG|Klick]]. Die Nummer des Artikels benötigen Sie erneut, wenn Sie in eine PHP-Datei mittels eines Globals die dynamische Navigation einbinden.&lt;br /&gt;
&lt;br /&gt;
===Schritt 2: PHP-Datei für die dynamische Navigation erstellen===&lt;br /&gt;
Folgende Ordner-Struktur könnte bei Ihnen vorliegen:&lt;br /&gt;
:*&amp;lt;tt&amp;gt;http-docs/dynpg&amp;lt;/tt&amp;gt; : hier liegt das DynPG-CMS&lt;br /&gt;
:*&amp;lt;tt&amp;gt;http-docs/index.php&amp;lt;/tt&amp;gt; : die Hauptseite Ihrer Website&lt;br /&gt;
:*&amp;lt;tt&amp;gt;http-docs/folgeseite.php&amp;lt;/tt&amp;gt; : eine andere PHP-Datei der Website&lt;br /&gt;
:*&amp;lt;tt&amp;gt;http-docs/inc/navi.php&amp;lt;/tt&amp;gt; : In diese Datei platziert man häufig den Code für die Navigation, dadurch ist er leichter wiederverwendbar&lt;br /&gt;
&lt;br /&gt;
Den nötigen Code der &amp;lt;tt&amp;gt;inc/navi.php&amp;lt;/tt&amp;gt; kann man anhand der [[Muster-Web-Sites|Musterwebsites]] nachvollziehen (Für eine genauere Erklärung der einzelnen verwendeten Globals siehe die [[Funktionsreferenz/Globals|Globals-Übersicht von DynPG]] und weiter unten die [[#Globalsreferenz|Funktionsübersicht der dynamischen Navigation]]) :&lt;br /&gt;
:*&amp;#039;&amp;#039;&amp;#039;&amp;lt;tt&amp;gt;inc/navi.php&amp;lt;/tt&amp;gt;:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;code&amp;gt;[php, N]&lt;br /&gt;
&amp;lt;?php&lt;br /&gt;
  $GLOBALS[&amp;quot;DynPG&amp;quot;]-&amp;gt;SetParam_PlugIn_Template(&amp;#039;DPGdynmenu&amp;#039;, &amp;#039;intelligent&amp;#039;);&lt;br /&gt;
  $GLOBALS[&amp;quot;DynPG&amp;quot;]-&amp;gt;SetParam_PlugIn_Param(&amp;#039;DPGdynmenu&amp;#039;, &amp;#039;real_expand&amp;#039;, TRUE);&lt;br /&gt;
  $GLOBALS[&amp;quot;DynPG&amp;quot;]-&amp;gt;SetParam_PlugIn_Param(&amp;#039;DPGdynmenu&amp;#039;, &amp;#039;order&amp;#039;, Array(&amp;#039;INDEX&amp;#039;));&lt;br /&gt;
  $GLOBALS[&amp;quot;DynPG&amp;quot;]-&amp;gt;SetParam_PlugIn_Param(&amp;#039;DPGdynmenu&amp;#039;, &amp;#039;sort&amp;#039;, Array(&amp;#039;ASC&amp;#039;));&lt;br /&gt;
  $GLOBALS[&amp;quot;DynPG&amp;quot;]-&amp;gt;SetParam_PlugIn_Param(&amp;#039;DPGdynmenu&amp;#039;, &amp;#039;href_page_groups&amp;#039;, &amp;#039;../folgeseite.php&amp;#039;);&lt;br /&gt;
  $GLOBALS[&amp;quot;DynPG&amp;quot;]-&amp;gt;SetParam_PlugIn_Param(&amp;#039;DPGdynmenu&amp;#039;, &amp;#039;href_page_articles&amp;#039;, &amp;#039;../folgeseite.php&amp;#039;);&lt;br /&gt;
  $GLOBALS[&amp;quot;DynPG&amp;quot;]-&amp;gt;SetParam_PlugIn_Param(&amp;#039;DPGdynmenu&amp;#039;, &amp;#039;href_page_detail&amp;#039;, &amp;#039;../folgeseite.php&amp;#039;);&lt;br /&gt;
  $GLOBALS[&amp;quot;DynPG&amp;quot;]-&amp;gt;SetParam_PlugIn_Param(&lt;br /&gt;
    &amp;#039;DPGdynmenu&amp;#039;,&lt;br /&gt;
    &amp;#039;href_subpages&amp;#039;,&lt;br /&gt;
    Array(&lt;br /&gt;
      0 =&amp;gt; Array(&lt;br /&gt;
        &amp;#039;page&amp;#039; =&amp;gt; &amp;#039;../formular.php{query}&amp;#039;,&lt;br /&gt;
        &amp;#039;successors&amp;#039; =&amp;gt; true&lt;br /&gt;
      ),&lt;br /&gt;
      21 =&amp;gt; Array(&lt;br /&gt;
        &amp;#039;page&amp;#039; =&amp;gt; &amp;#039;../blog.php{query}&amp;#039;,&lt;br /&gt;
        &amp;#039;successors&amp;#039; =&amp;gt; true&lt;br /&gt;
      ),&lt;br /&gt;
      15 =&amp;gt; Array(&lt;br /&gt;
        &amp;#039;page&amp;#039; =&amp;gt; &amp;#039;../sitemap.php{query}&amp;#039;,&lt;br /&gt;
        &amp;#039;successors&amp;#039; =&amp;gt; true&lt;br /&gt;
      ),&lt;br /&gt;
      16 =&amp;gt; Array(&lt;br /&gt;
        &amp;#039;page&amp;#039; =&amp;gt; &amp;#039;../veranstaltungen.php{query}&amp;#039;,&lt;br /&gt;
        &amp;#039;successors&amp;#039; =&amp;gt; true&lt;br /&gt;
      ),&lt;br /&gt;
      21 =&amp;gt; Array(&lt;br /&gt;
        &amp;#039;page&amp;#039; =&amp;gt; &amp;#039;../blog.php{query}&amp;#039;,&lt;br /&gt;
        &amp;#039;successors&amp;#039; =&amp;gt; true&lt;br /&gt;
      ),&lt;br /&gt;
      6 =&amp;gt; Array(&lt;br /&gt;
        &amp;#039;page&amp;#039; =&amp;gt; &amp;#039;../index.php{query}&amp;#039;,&lt;br /&gt;
        &amp;#039;successors&amp;#039; =&amp;gt; true&lt;br /&gt;
      )&lt;br /&gt;
    )&lt;br /&gt;
  );    &lt;br /&gt;
  $GLOBALS[&amp;quot;DynPG&amp;quot;]-&amp;gt;SetupTemplate(&amp;#039;uneditable&amp;#039;); &lt;br /&gt;
  $GLOBALS[&amp;quot;DynPG&amp;quot;]-&amp;gt;SetParam_A_Anytime(TRUE);&lt;br /&gt;
  $GLOBALS[&amp;quot;DynPG&amp;quot;]-&amp;gt;SetParam_A_CategoryNavigation(FALSE);&lt;br /&gt;
  $GLOBALS[&amp;quot;DynPG&amp;quot;]-&amp;gt;SetParam_A_PrintNavigation(FALSE);&lt;br /&gt;
  $GLOBALS[&amp;quot;DynPG&amp;quot;]-&amp;gt;SetParam_A_ArticleHeader(FALSE);&lt;br /&gt;
  $GLOBALS[&amp;quot;DynPG&amp;quot;]-&amp;gt;SetParam_A_Article(1);&lt;br /&gt;
&lt;br /&gt;
  $GLOBALS[&amp;quot;DynPG&amp;quot;]-&amp;gt;Write_Article();&lt;br /&gt;
  $GLOBALS[&amp;quot;DynPG&amp;quot;]-&amp;gt;SetupTemplate(&amp;#039;default&amp;#039;);  &lt;br /&gt;
?&amp;gt;&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Man kann nun in der &amp;lt;tt&amp;gt;index.php&amp;lt;/tt&amp;gt; mittels &lt;br /&gt;
&amp;lt;code&amp;gt;[php, N]&lt;br /&gt;
&amp;lt;?php include(&amp;quot;inc/navi.php&amp;quot;); ?&amp;gt;&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
die Navigation einbinden, ebenso z.B. auch in der &amp;lt;tt&amp;gt;folgeseite.php&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Die dynamische Navigation kann nun an verschiedenen Stellen angepasst werden. Neben den Globals in der PHP-Datei ([[#Globalsreferenz|Globalsreferenz]]) ist dies im Backend durch das Erstellen von Gruppen und Artikeln möglich ([[#Dynamische_Navigation_im_Backend|Dynamische Navigation im Backend]]). Erweiterte Möglichkeiten ergeben sich durch das [[#CSS|CSS]] und die [[#Templates|Templates]].&lt;br /&gt;
&lt;br /&gt;
==Die dynamische Navigation im Backend==&lt;br /&gt;
&lt;br /&gt;
Wie bereits erwähnt, bildet die dynamische Navigation die Gruppenstruktur des Backends auf einer Webseite ab. In der Musterwebsite 3 ist im Backend zum Beispiel folgende Gruppenstruktur zu erkennen:&lt;br /&gt;
[[Media:dynmenue08.PNG|Klick]].&lt;br /&gt;
Auf der Website sieht dies dann wie folgt aus:&lt;br /&gt;
[[Media:dynmenue09.PNG|Klick]]&lt;br /&gt;
oder auch&lt;br /&gt;
[[Media:dynmenue10.PNG|Klick]]&lt;br /&gt;
.&lt;br /&gt;
&lt;br /&gt;
Welche Untergruppen angezeigt werden, hängt zum einen davon ab, welcher Navigationspunkt gerade aktiv ist (also angeklickt wurde) und zum anderen von den benutzten Globals in der PHP-Datei ([[#Globalsreferenz|z.B. Parameter &amp;#039;full_load&amp;#039;]]) und den Einstellungen der Gruppe im Backend. &lt;br /&gt;
&lt;br /&gt;
Die Eigenschaftsseite der Gruppe erreicht man über einen Klick auf das Stiftsymbol&lt;br /&gt;
([[Media:dynmenue11.PNG|Klick]])&lt;br /&gt;
. Unter dem Punkt &amp;#039;&amp;#039;Veröffentlichen&amp;#039;&amp;#039;&lt;br /&gt;
([[Media:dynmenue12.PNG|Klick]])&lt;br /&gt;
wählt man nun eine Option aus: &lt;br /&gt;
:* &amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039;Ja&amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039;: die Gruppe wird auf der gesamten Website angezeigt, also auch in der dynamischen Navigation&lt;br /&gt;
:* &amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039;Nein&amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039;: die Gruppe wird auf der ganze Website nicht angezeigt, also weder in Gruppenliste noch in der dynamischen Navigation&lt;br /&gt;
:* &amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039;Ja, ohne Navigation&amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039;: die Gruppe wird zwar normal auf der Website angezeigt, jedoch in der dynamischen Navigation ausgeblendet&lt;br /&gt;
:* &amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039;Ja, ohne Subnavigation&amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039;: wie &amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039;Ja&amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039;, jedoch werden von diesem Menüpunkt in der dynamischen Navigation nur Untergruppen angezeigt, jedoch keine Artikel, die eventuell in dieser Gruppe liegen&lt;br /&gt;
&lt;br /&gt;
==Globalsreferenz==&lt;br /&gt;
===Globals direkt für das Plugin===&lt;br /&gt;
&amp;#039;&amp;#039;Die Parameter haben Default-Werte, müssen also nicht immer gesetzt werden&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
*&amp;#039;&amp;#039;&amp;#039;&amp;lt;tt&amp;gt;$GLOBALS[&amp;quot;DynPG&amp;quot;]-&amp;gt;SetParam_PlugIn_Template(&amp;#039;DPGdynmenu&amp;#039;, &amp;#039;TEMPLATEORDNER&amp;#039;);&amp;lt;/tt&amp;gt;&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
:Hiermit wählt man den Template-Ordner für die dynamische Navigation aus. Diese Template-Ordner liegen in &amp;lt;tt&amp;gt;dynpg/plugins/DPGdynmenu/templates&amp;lt;/tt&amp;gt;. Aus diesem Ordner wird die Template-Datei &amp;lt;tt&amp;gt;menu.tpl&amp;lt;/tt&amp;gt; zur Generierung des Menüs genommen. Dies ist unabhängig vom Global &amp;lt;tt&amp;gt;$GLOBALS[&amp;quot;DynPG&amp;quot;]-&amp;gt;SetupTemplate(...);&amp;lt;/tt&amp;gt;, der sozusagen das Template des Artikels bestimmt, welcher die dynamische Navigation enthält.&lt;br /&gt;
&lt;br /&gt;
*&amp;#039;&amp;#039;&amp;#039;&amp;lt;tt&amp;gt;$GLOBALS[&amp;quot;DynPG&amp;quot;]-&amp;gt;SetParam_PlugIn_Param(&amp;#039;DPGdynmenu&amp;#039;, PARAMETERNAME, PARAMETERWERT);&amp;lt;/tt&amp;gt;&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
:{| class=&amp;quot;dynpgwikitable&amp;quot;&lt;br /&gt;
! &amp;lt;tt&amp;gt;PARAMETERNAME&amp;lt;/tt&amp;gt; !! &amp;lt;tt&amp;gt;PARAMETERWERT&amp;lt;/tt&amp;gt; !! Beschreibung&lt;br /&gt;
|-&lt;br /&gt;
||&amp;lt;tt&amp;gt;&amp;#039;order&amp;#039;&amp;lt;/tt&amp;gt; || &amp;lt;tt&amp;gt;Array(&amp;#039;INDEX&amp;#039;)&amp;lt;/tt&amp;gt; oder &amp;lt;tt&amp;gt;Array(&amp;#039;NAME&amp;#039;)&amp;lt;/tt&amp;gt; || Reihenfolge der Gruppen in der Navigation nach Name oder im Backend gesetzten Index&lt;br /&gt;
|-&lt;br /&gt;
||&amp;lt;tt&amp;gt;&amp;#039;sort&amp;#039;&amp;lt;/tt&amp;gt; || &amp;lt;tt&amp;gt;Array(&amp;#039;ASC&amp;#039;)&amp;lt;/tt&amp;gt; oder &amp;lt;tt&amp;gt;Array(&amp;#039;DESC&amp;#039;)&amp;lt;/tt&amp;gt; || aufsteigende oder absteigende Sortierung&lt;br /&gt;
|-&lt;br /&gt;
||&amp;lt;tt&amp;gt;&amp;#039;order_articles&amp;#039;&amp;lt;/tt&amp;gt; || z.B. &amp;lt;tt&amp;gt;Array(&amp;#039;INDEX&amp;#039;)&amp;lt;/tt&amp;gt; || sortiert Artikel in der dynamischen Navigation (falls diese angezeigt werden) &lt;br /&gt;
|-&lt;br /&gt;
||&amp;lt;tt&amp;gt;&amp;#039;sort_articles&amp;#039;&amp;lt;/tt&amp;gt; || z.B. &amp;lt;tt&amp;gt;Array(&amp;#039;ASC&amp;#039;)&amp;lt;/tt&amp;gt; || bestimmt aufsteigende oder absteigende Sortierreihenfolge der Artikel&lt;br /&gt;
|-&lt;br /&gt;
||&amp;lt;tt&amp;gt;&amp;#039;href_page_groups&amp;#039;&amp;lt;/tt&amp;gt; || z.B. &amp;lt;tt&amp;gt;&amp;#039;../folgeseite.php&amp;#039;&amp;lt;/tt&amp;gt; || Seite auf die standardmäßig weiterverlinkt wird bei einem Klick auf den Gruppennamen, sofern die Gruppe Untergruppen hat. Wird dieser Parameter nicht angegeben, so wird auf die aktuelle PHP-Seite verlinkt. (ACHTUNG &amp;lt;tt&amp;gt;&amp;#039;../&amp;#039;&amp;lt;/tt&amp;gt; wichtig, siehe Ordnerstruktur weiter oben!)&lt;br /&gt;
|-&lt;br /&gt;
||&amp;lt;tt&amp;gt;&amp;#039;href_page_articles&amp;#039;&amp;lt;/tt&amp;gt; || z.B. &amp;lt;tt&amp;gt;&amp;#039;../folgeseite.php&amp;#039;&amp;lt;/tt&amp;gt; || Seite auf die standardmäßig weiterverlinkt wird bei einem Klick auf den Gruppennamen, sofern die Gruppe Artikel enthält. Wird dieser Parameter nicht angegeben, so wird auf die aktuelle PHP-Seite verlinkt. (ACHTUNG &amp;lt;tt&amp;gt;&amp;#039;../&amp;#039;&amp;lt;/tt&amp;gt; wichtig, siehe Ordnerstruktur weiter oben!)&lt;br /&gt;
|-&lt;br /&gt;
||&amp;lt;tt&amp;gt;&amp;#039;href_page_detail&amp;#039;&amp;lt;/tt&amp;gt; || z.B. &amp;lt;tt&amp;gt;&amp;#039;../folgeseite.php&amp;#039;&amp;lt;/tt&amp;gt; || Seite auf die standardmäßig weiterverlinkt wird bei einem Klick auf einen Artikelnamen. Wird dieser Parameter nicht angegeben, so wird auf die aktuelle PHP-Seite verlinkt. (ACHTUNG &amp;lt;tt&amp;gt;&amp;#039;../&amp;#039;&amp;lt;/tt&amp;gt; wichtig, siehe Ordnerstruktur weiter oben!)&lt;br /&gt;
|-&lt;br /&gt;
||&amp;lt;tt&amp;gt;&amp;#039;href_subpages&amp;#039;&amp;lt;/tt&amp;gt; || z.B. &amp;lt;pre&amp;gt;Array(&lt;br /&gt;
  GRUPPENNUMMER =&amp;gt; Array( &lt;br /&gt;
    &amp;#039;page&amp;#039; =&amp;gt; &amp;#039;PHP-SEITE{query}&amp;#039;,&lt;br /&gt;
    &amp;#039;successors&amp;#039; =&amp;gt; BOOLEAN&lt;br /&gt;
  ),&lt;br /&gt;
...&lt;br /&gt;
...&lt;br /&gt;
...&lt;br /&gt;
  GRUPPENNUMMER =&amp;gt; Array( &lt;br /&gt;
    &amp;#039;page&amp;#039; =&amp;gt; &amp;#039;PHP-SEITE{query}&amp;#039;,&lt;br /&gt;
    &amp;#039;successors&amp;#039; =&amp;gt; BOOLEAN&lt;br /&gt;
  ) &lt;br /&gt;
)&amp;lt;/pre&amp;gt; || Ermöglicht es, für bestimmte Gruppen auf eine spezielle &amp;lt;tt&amp;gt;PHP-SEITE&amp;lt;/tt&amp;gt; zu verlinken. Hierzu geben Sie anstatt &amp;lt;tt&amp;gt;GRUPPENNUMMER&amp;lt;/tt&amp;gt; die Gruppennummer der Gruppe aus dem Backend ein. Statt &amp;lt;tt&amp;gt;PHP-SEITE&amp;lt;/tt&amp;gt; fügen Sie den Namen und Pfad zur Zieldatei an, ausgehend vom Hauptverzeichnis des CMS!. Lassen Sie den Anhang &amp;lt;tt&amp;gt;{query}&amp;lt;/tt&amp;gt; genau so stehen, falls in die Zieldatei auch DynPG über Globals eingeben wurde. &amp;lt;tt&amp;gt;BOOLEAN&amp;lt;/tt&amp;gt; ersetzen Sie mit &amp;lt;tt&amp;gt;true&amp;lt;/tt&amp;gt; wenn für Untergruppen dieser Gruppe auch auf diese spezielle PHP-Seite verlink werden soll, ansonsten mit &amp;lt;tt&amp;gt;false&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Passen Sie auf, dass nach jedem &amp;lt;tt&amp;gt;GRUPPENNUMMER =&amp;gt; Array(...)&amp;lt;/tt&amp;gt; ein Komma notiert ist, allerdings nicht beim letzten.&lt;br /&gt;
|-&lt;br /&gt;
||&amp;lt;tt&amp;gt;&amp;#039;full_load&amp;#039;&amp;lt;/tt&amp;gt; || &amp;lt;tt&amp;gt;false&amp;lt;/tt&amp;gt; oder &amp;lt;tt&amp;gt;true&amp;lt;/tt&amp;gt; || zeigt unabhängig von angeklickten Gruppen den kompletten Navigationsbaum mit Untergruppen an (oder auch nicht)&lt;br /&gt;
|-&lt;br /&gt;
|| &amp;lt;tt&amp;gt;&amp;#039;full_load_articles&amp;#039;&amp;lt;/tt&amp;gt; || &amp;lt;tt&amp;gt;false&amp;lt;/tt&amp;gt; ||&lt;br /&gt;
|-&lt;br /&gt;
|| &amp;lt;tt&amp;gt;&amp;#039;limit_articles&amp;#039;&amp;lt;/tt&amp;gt; || &amp;lt;tt&amp;gt;false&amp;lt;/tt&amp;gt; oder eine Zahl || Sofern dieser Parameter eine Zahl als Wert erhält, bestimmt er die Anzahl der Artikel pro Gruppe, die in der dynamischen Navigation angezeigt werden, wenn eine Gruppe statt Untergruppen Artikel enthält.&lt;br /&gt;
|-&lt;br /&gt;
|| &amp;lt;tt&amp;gt;&amp;#039;expand_subtree&amp;#039;&amp;lt;/tt&amp;gt; || &amp;lt;tt&amp;gt;Array(4)&amp;lt;/tt&amp;gt; oder &amp;lt;tt&amp;gt;Array(4,5)&amp;lt;/tt&amp;gt; etc. || zeigt die Untergruppen von Gruppe 4 (bzw. 4 und 5) in jedem Fall an. Sei Gruppe 4 bspw. die Gruppe &amp;#039;&amp;#039;News&amp;#039;&amp;#039; des Backends, dann werden die beispielhaften Untergruppen &amp;#039;&amp;#039;Lokalnachrichten&amp;#039;&amp;#039; und &amp;#039;&amp;#039;Weltnachrichten&amp;#039;&amp;#039; immer zur Navigation angeboten, auch wenn sich ein Benutzer auf der Website gerade einen Artikel aus der Gruppe &amp;#039;&amp;#039;Kontakt&amp;#039;&amp;#039; anschaut&lt;br /&gt;
|- &lt;br /&gt;
|| &amp;lt;tt&amp;gt;&amp;#039;implode_subtree&amp;#039;&amp;lt;/tt&amp;gt; || &amp;lt;tt&amp;gt;Array(4)&amp;lt;/tt&amp;gt; oder &amp;lt;tt&amp;gt;Array(4,5)&amp;lt;/tt&amp;gt; etc. || zeigt die Untergruppen von Gruppe 4 (bzw. 4 und 5) in jedem Fall NICHT an. Anmerkung: der Parameter &amp;lt;tt&amp;gt;expand_subtree&amp;lt;/tt&amp;gt; überschreibt diese Einstellung! Ist also eine Gruppe in beiden Parametern aufgeführt, so werden die Untergruppen dieser Gruppe immer angezeigt, da der Parameter &amp;lt;tt&amp;gt;expand_subtree&amp;lt;/tt&amp;gt; wichtiger ist.&lt;br /&gt;
|-&lt;br /&gt;
|| &amp;lt;tt&amp;gt;&amp;#039;real_expand&amp;#039;&amp;lt;/tt&amp;gt; || &amp;lt;tt&amp;gt;false&amp;lt;/tt&amp;gt; oder &amp;lt;tt&amp;gt;true&amp;lt;/tt&amp;gt; || Verwenden Sie das Template &amp;#039;&amp;#039;intelligent&amp;#039;&amp;#039; für die dynamische Navigation, setzen Sie diesen Parameter auf &amp;lt;tt&amp;gt;true&amp;lt;/tt&amp;gt;, ansonsten auf &amp;lt;tt&amp;gt;false&amp;lt;/tt&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|| &amp;lt;tt&amp;gt;&amp;#039;parent_select&amp;#039;&amp;lt;/tt&amp;gt; || &amp;lt;tt&amp;gt;true&amp;lt;/tt&amp;gt; ||&lt;br /&gt;
|-&lt;br /&gt;
|| &amp;lt;tt&amp;gt;&amp;#039;max_depth&amp;#039;&amp;lt;/tt&amp;gt; || &amp;lt;tt&amp;gt;null&amp;lt;/tt&amp;gt; oder &amp;lt;tt&amp;gt;0&amp;lt;/tt&amp;gt; oder &amp;lt;tt&amp;gt;1&amp;lt;/tt&amp;gt; etc. || Tiefe bis zu der (Unter-)Gruppen angezeigt werden&lt;br /&gt;
|-&lt;br /&gt;
|| &amp;lt;tt&amp;gt;&amp;#039;min_depth&amp;#039;&amp;lt;/tt&amp;gt; || &amp;lt;tt&amp;gt;null&amp;lt;/tt&amp;gt; oder &amp;lt;tt&amp;gt;0&amp;lt;/tt&amp;gt; oder &amp;lt;tt&amp;gt;1&amp;lt;/tt&amp;gt; etc. || Tiefe, die eine Gruppe mindestens haben muss um angezeigt zu werden, z.B. 1 um oberste Ebene der Gruppen aus dem Backend auszublenden&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Sinnvolle Globals vom DynPG-CMS===&lt;br /&gt;
&lt;br /&gt;
Dies hier erklärt die Globals aus dem PHP-Code von [[Schritt 2: PHP-Datei für die dynamische Navigation erstellen|Schritt 2 des Punkts &amp;#039;&amp;#039;Einrichten&amp;#039;&amp;#039;]].&lt;br /&gt;
&lt;br /&gt;
*&amp;#039;&amp;#039;&amp;#039;&amp;lt;tt&amp;gt;$GLOBALS[&amp;quot;DynPG&amp;quot;]-&amp;gt;SetupTemplate(&amp;#039;uneditable&amp;#039;);&amp;lt;/tt&amp;gt; &amp;#039;&amp;#039;&amp;#039; : ermöglicht Navigation in der Seite obwohl Editiermodus im Backend angeschaltet ist&lt;br /&gt;
*&amp;#039;&amp;#039;&amp;#039;&amp;lt;tt&amp;gt;$GLOBALS[&amp;quot;DynPG&amp;quot;]-&amp;gt;SetParam_A_Anytime(TRUE);&amp;lt;/tt&amp;gt; &amp;#039;&amp;#039;&amp;#039; : Menü soll immer angezeigt werden&lt;br /&gt;
*&amp;#039;&amp;#039;&amp;#039;&amp;lt;tt&amp;gt;$GLOBALS[&amp;quot;DynPG&amp;quot;]-&amp;gt;SetParam_A_CategoryNavigation(FALSE);&amp;lt;/tt&amp;gt; &amp;#039;&amp;#039;&amp;#039; : keine weitere Navigation(Breadcrumb) anzeigen&lt;br /&gt;
*&amp;#039;&amp;#039;&amp;#039;&amp;lt;tt&amp;gt;$GLOBALS[&amp;quot;DynPG&amp;quot;]-&amp;gt;SetParam_A_PrintNavigation(FALSE);&amp;lt;/tt&amp;gt; &amp;#039;&amp;#039;&amp;#039; : kein Link zu Print-Seite anzeigen&lt;br /&gt;
*&amp;#039;&amp;#039;&amp;#039;&amp;lt;tt&amp;gt;$GLOBALS[&amp;quot;DynPG&amp;quot;]-&amp;gt;SetParam_A_ArticleHeader(FALSE);&amp;lt;/tt&amp;gt; &amp;#039;&amp;#039;&amp;#039; : keine Artikelüberschrift (des Artikels mit dem DynMenü-Platzhalter) und kein Artikelleadtext anzeigen&lt;br /&gt;
*&amp;#039;&amp;#039;&amp;#039;&amp;lt;tt&amp;gt;$GLOBALS[&amp;quot;DynPG&amp;quot;]-&amp;gt;SetParam_A_Article(1);&amp;lt;/tt&amp;gt; &amp;#039;&amp;#039;&amp;#039; : Artikel mit dem Dynmenü-Platzhalter setzen (&amp;#039;&amp;#039;&amp;#039;Hier die Artikelnummer aus [[#Einrichten|Einrichten]] einfügen!&amp;#039;&amp;#039;&amp;#039;)&lt;br /&gt;
*&amp;#039;&amp;#039;&amp;#039;&amp;lt;tt&amp;gt;$GLOBALS[&amp;quot;DynPG&amp;quot;]-&amp;gt;Write_Article();&amp;lt;/tt&amp;gt; &amp;#039;&amp;#039;&amp;#039; : Artikel ausgeben&lt;br /&gt;
*&amp;#039;&amp;#039;&amp;#039;&amp;lt;tt&amp;gt;$GLOBALS[&amp;quot;DynPG&amp;quot;]-&amp;gt;SetupTemplate(&amp;#039;default&amp;#039;);&amp;lt;/tt&amp;gt; &amp;#039;&amp;#039;&amp;#039; : andere Teile der Website haben sicherlich andere Templates. Wir setzen daher hier wieder auf das Standard-Template zurück&lt;br /&gt;
&lt;br /&gt;
==CSS==&lt;br /&gt;
Die CSS-Dateien für die dynamische Navigation liegen im Verzeichnis &amp;lt;tt&amp;gt;dynpg/plugins/DPGdynmenu/styles&amp;lt;/tt&amp;gt;. Die Datei &amp;lt;tt&amp;gt;menu.css&amp;lt;/tt&amp;gt; ist hierbei meist die ausschlaggebende, so zum Beispiel in der Navigation der Musterwebsite 3.&lt;br /&gt;
&lt;br /&gt;
Die CSS-Klassen und -Bezeichner aus dieser Datei sind nach einem bestimmten Schema benannt. Hat man dieses einmal verstanden, so lassen sich leicht Änderungen an speziellen Teilen des Erscheinungsbildes der dynamischen Navigation durchführen.&lt;br /&gt;
&lt;br /&gt;
Die dynamische Navigation wird von einem &amp;lt;tt&amp;gt;div&amp;lt;/tt&amp;gt;-Tag mit der Id &amp;lt;tt&amp;gt;course_categories_menu&amp;lt;/tt&amp;gt; umschlossen.&lt;br /&gt;
&lt;br /&gt;
Diese Angaben gelten also grundsätzlich für die gesamte dynamische Navigation und werden gegebenenfalls weitervererbt.&lt;br /&gt;
Im &amp;lt;tt&amp;gt;menu.css&amp;lt;/tt&amp;gt; der Muster-Website 3 steht beispielsweise:&lt;br /&gt;
&amp;lt;code&amp;gt;[css, N]&lt;br /&gt;
div#course_categories_menu {&lt;br /&gt;
  margin: 0;&lt;br /&gt;
  padding: 0;&lt;br /&gt;
  width: 180px;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Um zu verhindern, dass die CSS-Angaben dieser Datei auch auf andere Teile der Website Einfluss haben, ist vor allen anderen CSS-Definitionen der Datei ebenfalls &amp;lt;tt&amp;gt;div#course_categories_menu&amp;lt;/tt&amp;gt; notiert. Dadurch wirken sich die Angaben nur auf die dynamische Navigation aus.&lt;br /&gt;
&lt;br /&gt;
Innerhalb des &amp;lt;tt&amp;gt;course_categories_menu&amp;lt;/tt&amp;gt; - &amp;lt;tt&amp;gt;div&amp;lt;/tt&amp;gt; - Tags gibt es für jede Gruppe der obersten angezeigten Gruppenebene ein &amp;lt;div&amp;gt;-Tag mit der CSS-Id &amp;lt;tt&amp;gt;group_fold_NUMMER&amp;lt;/tt&amp;gt; wobei &amp;lt;tt&amp;gt;NUMMER&amp;lt;/tt&amp;gt; der Gruppennummer der Gruppe aus dem Backend entspricht. In der Navigation der Muster-Website 3 gibt es also folgende Tags:&lt;br /&gt;
&amp;lt;code&amp;gt;[html, N]&lt;br /&gt;
&amp;lt;div id=&amp;quot;course_categories_menu&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;div id=&amp;quot;group_fold_2&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;  &amp;lt;!--Produkte--&amp;gt;&lt;br /&gt;
  &amp;lt;div id=&amp;quot;group_fold_3&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;  &amp;lt;!--Support--&amp;gt;&lt;br /&gt;
  &amp;lt;div id=&amp;quot;group_fold_9&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;  &amp;lt;!--News--&amp;gt;&lt;br /&gt;
  &amp;lt;div id=&amp;quot;group_fold_4&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;  &amp;lt;!--Über uns--&amp;gt;&lt;br /&gt;
  &amp;lt;div id=&amp;quot;group_fold_5&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;  &amp;lt;!--Kontakt--&amp;gt;&lt;br /&gt;
  &amp;lt;div id=&amp;quot;group_fold_21&amp;quot;&amp;gt;&amp;lt;/div&amp;gt; &amp;lt;!--Blog--&amp;gt;&lt;br /&gt;
  &amp;lt;div id=&amp;quot;group_fold_15&amp;quot;&amp;gt;&amp;lt;/div&amp;gt; &amp;lt;!--Sitemap--&amp;gt;&lt;br /&gt;
  &amp;lt;div id=&amp;quot;group_fold_6&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;  &amp;lt;!--Home--&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
Möchte man nun Eigenschaften nur an einem bestimmten Teil der Navigation machen, so könnte man im CSS-File folgende Angabe machen:&lt;br /&gt;
&amp;lt;code&amp;gt;[css, N]&lt;br /&gt;
div#course_categories_menu div#group_fold_9 {&lt;br /&gt;
  text-decoration:blink;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
Damit würde der Text der Gruppe &amp;#039;&amp;#039;News&amp;#039;&amp;#039; (und eventueller Untergruppen) in der dynamischen Navigation blinken.&lt;br /&gt;
&lt;br /&gt;
Innerhalb der &amp;lt;tt&amp;gt;group_fold_NUMMER&amp;lt;/tt&amp;gt; - &amp;lt;tt&amp;gt;div&amp;lt;/tt&amp;gt; - Tags gibt es nun ein &amp;lt;tt&amp;gt;div&amp;lt;/tt&amp;gt; - Tag, dass (neben einer weiteren CSS-Id) eine CSS-Klasse hat. Diese CSS-Klasse wird nach folgendem Muster gebildet:&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;&amp;lt;tt&amp;gt;level_&amp;#039;&amp;#039;A&amp;#039;&amp;#039;_&amp;#039;&amp;#039;B&amp;#039;&amp;#039;_&amp;#039;&amp;#039;C&amp;#039;&amp;#039;_&amp;#039;&amp;#039;D&amp;#039;&amp;#039;_&amp;#039;&amp;#039;E&amp;#039;&amp;#039;&amp;lt;/tt&amp;gt;&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;dynpgwikitable&amp;quot;&lt;br /&gt;
! Buchstabe !! mögliche Werte !! Beschreibung&lt;br /&gt;
|-&lt;br /&gt;
|| &amp;lt;tt&amp;gt;&amp;#039;&amp;#039;A&amp;#039;&amp;#039;&amp;lt;/tt&amp;gt; || 0 oder 1 oder 2 etc. || gibt das Level der Gruppe an, also die Verzweigungstiefe in der sich die Navigation befindet&lt;br /&gt;
|-&lt;br /&gt;
|| &amp;lt;tt&amp;gt;&amp;#039;&amp;#039;B&amp;#039;&amp;#039;&amp;lt;/tt&amp;gt; || &amp;lt;tt&amp;gt;r&amp;lt;/tt&amp;gt; (nicht letzter), &amp;lt;tt&amp;gt;e&amp;lt;/tt&amp;gt; (letzter) || gibt an, ob nach dieser Gruppe noch weitere aufgelistet werden (z.B. in Musterwebsite 3 ist die Gruppe 6 &amp;quot;Home&amp;quot; die letzte des Menüs)&lt;br /&gt;
|-&lt;br /&gt;
|| &amp;lt;tt&amp;gt;&amp;#039;&amp;#039;C&amp;#039;&amp;#039;&amp;lt;/tt&amp;gt; ||  &amp;lt;tt&amp;gt;a&amp;lt;/tt&amp;gt; (ist aktiv), &amp;lt;tt&amp;gt;i&amp;lt;/tt&amp;gt; (ist nicht aktiv) || gibt an, ob die Gruppe aktiv ist, d.h. ob sie durch einen Klick ausgewählt wurde&lt;br /&gt;
|-&lt;br /&gt;
|| &amp;lt;tt&amp;gt;&amp;#039;&amp;#039;D&amp;#039;&amp;#039;&amp;lt;/tt&amp;gt; ||  &amp;lt;tt&amp;gt;exp&amp;lt;/tt&amp;gt; (ausgeklappt), cll(eingeklappt) || gibt an, ob die Untergruppen dieser Gruppe ausgeklappt sind oder nicht&lt;br /&gt;
|-&lt;br /&gt;
|| &amp;lt;tt&amp;gt;&amp;#039;&amp;#039;E&amp;#039;&amp;#039;&amp;lt;/tt&amp;gt; ||  &amp;lt;tt&amp;gt;_hover&amp;lt;/tt&amp;gt; (Mauszeiger ist über dem Element), nichts (Mauszeiger ist nicht über dem Element) || gibt an, ob sich der Mauszeiger über dem Gruppennamen befindet oder nicht&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Mithilfe dieses Schemas kann man nun bestimmen, welche CSS-Klassen man in der CSS-Datei angeben muss um bestimmte Effekte hervorzurufen.&lt;br /&gt;
Möchte man beispielsweise, dass alle Elemente der zweitobersten Ebene blinken, wenn der Mauszeiger über dem Element ist, so notiert man in der CSS-Datei:&lt;br /&gt;
&amp;lt;code&amp;gt;[css, N]&lt;br /&gt;
div#course_categories_menu div#level_1_r_a_exp_hover,&lt;br /&gt;
div#course_categories_menu div#level_1_r_a_cll_hover,&lt;br /&gt;
div#course_categories_menu div#level_1_r_i_exp_hover,&lt;br /&gt;
div#course_categories_menu div#level_1_r_i_cll_hover,&lt;br /&gt;
div#course_categories_menu div#level_1_e_a_exp_hover,&lt;br /&gt;
div#course_categories_menu div#level_1_e_a_cll_hover,&lt;br /&gt;
div#course_categories_menu div#level_1_e_i_exp_hover,&lt;br /&gt;
div#course_categories_menu div#level_1_e_i_cll_hover {&lt;br /&gt;
  text-decoration:blink;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Diese Struktur der &amp;lt;tt&amp;gt;div&amp;lt;/tt&amp;gt;-Tags wiederholt sich mit tieferen Gruppenebenen / Untergruppen. Zum Beispiel tauchen die &amp;lt;tt&amp;gt;div&amp;lt;/tt&amp;gt;-Tags der Untergruppen vom &amp;#039;&amp;#039;Über uns&amp;#039;&amp;#039;-Menüpunkt aus der Muster-Website 3 innerhalb des &amp;lt;tt&amp;gt;group_fold_4&amp;lt;/tt&amp;gt; - &amp;lt;tt&amp;gt;div&amp;lt;/tt&amp;gt; - Tags auf.&lt;br /&gt;
&lt;br /&gt;
Weitere Informationen über die CSS-Klassen kann man schnell erhalten, indem man sich den HTML-Code eines generierten dynamischen Menüs anschaut, zum Beispiel aus der Muster-Website 3.&lt;br /&gt;
&lt;br /&gt;
==Templates==&lt;br /&gt;
Diese Templates liegen im Ordner &amp;lt;tt&amp;gt;dynpg/plugins/DPGdynmenu/templates&amp;lt;/tt&amp;gt;. Hier finden sie Ordner, die jeweils eine &amp;lt;tt&amp;gt;menu.tpl&amp;lt;/tt&amp;gt; enthalten. Welcher dieser Ordner aktiv ist, bestimmen Sie durch das Global &amp;lt;tt&amp;gt;$GLOBALS[&amp;quot;DynPG&amp;quot;]-&amp;gt;SetParam_PlugIn_Template(&amp;#039;DPGdynmenu&amp;#039;, &amp;#039;TEMPLATEORDNER&amp;#039;);&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Die Templates dienen als Vorlage für die Generierung des HTML-Codes der dynamischen Navigation. In ihnen werden auch die CSS-Klassen definiert, welche in [[#CSS|CSS]] erklärt wurden. Außerdem finden hier Templateplatzhalter der Form &amp;lt;tt&amp;gt;&amp;lt;nowiki&amp;gt;{$PLATZHALTER}&amp;lt;/nowiki&amp;gt;&amp;lt;/tt&amp;gt; Verwendung, die DynPG dynamisch durch Inhalt ersetzt.&lt;br /&gt;
&lt;br /&gt;
Das Template &amp;#039;&amp;#039;horizontal&amp;#039;&amp;#039; der Musterwebsite 3 generiert beispielsweise ein horizontales Menü, während das Template &amp;#039;&amp;#039;intelligent&amp;#039;&amp;#039; ein vertikales Menü erzeugt.&lt;br /&gt;
&lt;br /&gt;
Modifikationen an den Templates sind recht komplex. Sollten Sie vorhaben hier Änderungen durchzuführen, wenden Sie sich an das DynPG-Forum.&lt;br /&gt;
&lt;br /&gt;
==Feste Links einbauen==&lt;br /&gt;
&lt;br /&gt;
Hierzu erstellt man im Backend eine Gruppe mit dem Namen des festen Links und merkt sich die Gruppennummer. Mittels des Plugin-Parameters &amp;lt;tt&amp;gt;&amp;#039;href_subpages&amp;#039;&amp;lt;/tt&amp;gt; setzt man für diese Gruppennummer nun als Ziel die Datei &amp;lt;tt&amp;gt;counter.php&amp;lt;/tt&amp;gt; fest und übergibt dieser als Parameter das feste Linkziel. Beispiel: Wir wollen einen Link auf die Google-Webseite setzen. Also erstellen wir im Backend eine Gruppe mit dem Namen &amp;#039;&amp;#039;Google-Websuche&amp;#039;&amp;#039; und notieren die Gruppennummer (z.B. 33). In die PHP-Datei unserer dynamischen Navigation fügen wir nun folgendes ein:&lt;br /&gt;
&amp;lt;code&amp;gt;[php, N]&lt;br /&gt;
$GLOBALS[&amp;quot;DynPG&amp;quot;]-&amp;gt;SetParam_PlugIn_Param(&lt;br /&gt;
  &amp;#039;DPGdynmenu&amp;#039;,&lt;br /&gt;
  &amp;#039;href_subpages&amp;#039;,&lt;br /&gt;
  Array(&lt;br /&gt;
	33 =&amp;gt; Array(&lt;br /&gt;
      &amp;#039;page&amp;#039; =&amp;gt; &amp;#039;counter.php?inc=http://www.google.com&amp;#039;,&lt;br /&gt;
      &amp;#039;successors&amp;#039; =&amp;gt; true&lt;br /&gt;
    )		&lt;br /&gt;
  )&lt;br /&gt;
);&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Mehrsprachiges Menü==&lt;br /&gt;
&lt;br /&gt;
Hierzu gibt es einen Thread in unserem Forum unter [http://www.dynpg.ch/dynpg-forum.php?t=&amp;amp;read_group=30&amp;amp;thread_id=47&amp;amp;tt=Sprachwechsel]. Die grundsätzliche Idee ist (bei zwei Sprachen) zwei Gruppenbäume im Backend aufzubauen. Die oberste Gruppe des ersten Baumes wäre beispielsweise die Gruppe &amp;#039;&amp;#039;Deutsch&amp;#039;&amp;#039;, die oberste Gruppe des zweiten Baumes wäre zum Beispiel &amp;#039;&amp;#039;English&amp;#039;&amp;#039;.&lt;br /&gt;
&lt;br /&gt;
In der zweiten Ebene kommen dann unter &amp;#039;&amp;#039;Deutsch&amp;#039;&amp;#039; bzw. &amp;#039;&amp;#039;English&amp;#039;&amp;#039; Untergruppen wie &amp;#039;&amp;#039;News&amp;#039;&amp;#039;/&amp;#039;&amp;#039;Nachrichten&amp;#039;&amp;#039;, &amp;#039;&amp;#039;Produkte&amp;#039;&amp;#039;/&amp;#039;&amp;#039;Products&amp;#039;&amp;#039;, &amp;#039;&amp;#039;Hilfe&amp;#039;&amp;#039;/&amp;#039;&amp;#039;Support&amp;#039;&amp;#039; und so weiter. Man erstellt sich nun zwei PHP-Dateien (&amp;lt;tt&amp;gt;navi_de.php&amp;lt;/tt&amp;gt;, &amp;lt;tt&amp;gt;navi_en.php&amp;lt;/tt&amp;gt;) wie oben beschrieben [[#Einrichten|Einrichten]]. In diesen wird dann mit den Befehlen aus [[#Globalsreferenz|Globalsreferenz]] der jeweils nicht passende Baum ausgeblendet.&lt;br /&gt;
&lt;br /&gt;
==Siehe auch==&lt;br /&gt;
*[[Sitemap-Tutorial]]&lt;br /&gt;
*[[Implementation eines kompletten Hauptmenüs]]&lt;br /&gt;
*[[Code-Schnipsel Einfaches Hauptmenü]]&lt;br /&gt;
*[[Code-Schnipsel Menüeinträge sortieren]]&lt;br /&gt;
*[[Snippet-Beispiele]]&lt;/div&gt;</summary>
		<author><name>Sebastian</name></author>	</entry>

	<entry>
		<id>https://wiki-en.dynpg.org/wiki_de/index.php?title=Dynamische_Navigation</id>
		<title>Dynamische Navigation</title>
		<link rel="alternate" type="text/html" href="https://wiki-en.dynpg.org/wiki_de/index.php?title=Dynamische_Navigation"/>
				<updated>2009-08-17T16:07:57Z</updated>
		
		<summary type="html">&lt;p&gt;Sebastian: /* Sinnvolle Globals vom DynPG-CMS */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Kategorie:Module]]&lt;br /&gt;
==Beschreibung==&lt;br /&gt;
Die dynamische Navigation ist Bestandteil des kostenlosen Grundmoduls von DynPG und bereits im Standard-DynPG integriert. Es ist keine separate Installation notwendig. Sie ermöglicht es Ihnen einfach und flexibel Navigationen auf Ihrer Homepage zu erstellen. Die Anwendungsmöglichkeiten gestalten sich dabei flexibel als normales Menü oder auch als Sitemap.&lt;br /&gt;
&lt;br /&gt;
Ein dynamisches Menü bildet die Gruppenstruktur im Backend, also die Abfolge von Gruppen, Untergruppen und Artikeln in einer Gruppe, als Menü ab, macht also die logische Struktur ihrer Artikel aus dem Backend auf einer Webseite sichtbar und navigierbar. &lt;br /&gt;
&lt;br /&gt;
Der Vorteil ist, dass man im Backend neue Gruppen o.ä. erstellt und diese dann im Hauptmenü erscheinen. Dies ist auch bei Untergruppen nützlich,&lt;br /&gt;
z.B. wenn eine neue Untergruppe &amp;#039;&amp;#039;Lokalnachrichten&amp;#039;&amp;#039; zur Hauptgruppe &amp;#039;&amp;#039;News&amp;#039;&amp;#039; hinzukommt.&lt;br /&gt;
&lt;br /&gt;
Zum Verständnis der Funktionsvielfalt der dynamischen Navigation ist es hilfreich, einmal eine der [[Muster-Web-Sites|Musterwebsites]] zu installieren und in den entsprechenden Dateien der Musterwebsite die unten erklärten Einstellungsmöglichkeiten nachzuvollziehen und vielleicht auch einmal mit den Optionen herumzuspielen.&lt;br /&gt;
&lt;br /&gt;
==Einrichten==&lt;br /&gt;
&amp;#039;&amp;#039;Anmerkung: Benutzen sie die [[Muster-Web-Sites|Musterwebsites]], so müssen die nachfolgenden zwei Schritte nicht ausgeführt werden, da die dynamische Navigation bereits in den Musterwebsites genutzt wird&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
===Schritt 1: Artikel erstellen mit Platzhalter für die dynamische Navigation===&lt;br /&gt;
Wählen Sie im Menü des Backends &amp;#039;&amp;#039;Gruppen&amp;#039;&amp;#039; aus [[Media:dynmenue01.png|Klick]]. Suchen Sie sich nun eine Gruppe, in der Sie einen Artikel erfassen wollen. Hier wählen wir (die in diesem Falle schon vorhandene) Gruppe &amp;#039;&amp;#039;Startseite/Navigation/Formular&amp;#039;&amp;#039; durch Klick auf ihren Namen aus [[Media:dynmenue02.png|Klick]].&lt;br /&gt;
&lt;br /&gt;
Mit einem Klick auf &amp;#039;&amp;#039;Artikel Formular anzeigen&amp;#039;&amp;#039; [[Media:dynmenue03.PNG|Klick]] und danach auf &amp;#039;&amp;#039;Inhalt bearbeiten&amp;#039;&amp;#039; [[Media:dynmenue04.PNG|Klick]] erscheint der Editor.&lt;br /&gt;
&lt;br /&gt;
In diesem wählen Sie das Symbol für die dynamische Navigation [[Media:dynmenue05.PNG|Klick]], geben noch einen Titel, etwa &amp;#039;&amp;#039;Neue Seitennavigation&amp;#039;&amp;#039;, ein und bestätigen mit einem Klick auf &amp;#039;&amp;#039;Erstellen&amp;#039;&amp;#039; [[Media:dynmenue06.PNG|Klick]]. &lt;br /&gt;
&lt;br /&gt;
Hat alles geklappt, können Sie im unteren Teil der Seite den neuen Artikel sehen [[Media:dynmenue07.PNG|Klick]]. Die Nummer des Artikels benötigen Sie erneut, wenn Sie in eine PHP-Datei mittels eines Globals die dynamische Navigation einbinden.&lt;br /&gt;
&lt;br /&gt;
===Schritt 2: PHP-Datei für die dynamische Navigation erstellen===&lt;br /&gt;
Folgende Ordner-Struktur könnte bei Ihnen vorliegen:&lt;br /&gt;
:*&amp;lt;tt&amp;gt;http-docs/dynpg&amp;lt;/tt&amp;gt; : hier liegt das DynPG-CMS&lt;br /&gt;
:*&amp;lt;tt&amp;gt;http-docs/index.php&amp;lt;/tt&amp;gt; : die Hauptseite Ihrer Website&lt;br /&gt;
:*&amp;lt;tt&amp;gt;http-docs/folgeseite.php&amp;lt;/tt&amp;gt; : eine andere PHP-Datei der Website&lt;br /&gt;
:*&amp;lt;tt&amp;gt;http-docs/inc/navi.php&amp;lt;/tt&amp;gt; : In diese Datei platziert man häufig den Code für die Navigation, dadurch ist er leichter wiederverwendbar&lt;br /&gt;
&lt;br /&gt;
Den nötigen Code der &amp;lt;tt&amp;gt;inc/navi.php&amp;lt;/tt&amp;gt; kann man anhand der [[Muster-Web-Sites|Musterwebsites]] nachvollziehen (Für eine genauere Erklärung der einzelnen verwendeten Globals siehe die [[Funktionsreferenz/Globals|Globals-Übersicht von DynPG]] und weiter unten die [[#Globalsreferenz|Funktionsübersicht der dynamischen Navigation]]) :&lt;br /&gt;
:*&amp;#039;&amp;#039;&amp;#039;&amp;lt;tt&amp;gt;inc/navi.php&amp;lt;/tt&amp;gt;:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;code&amp;gt;[php, N]&lt;br /&gt;
&amp;lt;?php&lt;br /&gt;
  $GLOBALS[&amp;quot;DynPG&amp;quot;]-&amp;gt;SetParam_PlugIn_Template(&amp;#039;DPGdynmenu&amp;#039;, &amp;#039;intelligent&amp;#039;);&lt;br /&gt;
  $GLOBALS[&amp;quot;DynPG&amp;quot;]-&amp;gt;SetParam_PlugIn_Param(&amp;#039;DPGdynmenu&amp;#039;, &amp;#039;real_expand&amp;#039;, TRUE);&lt;br /&gt;
  $GLOBALS[&amp;quot;DynPG&amp;quot;]-&amp;gt;SetParam_PlugIn_Param(&amp;#039;DPGdynmenu&amp;#039;, &amp;#039;order&amp;#039;, Array(&amp;#039;INDEX&amp;#039;));&lt;br /&gt;
  $GLOBALS[&amp;quot;DynPG&amp;quot;]-&amp;gt;SetParam_PlugIn_Param(&amp;#039;DPGdynmenu&amp;#039;, &amp;#039;sort&amp;#039;, Array(&amp;#039;ASC&amp;#039;));&lt;br /&gt;
  $GLOBALS[&amp;quot;DynPG&amp;quot;]-&amp;gt;SetParam_PlugIn_Param(&amp;#039;DPGdynmenu&amp;#039;, &amp;#039;href_page_groups&amp;#039;, &amp;#039;../folgeseite.php&amp;#039;);&lt;br /&gt;
  $GLOBALS[&amp;quot;DynPG&amp;quot;]-&amp;gt;SetParam_PlugIn_Param(&amp;#039;DPGdynmenu&amp;#039;, &amp;#039;href_page_articles&amp;#039;, &amp;#039;../folgeseite.php&amp;#039;);&lt;br /&gt;
  $GLOBALS[&amp;quot;DynPG&amp;quot;]-&amp;gt;SetParam_PlugIn_Param(&amp;#039;DPGdynmenu&amp;#039;, &amp;#039;href_page_detail&amp;#039;, &amp;#039;../folgeseite.php&amp;#039;);&lt;br /&gt;
  $GLOBALS[&amp;quot;DynPG&amp;quot;]-&amp;gt;SetParam_PlugIn_Param(&lt;br /&gt;
    &amp;#039;DPGdynmenu&amp;#039;,&lt;br /&gt;
    &amp;#039;href_subpages&amp;#039;,&lt;br /&gt;
    Array(&lt;br /&gt;
      0 =&amp;gt; Array(&lt;br /&gt;
        &amp;#039;page&amp;#039; =&amp;gt; &amp;#039;../formular.php{query}&amp;#039;,&lt;br /&gt;
        &amp;#039;successors&amp;#039; =&amp;gt; true&lt;br /&gt;
      ),&lt;br /&gt;
      21 =&amp;gt; Array(&lt;br /&gt;
        &amp;#039;page&amp;#039; =&amp;gt; &amp;#039;../blog.php{query}&amp;#039;,&lt;br /&gt;
        &amp;#039;successors&amp;#039; =&amp;gt; true&lt;br /&gt;
      ),&lt;br /&gt;
      15 =&amp;gt; Array(&lt;br /&gt;
        &amp;#039;page&amp;#039; =&amp;gt; &amp;#039;../sitemap.php{query}&amp;#039;,&lt;br /&gt;
        &amp;#039;successors&amp;#039; =&amp;gt; true&lt;br /&gt;
      ),&lt;br /&gt;
      16 =&amp;gt; Array(&lt;br /&gt;
        &amp;#039;page&amp;#039; =&amp;gt; &amp;#039;../veranstaltungen.php{query}&amp;#039;,&lt;br /&gt;
        &amp;#039;successors&amp;#039; =&amp;gt; true&lt;br /&gt;
      ),&lt;br /&gt;
      21 =&amp;gt; Array(&lt;br /&gt;
        &amp;#039;page&amp;#039; =&amp;gt; &amp;#039;../blog.php{query}&amp;#039;,&lt;br /&gt;
        &amp;#039;successors&amp;#039; =&amp;gt; true&lt;br /&gt;
      ),&lt;br /&gt;
      6 =&amp;gt; Array(&lt;br /&gt;
        &amp;#039;page&amp;#039; =&amp;gt; &amp;#039;../index.php{query}&amp;#039;,&lt;br /&gt;
        &amp;#039;successors&amp;#039; =&amp;gt; true&lt;br /&gt;
      )&lt;br /&gt;
    )&lt;br /&gt;
  );    &lt;br /&gt;
  $GLOBALS[&amp;quot;DynPG&amp;quot;]-&amp;gt;SetupTemplate(&amp;#039;uneditable&amp;#039;); &lt;br /&gt;
  $GLOBALS[&amp;quot;DynPG&amp;quot;]-&amp;gt;SetParam_A_Anytime(TRUE);&lt;br /&gt;
  $GLOBALS[&amp;quot;DynPG&amp;quot;]-&amp;gt;SetParam_A_CategoryNavigation(FALSE);&lt;br /&gt;
  $GLOBALS[&amp;quot;DynPG&amp;quot;]-&amp;gt;SetParam_A_PrintNavigation(FALSE);&lt;br /&gt;
  $GLOBALS[&amp;quot;DynPG&amp;quot;]-&amp;gt;SetParam_A_ArticleHeader(FALSE);&lt;br /&gt;
  $GLOBALS[&amp;quot;DynPG&amp;quot;]-&amp;gt;SetParam_A_Article(1);&lt;br /&gt;
&lt;br /&gt;
  $GLOBALS[&amp;quot;DynPG&amp;quot;]-&amp;gt;Write_Article();&lt;br /&gt;
  $GLOBALS[&amp;quot;DynPG&amp;quot;]-&amp;gt;SetupTemplate(&amp;#039;default&amp;#039;);  &lt;br /&gt;
?&amp;gt;&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Man kann nun in der &amp;lt;tt&amp;gt;index.php&amp;lt;/tt&amp;gt; mittels &lt;br /&gt;
&amp;lt;code&amp;gt;[php, N]&lt;br /&gt;
&amp;lt;?php include(&amp;quot;inc/navi.php&amp;quot;); ?&amp;gt;&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
die Navigation einbinden, ebenso z.B. auch in der &amp;lt;tt&amp;gt;folgeseite.php&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Die dynamische Navigation kann nun an verschiedenen Stellen angepasst werden. Neben den Globals in der PHP-Datei ([[#Globalsreferenz|Globalsreferenz]]) ist dies im Backend durch das Erstellen von Gruppen und Artikeln möglich ([[#Dynamische_Navigation_im_Backend|Dynamische Navigation im Backend]]). Erweiterte Möglichkeiten ergeben sich durch das [[#CSS|CSS]] und die [[#Templates|Templates]].&lt;br /&gt;
&lt;br /&gt;
==Die dynamische Navigation im Backend==&lt;br /&gt;
&lt;br /&gt;
Wie bereits erwähnt, bildet die dynamische Navigation die Gruppenstruktur des Backends auf einer Webseite ab. In der Musterwebsite 3 ist im Backend zum Beispiel folgende Gruppenstruktur zu erkennen:&lt;br /&gt;
[[Media:dynmenue08.PNG|Klick]].&lt;br /&gt;
Auf der Website sieht dies dann wie folgt aus:&lt;br /&gt;
[[Media:dynmenue09.PNG|Klick]]&lt;br /&gt;
oder auch&lt;br /&gt;
[[Media:dynmenue10.PNG|Klick]]&lt;br /&gt;
.&lt;br /&gt;
&lt;br /&gt;
Welche Untergruppen angezeigt werden, hängt zum einen davon ab, welcher Navigationspunkt gerade aktiv ist (also angeklickt wurde) und zum anderen von den benutzten Globals in der PHP-Datei ([[#Globalsreferenz|z.B. Parameter &amp;#039;full_load&amp;#039;]]) und den Einstellungen der Gruppe im Backend. &lt;br /&gt;
&lt;br /&gt;
Die Eigenschaftsseite der Gruppe erreicht man über einen Klick auf das Stiftsymbol&lt;br /&gt;
([[Media:dynmenue11.PNG|Klick]])&lt;br /&gt;
. Unter dem Punkt &amp;#039;&amp;#039;Veröffentlichen&amp;#039;&amp;#039;&lt;br /&gt;
([[Media:dynmenue12.PNG|Klick]])&lt;br /&gt;
wählt man nun eine Option aus: &lt;br /&gt;
:* &amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039;Ja&amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039;: die Gruppe wird auf der gesamten Website angezeigt, also auch in der dynamischen Navigation&lt;br /&gt;
:* &amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039;Nein&amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039;: die Gruppe wird auf der ganze Website nicht angezeigt, also weder in Gruppenliste noch in der dynamischen Navigation&lt;br /&gt;
:* &amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039;Ja, ohne Navigation&amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039;: die Gruppe wird zwar normal auf der Website angezeigt, jedoch in der dynamischen Navigation ausgeblendet&lt;br /&gt;
:* &amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039;Ja, ohne Subnavigation&amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039;: wie &amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039;Ja&amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039;, jedoch werden von diesem Menüpunkt in der dynamischen Navigation nur Untergruppen angezeigt, jedoch keine Artikel, die eventuell in dieser Gruppe liegen&lt;br /&gt;
&lt;br /&gt;
==Globalsreferenz==&lt;br /&gt;
===Globals direkt für das Plugin===&lt;br /&gt;
&amp;#039;&amp;#039;Die Parameter haben Default-Werte, müssen also nicht immer gesetzt werden&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
*&amp;#039;&amp;#039;&amp;#039;&amp;lt;tt&amp;gt;$GLOBALS[&amp;quot;DynPG&amp;quot;]-&amp;gt;SetParam_PlugIn_Template(&amp;#039;DPGdynmenu&amp;#039;, &amp;#039;TEMPLATEORDNER&amp;#039;);&amp;lt;/tt&amp;gt;:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
:Hiermit wählt man den Template-Ordner für die dynamische Navigation aus. Diese Template-Ordner liegen in &amp;lt;tt&amp;gt;dynpg/plugins/DPGdynmenu/templates&amp;lt;/tt&amp;gt;. Aus diesem Ordner wird die Template-Datei &amp;lt;tt&amp;gt;menu.tpl&amp;lt;/tt&amp;gt; zur Generierung des Menüs genommen. Dies ist unabhängig vom Global &amp;lt;tt&amp;gt;$GLOBALS[&amp;quot;DynPG&amp;quot;]-&amp;gt;SetupTemplate(...);&amp;lt;/tt&amp;gt;, der sozusagen das Template des Artikels bestimmt, welcher die dynamische Navigation enthält.&lt;br /&gt;
&lt;br /&gt;
*&amp;#039;&amp;#039;&amp;#039;&amp;lt;tt&amp;gt;$GLOBALS[&amp;quot;DynPG&amp;quot;]-&amp;gt;SetParam_PlugIn_Param(&amp;#039;DPGdynmenu&amp;#039;, PARAMETERNAME, PARAMETERWERT);&amp;lt;/tt&amp;gt;&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
:{| class=&amp;quot;dynpgwikitable&amp;quot;&lt;br /&gt;
! &amp;lt;tt&amp;gt;PARAMETERNAME&amp;lt;/tt&amp;gt; !! &amp;lt;tt&amp;gt;PARAMETERWERT&amp;lt;/tt&amp;gt; !! Beschreibung&lt;br /&gt;
|-&lt;br /&gt;
||&amp;lt;tt&amp;gt;&amp;#039;order&amp;#039;&amp;lt;/tt&amp;gt; || &amp;lt;tt&amp;gt;Array(&amp;#039;INDEX&amp;#039;)&amp;lt;/tt&amp;gt; oder &amp;lt;tt&amp;gt;Array(&amp;#039;NAME&amp;#039;)&amp;lt;/tt&amp;gt; || Reihenfolge der Gruppen in der Navigation nach Name oder im Backend gesetzten Index&lt;br /&gt;
|-&lt;br /&gt;
||&amp;lt;tt&amp;gt;&amp;#039;sort&amp;#039;&amp;lt;/tt&amp;gt; || &amp;lt;tt&amp;gt;Array(&amp;#039;ASC&amp;#039;)&amp;lt;/tt&amp;gt; oder &amp;lt;tt&amp;gt;Array(&amp;#039;DESC&amp;#039;)&amp;lt;/tt&amp;gt; || aufsteigende oder absteigende Sortierung&lt;br /&gt;
|-&lt;br /&gt;
||&amp;lt;tt&amp;gt;&amp;#039;order_articles&amp;#039;&amp;lt;/tt&amp;gt; || z.B. &amp;lt;tt&amp;gt;Array(&amp;#039;INDEX&amp;#039;)&amp;lt;/tt&amp;gt; || sortiert Artikel in der dynamischen Navigation (falls diese angezeigt werden) &lt;br /&gt;
|-&lt;br /&gt;
||&amp;lt;tt&amp;gt;&amp;#039;sort_articles&amp;#039;&amp;lt;/tt&amp;gt; || z.B. &amp;lt;tt&amp;gt;Array(&amp;#039;ASC&amp;#039;)&amp;lt;/tt&amp;gt; || bestimmt aufsteigende oder absteigende Sortierreihenfolge der Artikel&lt;br /&gt;
|-&lt;br /&gt;
||&amp;lt;tt&amp;gt;&amp;#039;href_page_groups&amp;#039;&amp;lt;/tt&amp;gt; || z.B. &amp;lt;tt&amp;gt;&amp;#039;../folgeseite.php&amp;#039;&amp;lt;/tt&amp;gt; || Seite auf die standardmäßig weiterverlinkt wird bei einem Klick auf den Gruppennamen, sofern die Gruppe Untergruppen hat. Wird dieser Parameter nicht angegeben, so wird auf die aktuelle PHP-Seite verlinkt. (ACHTUNG &amp;lt;tt&amp;gt;&amp;#039;../&amp;#039;&amp;lt;/tt&amp;gt; wichtig, siehe Ordnerstruktur weiter oben!)&lt;br /&gt;
|-&lt;br /&gt;
||&amp;lt;tt&amp;gt;&amp;#039;href_page_articles&amp;#039;&amp;lt;/tt&amp;gt; || z.B. &amp;lt;tt&amp;gt;&amp;#039;../folgeseite.php&amp;#039;&amp;lt;/tt&amp;gt; || Seite auf die standardmäßig weiterverlinkt wird bei einem Klick auf den Gruppennamen, sofern die Gruppe Artikel enthält. Wird dieser Parameter nicht angegeben, so wird auf die aktuelle PHP-Seite verlinkt. (ACHTUNG &amp;lt;tt&amp;gt;&amp;#039;../&amp;#039;&amp;lt;/tt&amp;gt; wichtig, siehe Ordnerstruktur weiter oben!)&lt;br /&gt;
|-&lt;br /&gt;
||&amp;lt;tt&amp;gt;&amp;#039;href_page_detail&amp;#039;&amp;lt;/tt&amp;gt; || z.B. &amp;lt;tt&amp;gt;&amp;#039;../folgeseite.php&amp;#039;&amp;lt;/tt&amp;gt; || Seite auf die standardmäßig weiterverlinkt wird bei einem Klick auf einen Artikelnamen. Wird dieser Parameter nicht angegeben, so wird auf die aktuelle PHP-Seite verlinkt. (ACHTUNG &amp;lt;tt&amp;gt;&amp;#039;../&amp;#039;&amp;lt;/tt&amp;gt; wichtig, siehe Ordnerstruktur weiter oben!)&lt;br /&gt;
|-&lt;br /&gt;
||&amp;lt;tt&amp;gt;&amp;#039;href_subpages&amp;#039;&amp;lt;/tt&amp;gt; || z.B. &amp;lt;pre&amp;gt;Array(&lt;br /&gt;
  GRUPPENNUMMER =&amp;gt; Array( &lt;br /&gt;
    &amp;#039;page&amp;#039; =&amp;gt; &amp;#039;PHP-SEITE{query}&amp;#039;,&lt;br /&gt;
    &amp;#039;successors&amp;#039; =&amp;gt; BOOLEAN&lt;br /&gt;
  ),&lt;br /&gt;
...&lt;br /&gt;
...&lt;br /&gt;
...&lt;br /&gt;
  GRUPPENNUMMER =&amp;gt; Array( &lt;br /&gt;
    &amp;#039;page&amp;#039; =&amp;gt; &amp;#039;PHP-SEITE{query}&amp;#039;,&lt;br /&gt;
    &amp;#039;successors&amp;#039; =&amp;gt; BOOLEAN&lt;br /&gt;
  ) &lt;br /&gt;
)&amp;lt;/pre&amp;gt; || Ermöglicht es, für bestimmte Gruppen auf eine spezielle &amp;lt;tt&amp;gt;PHP-SEITE&amp;lt;/tt&amp;gt; zu verlinken. Hierzu geben Sie anstatt &amp;lt;tt&amp;gt;GRUPPENNUMMER&amp;lt;/tt&amp;gt; die Gruppennummer der Gruppe aus dem Backend ein. Statt &amp;lt;tt&amp;gt;PHP-SEITE&amp;lt;/tt&amp;gt; fügen Sie den Namen und Pfad zur Zieldatei an, ausgehend vom Hauptverzeichnis des CMS!. Lassen Sie den Anhang &amp;lt;tt&amp;gt;{query}&amp;lt;/tt&amp;gt; genau so stehen, falls in die Zieldatei auch DynPG über Globals eingeben wurde. &amp;lt;tt&amp;gt;BOOLEAN&amp;lt;/tt&amp;gt; ersetzen Sie mit &amp;lt;tt&amp;gt;true&amp;lt;/tt&amp;gt; wenn für Untergruppen dieser Gruppe auch auf diese spezielle PHP-Seite verlink werden soll, ansonsten mit &amp;lt;tt&amp;gt;false&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Passen Sie auf, dass nach jedem &amp;lt;tt&amp;gt;GRUPPENNUMMER =&amp;gt; Array(...)&amp;lt;/tt&amp;gt; ein Komma notiert ist, allerdings nicht beim letzten.&lt;br /&gt;
|-&lt;br /&gt;
||&amp;lt;tt&amp;gt;&amp;#039;full_load&amp;#039;&amp;lt;/tt&amp;gt; || &amp;lt;tt&amp;gt;false&amp;lt;/tt&amp;gt; oder &amp;lt;tt&amp;gt;true&amp;lt;/tt&amp;gt; || zeigt unabhängig von angeklickten Gruppen den kompletten Navigationsbaum mit Untergruppen an (oder auch nicht)&lt;br /&gt;
|-&lt;br /&gt;
|| &amp;lt;tt&amp;gt;&amp;#039;full_load_articles&amp;#039;&amp;lt;/tt&amp;gt; || &amp;lt;tt&amp;gt;false&amp;lt;/tt&amp;gt; ||&lt;br /&gt;
|-&lt;br /&gt;
|| &amp;lt;tt&amp;gt;&amp;#039;limit_articles&amp;#039;&amp;lt;/tt&amp;gt; || &amp;lt;tt&amp;gt;false&amp;lt;/tt&amp;gt; oder eine Zahl || Sofern dieser Parameter eine Zahl als Wert erhält, bestimmt er die Anzahl der Artikel pro Gruppe, die in der dynamischen Navigation angezeigt werden, wenn eine Gruppe statt Untergruppen Artikel enthält.&lt;br /&gt;
|-&lt;br /&gt;
|| &amp;lt;tt&amp;gt;&amp;#039;expand_subtree&amp;#039;&amp;lt;/tt&amp;gt; || &amp;lt;tt&amp;gt;Array(4)&amp;lt;/tt&amp;gt; oder &amp;lt;tt&amp;gt;Array(4,5)&amp;lt;/tt&amp;gt; etc. || zeigt die Untergruppen von Gruppe 4 (bzw. 4 und 5) in jedem Fall an. Sei Gruppe 4 bspw. die Gruppe &amp;#039;&amp;#039;News&amp;#039;&amp;#039; des Backends, dann werden die beispielhaften Untergruppen &amp;#039;&amp;#039;Lokalnachrichten&amp;#039;&amp;#039; und &amp;#039;&amp;#039;Weltnachrichten&amp;#039;&amp;#039; immer zur Navigation angeboten, auch wenn sich ein Benutzer auf der Website gerade einen Artikel aus der Gruppe &amp;#039;&amp;#039;Kontakt&amp;#039;&amp;#039; anschaut&lt;br /&gt;
|- &lt;br /&gt;
|| &amp;lt;tt&amp;gt;&amp;#039;implode_subtree&amp;#039;&amp;lt;/tt&amp;gt; || &amp;lt;tt&amp;gt;Array(4)&amp;lt;/tt&amp;gt; oder &amp;lt;tt&amp;gt;Array(4,5)&amp;lt;/tt&amp;gt; etc. || zeigt die Untergruppen von Gruppe 4 (bzw. 4 und 5) in jedem Fall NICHT an. Anmerkung: der Parameter &amp;lt;tt&amp;gt;expand_subtree&amp;lt;/tt&amp;gt; überschreibt diese Einstellung! Ist also eine Gruppe in beiden Parametern aufgeführt, so werden die Untergruppen dieser Gruppe immer angezeigt, da der Parameter &amp;lt;tt&amp;gt;expand_subtree&amp;lt;/tt&amp;gt; wichtiger ist.&lt;br /&gt;
|-&lt;br /&gt;
|| &amp;lt;tt&amp;gt;&amp;#039;real_expand&amp;#039;&amp;lt;/tt&amp;gt; || &amp;lt;tt&amp;gt;false&amp;lt;/tt&amp;gt; oder &amp;lt;tt&amp;gt;true&amp;lt;/tt&amp;gt; || Verwenden Sie das Template &amp;#039;&amp;#039;intelligent&amp;#039;&amp;#039; für die dynamische Navigation, setzen Sie diesen Parameter auf &amp;lt;tt&amp;gt;true&amp;lt;/tt&amp;gt;, ansonsten auf &amp;lt;tt&amp;gt;false&amp;lt;/tt&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|| &amp;lt;tt&amp;gt;&amp;#039;parent_select&amp;#039;&amp;lt;/tt&amp;gt; || &amp;lt;tt&amp;gt;true&amp;lt;/tt&amp;gt; ||&lt;br /&gt;
|-&lt;br /&gt;
|| &amp;lt;tt&amp;gt;&amp;#039;max_depth&amp;#039;&amp;lt;/tt&amp;gt; || &amp;lt;tt&amp;gt;null&amp;lt;/tt&amp;gt; oder &amp;lt;tt&amp;gt;0&amp;lt;/tt&amp;gt; oder &amp;lt;tt&amp;gt;1&amp;lt;/tt&amp;gt; etc. || Tiefe bis zu der (Unter-)Gruppen angezeigt werden&lt;br /&gt;
|-&lt;br /&gt;
|| &amp;lt;tt&amp;gt;&amp;#039;min_depth&amp;#039;&amp;lt;/tt&amp;gt; || &amp;lt;tt&amp;gt;null&amp;lt;/tt&amp;gt; oder &amp;lt;tt&amp;gt;0&amp;lt;/tt&amp;gt; oder &amp;lt;tt&amp;gt;1&amp;lt;/tt&amp;gt; etc. || Tiefe, die eine Gruppe mindestens haben muss um angezeigt zu werden, z.B. 1 um oberste Ebene der Gruppen aus dem Backend auszublenden&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Sinnvolle Globals vom DynPG-CMS===&lt;br /&gt;
&lt;br /&gt;
Dies hier erklärt die Globals aus dem PHP-Code von [[Schritt 2: PHP-Datei für die dynamische Navigation erstellen|Schritt 2 des Punkts &amp;#039;&amp;#039;Einrichten&amp;#039;&amp;#039;]].&lt;br /&gt;
&lt;br /&gt;
*&amp;#039;&amp;#039;&amp;#039;&amp;lt;tt&amp;gt;$GLOBALS[&amp;quot;DynPG&amp;quot;]-&amp;gt;SetupTemplate(&amp;#039;uneditable&amp;#039;);&amp;lt;/tt&amp;gt; &amp;#039;&amp;#039;&amp;#039; : ermöglicht Navigation in der Seite obwohl Editiermodus im Backend angeschaltet ist&lt;br /&gt;
*&amp;#039;&amp;#039;&amp;#039;&amp;lt;tt&amp;gt;$GLOBALS[&amp;quot;DynPG&amp;quot;]-&amp;gt;SetParam_A_Anytime(TRUE);&amp;lt;/tt&amp;gt; &amp;#039;&amp;#039;&amp;#039; : Menü soll immer angezeigt werden&lt;br /&gt;
*&amp;#039;&amp;#039;&amp;#039;&amp;lt;tt&amp;gt;$GLOBALS[&amp;quot;DynPG&amp;quot;]-&amp;gt;SetParam_A_CategoryNavigation(FALSE);&amp;lt;/tt&amp;gt; &amp;#039;&amp;#039;&amp;#039; : keine weitere Navigation(Breadcrumb) anzeigen&lt;br /&gt;
*&amp;#039;&amp;#039;&amp;#039;&amp;lt;tt&amp;gt;$GLOBALS[&amp;quot;DynPG&amp;quot;]-&amp;gt;SetParam_A_PrintNavigation(FALSE);&amp;lt;/tt&amp;gt; &amp;#039;&amp;#039;&amp;#039; : kein Link zu Print-Seite anzeigen&lt;br /&gt;
*&amp;#039;&amp;#039;&amp;#039;&amp;lt;tt&amp;gt;$GLOBALS[&amp;quot;DynPG&amp;quot;]-&amp;gt;SetParam_A_ArticleHeader(FALSE);&amp;lt;/tt&amp;gt; &amp;#039;&amp;#039;&amp;#039; : keine Artikelüberschrift (des Artikels mit dem DynMenü-Platzhalter) und kein Artikelleadtext anzeigen&lt;br /&gt;
*&amp;#039;&amp;#039;&amp;#039;&amp;lt;tt&amp;gt;$GLOBALS[&amp;quot;DynPG&amp;quot;]-&amp;gt;SetParam_A_Article(1);&amp;lt;/tt&amp;gt; &amp;#039;&amp;#039;&amp;#039; : Artikel mit dem Dynmenü-Platzhalter setzen (&amp;#039;&amp;#039;&amp;#039;Hier die Artikelnummer aus [[#Einrichten|Einrichten]] einfügen!&amp;#039;&amp;#039;&amp;#039;)&lt;br /&gt;
*&amp;#039;&amp;#039;&amp;#039;&amp;lt;tt&amp;gt;$GLOBALS[&amp;quot;DynPG&amp;quot;]-&amp;gt;Write_Article();&amp;lt;/tt&amp;gt; &amp;#039;&amp;#039;&amp;#039; : Artikel ausgeben&lt;br /&gt;
*&amp;#039;&amp;#039;&amp;#039;&amp;lt;tt&amp;gt;$GLOBALS[&amp;quot;DynPG&amp;quot;]-&amp;gt;SetupTemplate(&amp;#039;default&amp;#039;);&amp;lt;/tt&amp;gt; &amp;#039;&amp;#039;&amp;#039; : andere Teile der Website haben sicherlich andere Templates. Wir setzen daher hier wieder auf das Standard-Template zurück&lt;br /&gt;
&lt;br /&gt;
==CSS==&lt;br /&gt;
Die CSS-Dateien für die dynamische Navigation liegen im Verzeichnis &amp;lt;tt&amp;gt;dynpg/plugins/DPGdynmenu/styles&amp;lt;/tt&amp;gt;. Die Datei &amp;lt;tt&amp;gt;menu.css&amp;lt;/tt&amp;gt; ist hierbei meist die ausschlaggebende, so zum Beispiel in der Navigation der Musterwebsite 3.&lt;br /&gt;
&lt;br /&gt;
Die CSS-Klassen und -Bezeichner aus dieser Datei sind nach einem bestimmten Schema benannt. Hat man dieses einmal verstanden, so lassen sich leicht Änderungen an speziellen Teilen des Erscheinungsbildes der dynamischen Navigation durchführen.&lt;br /&gt;
&lt;br /&gt;
Die dynamische Navigation wird von einem &amp;lt;tt&amp;gt;div&amp;lt;/tt&amp;gt;-Tag mit der Id &amp;lt;tt&amp;gt;course_categories_menu&amp;lt;/tt&amp;gt; umschlossen.&lt;br /&gt;
&lt;br /&gt;
Diese Angaben gelten also grundsätzlich für die gesamte dynamische Navigation und werden gegebenenfalls weitervererbt.&lt;br /&gt;
Im &amp;lt;tt&amp;gt;menu.css&amp;lt;/tt&amp;gt; der Muster-Website 3 steht beispielsweise:&lt;br /&gt;
&amp;lt;code&amp;gt;[css, N]&lt;br /&gt;
div#course_categories_menu {&lt;br /&gt;
  margin: 0;&lt;br /&gt;
  padding: 0;&lt;br /&gt;
  width: 180px;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Um zu verhindern, dass die CSS-Angaben dieser Datei auch auf andere Teile der Website Einfluss haben, ist vor allen anderen CSS-Definitionen der Datei ebenfalls &amp;lt;tt&amp;gt;div#course_categories_menu&amp;lt;/tt&amp;gt; notiert. Dadurch wirken sich die Angaben nur auf die dynamische Navigation aus.&lt;br /&gt;
&lt;br /&gt;
Innerhalb des &amp;lt;tt&amp;gt;course_categories_menu&amp;lt;/tt&amp;gt; - &amp;lt;tt&amp;gt;div&amp;lt;/tt&amp;gt; - Tags gibt es für jede Gruppe der obersten angezeigten Gruppenebene ein &amp;lt;div&amp;gt;-Tag mit der CSS-Id &amp;lt;tt&amp;gt;group_fold_NUMMER&amp;lt;/tt&amp;gt; wobei &amp;lt;tt&amp;gt;NUMMER&amp;lt;/tt&amp;gt; der Gruppennummer der Gruppe aus dem Backend entspricht. In der Navigation der Muster-Website 3 gibt es also folgende Tags:&lt;br /&gt;
&amp;lt;code&amp;gt;[html, N]&lt;br /&gt;
&amp;lt;div id=&amp;quot;course_categories_menu&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;div id=&amp;quot;group_fold_2&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;  &amp;lt;!--Produkte--&amp;gt;&lt;br /&gt;
  &amp;lt;div id=&amp;quot;group_fold_3&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;  &amp;lt;!--Support--&amp;gt;&lt;br /&gt;
  &amp;lt;div id=&amp;quot;group_fold_9&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;  &amp;lt;!--News--&amp;gt;&lt;br /&gt;
  &amp;lt;div id=&amp;quot;group_fold_4&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;  &amp;lt;!--Über uns--&amp;gt;&lt;br /&gt;
  &amp;lt;div id=&amp;quot;group_fold_5&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;  &amp;lt;!--Kontakt--&amp;gt;&lt;br /&gt;
  &amp;lt;div id=&amp;quot;group_fold_21&amp;quot;&amp;gt;&amp;lt;/div&amp;gt; &amp;lt;!--Blog--&amp;gt;&lt;br /&gt;
  &amp;lt;div id=&amp;quot;group_fold_15&amp;quot;&amp;gt;&amp;lt;/div&amp;gt; &amp;lt;!--Sitemap--&amp;gt;&lt;br /&gt;
  &amp;lt;div id=&amp;quot;group_fold_6&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;  &amp;lt;!--Home--&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
Möchte man nun Eigenschaften nur an einem bestimmten Teil der Navigation machen, so könnte man im CSS-File folgende Angabe machen:&lt;br /&gt;
&amp;lt;code&amp;gt;[css, N]&lt;br /&gt;
div#course_categories_menu div#group_fold_9 {&lt;br /&gt;
  text-decoration:blink;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
Damit würde der Text der Gruppe &amp;#039;&amp;#039;News&amp;#039;&amp;#039; (und eventueller Untergruppen) in der dynamischen Navigation blinken.&lt;br /&gt;
&lt;br /&gt;
Innerhalb der &amp;lt;tt&amp;gt;group_fold_NUMMER&amp;lt;/tt&amp;gt; - &amp;lt;tt&amp;gt;div&amp;lt;/tt&amp;gt; - Tags gibt es nun ein &amp;lt;tt&amp;gt;div&amp;lt;/tt&amp;gt; - Tag, dass (neben einer weiteren CSS-Id) eine CSS-Klasse hat. Diese CSS-Klasse wird nach folgendem Muster gebildet:&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;&amp;lt;tt&amp;gt;level_&amp;#039;&amp;#039;A&amp;#039;&amp;#039;_&amp;#039;&amp;#039;B&amp;#039;&amp;#039;_&amp;#039;&amp;#039;C&amp;#039;&amp;#039;_&amp;#039;&amp;#039;D&amp;#039;&amp;#039;_&amp;#039;&amp;#039;E&amp;#039;&amp;#039;&amp;lt;/tt&amp;gt;&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;dynpgwikitable&amp;quot;&lt;br /&gt;
! Buchstabe !! mögliche Werte !! Beschreibung&lt;br /&gt;
|-&lt;br /&gt;
|| &amp;lt;tt&amp;gt;&amp;#039;&amp;#039;A&amp;#039;&amp;#039;&amp;lt;/tt&amp;gt; || 0 oder 1 oder 2 etc. || gibt das Level der Gruppe an, also die Verzweigungstiefe in der sich die Navigation befindet&lt;br /&gt;
|-&lt;br /&gt;
|| &amp;lt;tt&amp;gt;&amp;#039;&amp;#039;B&amp;#039;&amp;#039;&amp;lt;/tt&amp;gt; || &amp;lt;tt&amp;gt;r&amp;lt;/tt&amp;gt; (nicht letzter), &amp;lt;tt&amp;gt;e&amp;lt;/tt&amp;gt; (letzter) || gibt an, ob nach dieser Gruppe noch weitere aufgelistet werden (z.B. in Musterwebsite 3 ist die Gruppe 6 &amp;quot;Home&amp;quot; die letzte des Menüs)&lt;br /&gt;
|-&lt;br /&gt;
|| &amp;lt;tt&amp;gt;&amp;#039;&amp;#039;C&amp;#039;&amp;#039;&amp;lt;/tt&amp;gt; ||  &amp;lt;tt&amp;gt;a&amp;lt;/tt&amp;gt; (ist aktiv), &amp;lt;tt&amp;gt;i&amp;lt;/tt&amp;gt; (ist nicht aktiv) || gibt an, ob die Gruppe aktiv ist, d.h. ob sie durch einen Klick ausgewählt wurde&lt;br /&gt;
|-&lt;br /&gt;
|| &amp;lt;tt&amp;gt;&amp;#039;&amp;#039;D&amp;#039;&amp;#039;&amp;lt;/tt&amp;gt; ||  &amp;lt;tt&amp;gt;exp&amp;lt;/tt&amp;gt; (ausgeklappt), cll(eingeklappt) || gibt an, ob die Untergruppen dieser Gruppe ausgeklappt sind oder nicht&lt;br /&gt;
|-&lt;br /&gt;
|| &amp;lt;tt&amp;gt;&amp;#039;&amp;#039;E&amp;#039;&amp;#039;&amp;lt;/tt&amp;gt; ||  &amp;lt;tt&amp;gt;_hover&amp;lt;/tt&amp;gt; (Mauszeiger ist über dem Element), nichts (Mauszeiger ist nicht über dem Element) || gibt an, ob sich der Mauszeiger über dem Gruppennamen befindet oder nicht&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Mithilfe dieses Schemas kann man nun bestimmen, welche CSS-Klassen man in der CSS-Datei angeben muss um bestimmte Effekte hervorzurufen.&lt;br /&gt;
Möchte man beispielsweise, dass alle Elemente der zweitobersten Ebene blinken, wenn der Mauszeiger über dem Element ist, so notiert man in der CSS-Datei:&lt;br /&gt;
&amp;lt;code&amp;gt;[css, N]&lt;br /&gt;
div#course_categories_menu div#level_1_r_a_exp_hover,&lt;br /&gt;
div#course_categories_menu div#level_1_r_a_cll_hover,&lt;br /&gt;
div#course_categories_menu div#level_1_r_i_exp_hover,&lt;br /&gt;
div#course_categories_menu div#level_1_r_i_cll_hover,&lt;br /&gt;
div#course_categories_menu div#level_1_e_a_exp_hover,&lt;br /&gt;
div#course_categories_menu div#level_1_e_a_cll_hover,&lt;br /&gt;
div#course_categories_menu div#level_1_e_i_exp_hover,&lt;br /&gt;
div#course_categories_menu div#level_1_e_i_cll_hover {&lt;br /&gt;
  text-decoration:blink;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Diese Struktur der &amp;lt;tt&amp;gt;div&amp;lt;/tt&amp;gt;-Tags wiederholt sich mit tieferen Gruppenebenen / Untergruppen. Zum Beispiel tauchen die &amp;lt;tt&amp;gt;div&amp;lt;/tt&amp;gt;-Tags der Untergruppen vom &amp;#039;&amp;#039;Über uns&amp;#039;&amp;#039;-Menüpunkt aus der Muster-Website 3 innerhalb des &amp;lt;tt&amp;gt;group_fold_4&amp;lt;/tt&amp;gt; - &amp;lt;tt&amp;gt;div&amp;lt;/tt&amp;gt; - Tags auf.&lt;br /&gt;
&lt;br /&gt;
Weitere Informationen über die CSS-Klassen kann man schnell erhalten, indem man sich den HTML-Code eines generierten dynamischen Menüs anschaut, zum Beispiel aus der Muster-Website 3.&lt;br /&gt;
&lt;br /&gt;
==Templates==&lt;br /&gt;
Diese Templates liegen im Ordner &amp;lt;tt&amp;gt;dynpg/plugins/DPGdynmenu/templates&amp;lt;/tt&amp;gt;. Hier finden sie Ordner, die jeweils eine &amp;lt;tt&amp;gt;menu.tpl&amp;lt;/tt&amp;gt; enthalten. Welcher dieser Ordner aktiv ist, bestimmen Sie durch das Global &amp;lt;tt&amp;gt;$GLOBALS[&amp;quot;DynPG&amp;quot;]-&amp;gt;SetParam_PlugIn_Template(&amp;#039;DPGdynmenu&amp;#039;, &amp;#039;TEMPLATEORDNER&amp;#039;);&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Die Templates dienen als Vorlage für die Generierung des HTML-Codes der dynamischen Navigation. In ihnen werden auch die CSS-Klassen definiert, welche in [[#CSS|CSS]] erklärt wurden. Außerdem finden hier Templateplatzhalter der Form &amp;lt;tt&amp;gt;&amp;lt;nowiki&amp;gt;{$PLATZHALTER}&amp;lt;/nowiki&amp;gt;&amp;lt;/tt&amp;gt; Verwendung, die DynPG dynamisch durch Inhalt ersetzt.&lt;br /&gt;
&lt;br /&gt;
Das Template &amp;#039;&amp;#039;horizontal&amp;#039;&amp;#039; der Musterwebsite 3 generiert beispielsweise ein horizontales Menü, während das Template &amp;#039;&amp;#039;intelligent&amp;#039;&amp;#039; ein vertikales Menü erzeugt.&lt;br /&gt;
&lt;br /&gt;
Modifikationen an den Templates sind recht komplex. Sollten Sie vorhaben hier Änderungen durchzuführen, wenden Sie sich an das DynPG-Forum.&lt;br /&gt;
&lt;br /&gt;
==Feste Links einbauen==&lt;br /&gt;
&lt;br /&gt;
Hierzu erstellt man im Backend eine Gruppe mit dem Namen des festen Links und merkt sich die Gruppennummer. Mittels des Plugin-Parameters &amp;lt;tt&amp;gt;&amp;#039;href_subpages&amp;#039;&amp;lt;/tt&amp;gt; setzt man für diese Gruppennummer nun als Ziel die Datei &amp;lt;tt&amp;gt;counter.php&amp;lt;/tt&amp;gt; fest und übergibt dieser als Parameter das feste Linkziel. Beispiel: Wir wollen einen Link auf die Google-Webseite setzen. Also erstellen wir im Backend eine Gruppe mit dem Namen &amp;#039;&amp;#039;Google-Websuche&amp;#039;&amp;#039; und notieren die Gruppennummer (z.B. 33). In die PHP-Datei unserer dynamischen Navigation fügen wir nun folgendes ein:&lt;br /&gt;
&amp;lt;code&amp;gt;[php, N]&lt;br /&gt;
$GLOBALS[&amp;quot;DynPG&amp;quot;]-&amp;gt;SetParam_PlugIn_Param(&lt;br /&gt;
  &amp;#039;DPGdynmenu&amp;#039;,&lt;br /&gt;
  &amp;#039;href_subpages&amp;#039;,&lt;br /&gt;
  Array(&lt;br /&gt;
	33 =&amp;gt; Array(&lt;br /&gt;
      &amp;#039;page&amp;#039; =&amp;gt; &amp;#039;counter.php?inc=http://www.google.com&amp;#039;,&lt;br /&gt;
      &amp;#039;successors&amp;#039; =&amp;gt; true&lt;br /&gt;
    )		&lt;br /&gt;
  )&lt;br /&gt;
);&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Mehrsprachiges Menü==&lt;br /&gt;
&lt;br /&gt;
Hierzu gibt es einen Thread in unserem Forum unter [http://www.dynpg.ch/dynpg-forum.php?t=&amp;amp;read_group=30&amp;amp;thread_id=47&amp;amp;tt=Sprachwechsel]. Die grundsätzliche Idee ist (bei zwei Sprachen) zwei Gruppenbäume im Backend aufzubauen. Die oberste Gruppe des ersten Baumes wäre beispielsweise die Gruppe &amp;#039;&amp;#039;Deutsch&amp;#039;&amp;#039;, die oberste Gruppe des zweiten Baumes wäre zum Beispiel &amp;#039;&amp;#039;English&amp;#039;&amp;#039;.&lt;br /&gt;
&lt;br /&gt;
In der zweiten Ebene kommen dann unter &amp;#039;&amp;#039;Deutsch&amp;#039;&amp;#039; bzw. &amp;#039;&amp;#039;English&amp;#039;&amp;#039; Untergruppen wie &amp;#039;&amp;#039;News&amp;#039;&amp;#039;/&amp;#039;&amp;#039;Nachrichten&amp;#039;&amp;#039;, &amp;#039;&amp;#039;Produkte&amp;#039;&amp;#039;/&amp;#039;&amp;#039;Products&amp;#039;&amp;#039;, &amp;#039;&amp;#039;Hilfe&amp;#039;&amp;#039;/&amp;#039;&amp;#039;Support&amp;#039;&amp;#039; und so weiter. Man erstellt sich nun zwei PHP-Dateien (&amp;lt;tt&amp;gt;navi_de.php&amp;lt;/tt&amp;gt;, &amp;lt;tt&amp;gt;navi_en.php&amp;lt;/tt&amp;gt;) wie oben beschrieben [[#Einrichten|Einrichten]]. In diesen wird dann mit den Befehlen aus [[#Globalsreferenz|Globalsreferenz]] der jeweils nicht passende Baum ausgeblendet.&lt;br /&gt;
&lt;br /&gt;
==Siehe auch==&lt;br /&gt;
*[[Sitemap-Tutorial]]&lt;br /&gt;
*[[Implementation eines kompletten Hauptmenüs]]&lt;br /&gt;
*[[Code-Schnipsel Einfaches Hauptmenü]]&lt;br /&gt;
*[[Code-Schnipsel Menüeinträge sortieren]]&lt;br /&gt;
*[[Snippet-Beispiele]]&lt;/div&gt;</summary>
		<author><name>Sebastian</name></author>	</entry>

	<entry>
		<id>https://wiki-en.dynpg.org/wiki_de/index.php?title=Dynamische_Navigation</id>
		<title>Dynamische Navigation</title>
		<link rel="alternate" type="text/html" href="https://wiki-en.dynpg.org/wiki_de/index.php?title=Dynamische_Navigation"/>
				<updated>2009-08-17T16:05:02Z</updated>
		
		<summary type="html">&lt;p&gt;Sebastian: /* Globals direkt für das Plugin */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Kategorie:Module]]&lt;br /&gt;
==Beschreibung==&lt;br /&gt;
Die dynamische Navigation ist Bestandteil des kostenlosen Grundmoduls von DynPG und bereits im Standard-DynPG integriert. Es ist keine separate Installation notwendig. Sie ermöglicht es Ihnen einfach und flexibel Navigationen auf Ihrer Homepage zu erstellen. Die Anwendungsmöglichkeiten gestalten sich dabei flexibel als normales Menü oder auch als Sitemap.&lt;br /&gt;
&lt;br /&gt;
Ein dynamisches Menü bildet die Gruppenstruktur im Backend, also die Abfolge von Gruppen, Untergruppen und Artikeln in einer Gruppe, als Menü ab, macht also die logische Struktur ihrer Artikel aus dem Backend auf einer Webseite sichtbar und navigierbar. &lt;br /&gt;
&lt;br /&gt;
Der Vorteil ist, dass man im Backend neue Gruppen o.ä. erstellt und diese dann im Hauptmenü erscheinen. Dies ist auch bei Untergruppen nützlich,&lt;br /&gt;
z.B. wenn eine neue Untergruppe &amp;#039;&amp;#039;Lokalnachrichten&amp;#039;&amp;#039; zur Hauptgruppe &amp;#039;&amp;#039;News&amp;#039;&amp;#039; hinzukommt.&lt;br /&gt;
&lt;br /&gt;
Zum Verständnis der Funktionsvielfalt der dynamischen Navigation ist es hilfreich, einmal eine der [[Muster-Web-Sites|Musterwebsites]] zu installieren und in den entsprechenden Dateien der Musterwebsite die unten erklärten Einstellungsmöglichkeiten nachzuvollziehen und vielleicht auch einmal mit den Optionen herumzuspielen.&lt;br /&gt;
&lt;br /&gt;
==Einrichten==&lt;br /&gt;
&amp;#039;&amp;#039;Anmerkung: Benutzen sie die [[Muster-Web-Sites|Musterwebsites]], so müssen die nachfolgenden zwei Schritte nicht ausgeführt werden, da die dynamische Navigation bereits in den Musterwebsites genutzt wird&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
===Schritt 1: Artikel erstellen mit Platzhalter für die dynamische Navigation===&lt;br /&gt;
Wählen Sie im Menü des Backends &amp;#039;&amp;#039;Gruppen&amp;#039;&amp;#039; aus [[Media:dynmenue01.png|Klick]]. Suchen Sie sich nun eine Gruppe, in der Sie einen Artikel erfassen wollen. Hier wählen wir (die in diesem Falle schon vorhandene) Gruppe &amp;#039;&amp;#039;Startseite/Navigation/Formular&amp;#039;&amp;#039; durch Klick auf ihren Namen aus [[Media:dynmenue02.png|Klick]].&lt;br /&gt;
&lt;br /&gt;
Mit einem Klick auf &amp;#039;&amp;#039;Artikel Formular anzeigen&amp;#039;&amp;#039; [[Media:dynmenue03.PNG|Klick]] und danach auf &amp;#039;&amp;#039;Inhalt bearbeiten&amp;#039;&amp;#039; [[Media:dynmenue04.PNG|Klick]] erscheint der Editor.&lt;br /&gt;
&lt;br /&gt;
In diesem wählen Sie das Symbol für die dynamische Navigation [[Media:dynmenue05.PNG|Klick]], geben noch einen Titel, etwa &amp;#039;&amp;#039;Neue Seitennavigation&amp;#039;&amp;#039;, ein und bestätigen mit einem Klick auf &amp;#039;&amp;#039;Erstellen&amp;#039;&amp;#039; [[Media:dynmenue06.PNG|Klick]]. &lt;br /&gt;
&lt;br /&gt;
Hat alles geklappt, können Sie im unteren Teil der Seite den neuen Artikel sehen [[Media:dynmenue07.PNG|Klick]]. Die Nummer des Artikels benötigen Sie erneut, wenn Sie in eine PHP-Datei mittels eines Globals die dynamische Navigation einbinden.&lt;br /&gt;
&lt;br /&gt;
===Schritt 2: PHP-Datei für die dynamische Navigation erstellen===&lt;br /&gt;
Folgende Ordner-Struktur könnte bei Ihnen vorliegen:&lt;br /&gt;
:*&amp;lt;tt&amp;gt;http-docs/dynpg&amp;lt;/tt&amp;gt; : hier liegt das DynPG-CMS&lt;br /&gt;
:*&amp;lt;tt&amp;gt;http-docs/index.php&amp;lt;/tt&amp;gt; : die Hauptseite Ihrer Website&lt;br /&gt;
:*&amp;lt;tt&amp;gt;http-docs/folgeseite.php&amp;lt;/tt&amp;gt; : eine andere PHP-Datei der Website&lt;br /&gt;
:*&amp;lt;tt&amp;gt;http-docs/inc/navi.php&amp;lt;/tt&amp;gt; : In diese Datei platziert man häufig den Code für die Navigation, dadurch ist er leichter wiederverwendbar&lt;br /&gt;
&lt;br /&gt;
Den nötigen Code der &amp;lt;tt&amp;gt;inc/navi.php&amp;lt;/tt&amp;gt; kann man anhand der [[Muster-Web-Sites|Musterwebsites]] nachvollziehen (Für eine genauere Erklärung der einzelnen verwendeten Globals siehe die [[Funktionsreferenz/Globals|Globals-Übersicht von DynPG]] und weiter unten die [[#Globalsreferenz|Funktionsübersicht der dynamischen Navigation]]) :&lt;br /&gt;
:*&amp;#039;&amp;#039;&amp;#039;&amp;lt;tt&amp;gt;inc/navi.php&amp;lt;/tt&amp;gt;:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;code&amp;gt;[php, N]&lt;br /&gt;
&amp;lt;?php&lt;br /&gt;
  $GLOBALS[&amp;quot;DynPG&amp;quot;]-&amp;gt;SetParam_PlugIn_Template(&amp;#039;DPGdynmenu&amp;#039;, &amp;#039;intelligent&amp;#039;);&lt;br /&gt;
  $GLOBALS[&amp;quot;DynPG&amp;quot;]-&amp;gt;SetParam_PlugIn_Param(&amp;#039;DPGdynmenu&amp;#039;, &amp;#039;real_expand&amp;#039;, TRUE);&lt;br /&gt;
  $GLOBALS[&amp;quot;DynPG&amp;quot;]-&amp;gt;SetParam_PlugIn_Param(&amp;#039;DPGdynmenu&amp;#039;, &amp;#039;order&amp;#039;, Array(&amp;#039;INDEX&amp;#039;));&lt;br /&gt;
  $GLOBALS[&amp;quot;DynPG&amp;quot;]-&amp;gt;SetParam_PlugIn_Param(&amp;#039;DPGdynmenu&amp;#039;, &amp;#039;sort&amp;#039;, Array(&amp;#039;ASC&amp;#039;));&lt;br /&gt;
  $GLOBALS[&amp;quot;DynPG&amp;quot;]-&amp;gt;SetParam_PlugIn_Param(&amp;#039;DPGdynmenu&amp;#039;, &amp;#039;href_page_groups&amp;#039;, &amp;#039;../folgeseite.php&amp;#039;);&lt;br /&gt;
  $GLOBALS[&amp;quot;DynPG&amp;quot;]-&amp;gt;SetParam_PlugIn_Param(&amp;#039;DPGdynmenu&amp;#039;, &amp;#039;href_page_articles&amp;#039;, &amp;#039;../folgeseite.php&amp;#039;);&lt;br /&gt;
  $GLOBALS[&amp;quot;DynPG&amp;quot;]-&amp;gt;SetParam_PlugIn_Param(&amp;#039;DPGdynmenu&amp;#039;, &amp;#039;href_page_detail&amp;#039;, &amp;#039;../folgeseite.php&amp;#039;);&lt;br /&gt;
  $GLOBALS[&amp;quot;DynPG&amp;quot;]-&amp;gt;SetParam_PlugIn_Param(&lt;br /&gt;
    &amp;#039;DPGdynmenu&amp;#039;,&lt;br /&gt;
    &amp;#039;href_subpages&amp;#039;,&lt;br /&gt;
    Array(&lt;br /&gt;
      0 =&amp;gt; Array(&lt;br /&gt;
        &amp;#039;page&amp;#039; =&amp;gt; &amp;#039;../formular.php{query}&amp;#039;,&lt;br /&gt;
        &amp;#039;successors&amp;#039; =&amp;gt; true&lt;br /&gt;
      ),&lt;br /&gt;
      21 =&amp;gt; Array(&lt;br /&gt;
        &amp;#039;page&amp;#039; =&amp;gt; &amp;#039;../blog.php{query}&amp;#039;,&lt;br /&gt;
        &amp;#039;successors&amp;#039; =&amp;gt; true&lt;br /&gt;
      ),&lt;br /&gt;
      15 =&amp;gt; Array(&lt;br /&gt;
        &amp;#039;page&amp;#039; =&amp;gt; &amp;#039;../sitemap.php{query}&amp;#039;,&lt;br /&gt;
        &amp;#039;successors&amp;#039; =&amp;gt; true&lt;br /&gt;
      ),&lt;br /&gt;
      16 =&amp;gt; Array(&lt;br /&gt;
        &amp;#039;page&amp;#039; =&amp;gt; &amp;#039;../veranstaltungen.php{query}&amp;#039;,&lt;br /&gt;
        &amp;#039;successors&amp;#039; =&amp;gt; true&lt;br /&gt;
      ),&lt;br /&gt;
      21 =&amp;gt; Array(&lt;br /&gt;
        &amp;#039;page&amp;#039; =&amp;gt; &amp;#039;../blog.php{query}&amp;#039;,&lt;br /&gt;
        &amp;#039;successors&amp;#039; =&amp;gt; true&lt;br /&gt;
      ),&lt;br /&gt;
      6 =&amp;gt; Array(&lt;br /&gt;
        &amp;#039;page&amp;#039; =&amp;gt; &amp;#039;../index.php{query}&amp;#039;,&lt;br /&gt;
        &amp;#039;successors&amp;#039; =&amp;gt; true&lt;br /&gt;
      )&lt;br /&gt;
    )&lt;br /&gt;
  );    &lt;br /&gt;
  $GLOBALS[&amp;quot;DynPG&amp;quot;]-&amp;gt;SetupTemplate(&amp;#039;uneditable&amp;#039;); &lt;br /&gt;
  $GLOBALS[&amp;quot;DynPG&amp;quot;]-&amp;gt;SetParam_A_Anytime(TRUE);&lt;br /&gt;
  $GLOBALS[&amp;quot;DynPG&amp;quot;]-&amp;gt;SetParam_A_CategoryNavigation(FALSE);&lt;br /&gt;
  $GLOBALS[&amp;quot;DynPG&amp;quot;]-&amp;gt;SetParam_A_PrintNavigation(FALSE);&lt;br /&gt;
  $GLOBALS[&amp;quot;DynPG&amp;quot;]-&amp;gt;SetParam_A_ArticleHeader(FALSE);&lt;br /&gt;
  $GLOBALS[&amp;quot;DynPG&amp;quot;]-&amp;gt;SetParam_A_Article(1);&lt;br /&gt;
&lt;br /&gt;
  $GLOBALS[&amp;quot;DynPG&amp;quot;]-&amp;gt;Write_Article();&lt;br /&gt;
  $GLOBALS[&amp;quot;DynPG&amp;quot;]-&amp;gt;SetupTemplate(&amp;#039;default&amp;#039;);  &lt;br /&gt;
?&amp;gt;&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Man kann nun in der &amp;lt;tt&amp;gt;index.php&amp;lt;/tt&amp;gt; mittels &lt;br /&gt;
&amp;lt;code&amp;gt;[php, N]&lt;br /&gt;
&amp;lt;?php include(&amp;quot;inc/navi.php&amp;quot;); ?&amp;gt;&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
die Navigation einbinden, ebenso z.B. auch in der &amp;lt;tt&amp;gt;folgeseite.php&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Die dynamische Navigation kann nun an verschiedenen Stellen angepasst werden. Neben den Globals in der PHP-Datei ([[#Globalsreferenz|Globalsreferenz]]) ist dies im Backend durch das Erstellen von Gruppen und Artikeln möglich ([[#Dynamische_Navigation_im_Backend|Dynamische Navigation im Backend]]). Erweiterte Möglichkeiten ergeben sich durch das [[#CSS|CSS]] und die [[#Templates|Templates]].&lt;br /&gt;
&lt;br /&gt;
==Die dynamische Navigation im Backend==&lt;br /&gt;
&lt;br /&gt;
Wie bereits erwähnt, bildet die dynamische Navigation die Gruppenstruktur des Backends auf einer Webseite ab. In der Musterwebsite 3 ist im Backend zum Beispiel folgende Gruppenstruktur zu erkennen:&lt;br /&gt;
[[Media:dynmenue08.PNG|Klick]].&lt;br /&gt;
Auf der Website sieht dies dann wie folgt aus:&lt;br /&gt;
[[Media:dynmenue09.PNG|Klick]]&lt;br /&gt;
oder auch&lt;br /&gt;
[[Media:dynmenue10.PNG|Klick]]&lt;br /&gt;
.&lt;br /&gt;
&lt;br /&gt;
Welche Untergruppen angezeigt werden, hängt zum einen davon ab, welcher Navigationspunkt gerade aktiv ist (also angeklickt wurde) und zum anderen von den benutzten Globals in der PHP-Datei ([[#Globalsreferenz|z.B. Parameter &amp;#039;full_load&amp;#039;]]) und den Einstellungen der Gruppe im Backend. &lt;br /&gt;
&lt;br /&gt;
Die Eigenschaftsseite der Gruppe erreicht man über einen Klick auf das Stiftsymbol&lt;br /&gt;
([[Media:dynmenue11.PNG|Klick]])&lt;br /&gt;
. Unter dem Punkt &amp;#039;&amp;#039;Veröffentlichen&amp;#039;&amp;#039;&lt;br /&gt;
([[Media:dynmenue12.PNG|Klick]])&lt;br /&gt;
wählt man nun eine Option aus: &lt;br /&gt;
:* &amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039;Ja&amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039;: die Gruppe wird auf der gesamten Website angezeigt, also auch in der dynamischen Navigation&lt;br /&gt;
:* &amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039;Nein&amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039;: die Gruppe wird auf der ganze Website nicht angezeigt, also weder in Gruppenliste noch in der dynamischen Navigation&lt;br /&gt;
:* &amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039;Ja, ohne Navigation&amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039;: die Gruppe wird zwar normal auf der Website angezeigt, jedoch in der dynamischen Navigation ausgeblendet&lt;br /&gt;
:* &amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039;Ja, ohne Subnavigation&amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039;: wie &amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039;Ja&amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039;, jedoch werden von diesem Menüpunkt in der dynamischen Navigation nur Untergruppen angezeigt, jedoch keine Artikel, die eventuell in dieser Gruppe liegen&lt;br /&gt;
&lt;br /&gt;
==Globalsreferenz==&lt;br /&gt;
===Globals direkt für das Plugin===&lt;br /&gt;
&amp;#039;&amp;#039;Die Parameter haben Default-Werte, müssen also nicht immer gesetzt werden&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
*&amp;#039;&amp;#039;&amp;#039;&amp;lt;tt&amp;gt;$GLOBALS[&amp;quot;DynPG&amp;quot;]-&amp;gt;SetParam_PlugIn_Template(&amp;#039;DPGdynmenu&amp;#039;, &amp;#039;TEMPLATEORDNER&amp;#039;);&amp;lt;/tt&amp;gt;:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
:Hiermit wählt man den Template-Ordner für die dynamische Navigation aus. Diese Template-Ordner liegen in &amp;lt;tt&amp;gt;dynpg/plugins/DPGdynmenu/templates&amp;lt;/tt&amp;gt;. Aus diesem Ordner wird die Template-Datei &amp;lt;tt&amp;gt;menu.tpl&amp;lt;/tt&amp;gt; zur Generierung des Menüs genommen. Dies ist unabhängig vom Global &amp;lt;tt&amp;gt;$GLOBALS[&amp;quot;DynPG&amp;quot;]-&amp;gt;SetupTemplate(...);&amp;lt;/tt&amp;gt;, der sozusagen das Template des Artikels bestimmt, welcher die dynamische Navigation enthält.&lt;br /&gt;
&lt;br /&gt;
*&amp;#039;&amp;#039;&amp;#039;&amp;lt;tt&amp;gt;$GLOBALS[&amp;quot;DynPG&amp;quot;]-&amp;gt;SetParam_PlugIn_Param(&amp;#039;DPGdynmenu&amp;#039;, PARAMETERNAME, PARAMETERWERT);&amp;lt;/tt&amp;gt;&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
:{| class=&amp;quot;dynpgwikitable&amp;quot;&lt;br /&gt;
! &amp;lt;tt&amp;gt;PARAMETERNAME&amp;lt;/tt&amp;gt; !! &amp;lt;tt&amp;gt;PARAMETERWERT&amp;lt;/tt&amp;gt; !! Beschreibung&lt;br /&gt;
|-&lt;br /&gt;
||&amp;lt;tt&amp;gt;&amp;#039;order&amp;#039;&amp;lt;/tt&amp;gt; || &amp;lt;tt&amp;gt;Array(&amp;#039;INDEX&amp;#039;)&amp;lt;/tt&amp;gt; oder &amp;lt;tt&amp;gt;Array(&amp;#039;NAME&amp;#039;)&amp;lt;/tt&amp;gt; || Reihenfolge der Gruppen in der Navigation nach Name oder im Backend gesetzten Index&lt;br /&gt;
|-&lt;br /&gt;
||&amp;lt;tt&amp;gt;&amp;#039;sort&amp;#039;&amp;lt;/tt&amp;gt; || &amp;lt;tt&amp;gt;Array(&amp;#039;ASC&amp;#039;)&amp;lt;/tt&amp;gt; oder &amp;lt;tt&amp;gt;Array(&amp;#039;DESC&amp;#039;)&amp;lt;/tt&amp;gt; || aufsteigende oder absteigende Sortierung&lt;br /&gt;
|-&lt;br /&gt;
||&amp;lt;tt&amp;gt;&amp;#039;order_articles&amp;#039;&amp;lt;/tt&amp;gt; || z.B. &amp;lt;tt&amp;gt;Array(&amp;#039;INDEX&amp;#039;)&amp;lt;/tt&amp;gt; || sortiert Artikel in der dynamischen Navigation (falls diese angezeigt werden) &lt;br /&gt;
|-&lt;br /&gt;
||&amp;lt;tt&amp;gt;&amp;#039;sort_articles&amp;#039;&amp;lt;/tt&amp;gt; || z.B. &amp;lt;tt&amp;gt;Array(&amp;#039;ASC&amp;#039;)&amp;lt;/tt&amp;gt; || bestimmt aufsteigende oder absteigende Sortierreihenfolge der Artikel&lt;br /&gt;
|-&lt;br /&gt;
||&amp;lt;tt&amp;gt;&amp;#039;href_page_groups&amp;#039;&amp;lt;/tt&amp;gt; || z.B. &amp;lt;tt&amp;gt;&amp;#039;../folgeseite.php&amp;#039;&amp;lt;/tt&amp;gt; || Seite auf die standardmäßig weiterverlinkt wird bei einem Klick auf den Gruppennamen, sofern die Gruppe Untergruppen hat. Wird dieser Parameter nicht angegeben, so wird auf die aktuelle PHP-Seite verlinkt. (ACHTUNG &amp;lt;tt&amp;gt;&amp;#039;../&amp;#039;&amp;lt;/tt&amp;gt; wichtig, siehe Ordnerstruktur weiter oben!)&lt;br /&gt;
|-&lt;br /&gt;
||&amp;lt;tt&amp;gt;&amp;#039;href_page_articles&amp;#039;&amp;lt;/tt&amp;gt; || z.B. &amp;lt;tt&amp;gt;&amp;#039;../folgeseite.php&amp;#039;&amp;lt;/tt&amp;gt; || Seite auf die standardmäßig weiterverlinkt wird bei einem Klick auf den Gruppennamen, sofern die Gruppe Artikel enthält. Wird dieser Parameter nicht angegeben, so wird auf die aktuelle PHP-Seite verlinkt. (ACHTUNG &amp;lt;tt&amp;gt;&amp;#039;../&amp;#039;&amp;lt;/tt&amp;gt; wichtig, siehe Ordnerstruktur weiter oben!)&lt;br /&gt;
|-&lt;br /&gt;
||&amp;lt;tt&amp;gt;&amp;#039;href_page_detail&amp;#039;&amp;lt;/tt&amp;gt; || z.B. &amp;lt;tt&amp;gt;&amp;#039;../folgeseite.php&amp;#039;&amp;lt;/tt&amp;gt; || Seite auf die standardmäßig weiterverlinkt wird bei einem Klick auf einen Artikelnamen. Wird dieser Parameter nicht angegeben, so wird auf die aktuelle PHP-Seite verlinkt. (ACHTUNG &amp;lt;tt&amp;gt;&amp;#039;../&amp;#039;&amp;lt;/tt&amp;gt; wichtig, siehe Ordnerstruktur weiter oben!)&lt;br /&gt;
|-&lt;br /&gt;
||&amp;lt;tt&amp;gt;&amp;#039;href_subpages&amp;#039;&amp;lt;/tt&amp;gt; || z.B. &amp;lt;pre&amp;gt;Array(&lt;br /&gt;
  GRUPPENNUMMER =&amp;gt; Array( &lt;br /&gt;
    &amp;#039;page&amp;#039; =&amp;gt; &amp;#039;PHP-SEITE{query}&amp;#039;,&lt;br /&gt;
    &amp;#039;successors&amp;#039; =&amp;gt; BOOLEAN&lt;br /&gt;
  ),&lt;br /&gt;
...&lt;br /&gt;
...&lt;br /&gt;
...&lt;br /&gt;
  GRUPPENNUMMER =&amp;gt; Array( &lt;br /&gt;
    &amp;#039;page&amp;#039; =&amp;gt; &amp;#039;PHP-SEITE{query}&amp;#039;,&lt;br /&gt;
    &amp;#039;successors&amp;#039; =&amp;gt; BOOLEAN&lt;br /&gt;
  ) &lt;br /&gt;
)&amp;lt;/pre&amp;gt; || Ermöglicht es, für bestimmte Gruppen auf eine spezielle &amp;lt;tt&amp;gt;PHP-SEITE&amp;lt;/tt&amp;gt; zu verlinken. Hierzu geben Sie anstatt &amp;lt;tt&amp;gt;GRUPPENNUMMER&amp;lt;/tt&amp;gt; die Gruppennummer der Gruppe aus dem Backend ein. Statt &amp;lt;tt&amp;gt;PHP-SEITE&amp;lt;/tt&amp;gt; fügen Sie den Namen und Pfad zur Zieldatei an, ausgehend vom Hauptverzeichnis des CMS!. Lassen Sie den Anhang &amp;lt;tt&amp;gt;{query}&amp;lt;/tt&amp;gt; genau so stehen, falls in die Zieldatei auch DynPG über Globals eingeben wurde. &amp;lt;tt&amp;gt;BOOLEAN&amp;lt;/tt&amp;gt; ersetzen Sie mit &amp;lt;tt&amp;gt;true&amp;lt;/tt&amp;gt; wenn für Untergruppen dieser Gruppe auch auf diese spezielle PHP-Seite verlink werden soll, ansonsten mit &amp;lt;tt&amp;gt;false&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Passen Sie auf, dass nach jedem &amp;lt;tt&amp;gt;GRUPPENNUMMER =&amp;gt; Array(...)&amp;lt;/tt&amp;gt; ein Komma notiert ist, allerdings nicht beim letzten.&lt;br /&gt;
|-&lt;br /&gt;
||&amp;lt;tt&amp;gt;&amp;#039;full_load&amp;#039;&amp;lt;/tt&amp;gt; || &amp;lt;tt&amp;gt;false&amp;lt;/tt&amp;gt; oder &amp;lt;tt&amp;gt;true&amp;lt;/tt&amp;gt; || zeigt unabhängig von angeklickten Gruppen den kompletten Navigationsbaum mit Untergruppen an (oder auch nicht)&lt;br /&gt;
|-&lt;br /&gt;
|| &amp;lt;tt&amp;gt;&amp;#039;full_load_articles&amp;#039;&amp;lt;/tt&amp;gt; || &amp;lt;tt&amp;gt;false&amp;lt;/tt&amp;gt; ||&lt;br /&gt;
|-&lt;br /&gt;
|| &amp;lt;tt&amp;gt;&amp;#039;limit_articles&amp;#039;&amp;lt;/tt&amp;gt; || &amp;lt;tt&amp;gt;false&amp;lt;/tt&amp;gt; oder eine Zahl || Sofern dieser Parameter eine Zahl als Wert erhält, bestimmt er die Anzahl der Artikel pro Gruppe, die in der dynamischen Navigation angezeigt werden, wenn eine Gruppe statt Untergruppen Artikel enthält.&lt;br /&gt;
|-&lt;br /&gt;
|| &amp;lt;tt&amp;gt;&amp;#039;expand_subtree&amp;#039;&amp;lt;/tt&amp;gt; || &amp;lt;tt&amp;gt;Array(4)&amp;lt;/tt&amp;gt; oder &amp;lt;tt&amp;gt;Array(4,5)&amp;lt;/tt&amp;gt; etc. || zeigt die Untergruppen von Gruppe 4 (bzw. 4 und 5) in jedem Fall an. Sei Gruppe 4 bspw. die Gruppe &amp;#039;&amp;#039;News&amp;#039;&amp;#039; des Backends, dann werden die beispielhaften Untergruppen &amp;#039;&amp;#039;Lokalnachrichten&amp;#039;&amp;#039; und &amp;#039;&amp;#039;Weltnachrichten&amp;#039;&amp;#039; immer zur Navigation angeboten, auch wenn sich ein Benutzer auf der Website gerade einen Artikel aus der Gruppe &amp;#039;&amp;#039;Kontakt&amp;#039;&amp;#039; anschaut&lt;br /&gt;
|- &lt;br /&gt;
|| &amp;lt;tt&amp;gt;&amp;#039;implode_subtree&amp;#039;&amp;lt;/tt&amp;gt; || &amp;lt;tt&amp;gt;Array(4)&amp;lt;/tt&amp;gt; oder &amp;lt;tt&amp;gt;Array(4,5)&amp;lt;/tt&amp;gt; etc. || zeigt die Untergruppen von Gruppe 4 (bzw. 4 und 5) in jedem Fall NICHT an. Anmerkung: der Parameter &amp;lt;tt&amp;gt;expand_subtree&amp;lt;/tt&amp;gt; überschreibt diese Einstellung! Ist also eine Gruppe in beiden Parametern aufgeführt, so werden die Untergruppen dieser Gruppe immer angezeigt, da der Parameter &amp;lt;tt&amp;gt;expand_subtree&amp;lt;/tt&amp;gt; wichtiger ist.&lt;br /&gt;
|-&lt;br /&gt;
|| &amp;lt;tt&amp;gt;&amp;#039;real_expand&amp;#039;&amp;lt;/tt&amp;gt; || &amp;lt;tt&amp;gt;false&amp;lt;/tt&amp;gt; oder &amp;lt;tt&amp;gt;true&amp;lt;/tt&amp;gt; || Verwenden Sie das Template &amp;#039;&amp;#039;intelligent&amp;#039;&amp;#039; für die dynamische Navigation, setzen Sie diesen Parameter auf &amp;lt;tt&amp;gt;true&amp;lt;/tt&amp;gt;, ansonsten auf &amp;lt;tt&amp;gt;false&amp;lt;/tt&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
|| &amp;lt;tt&amp;gt;&amp;#039;parent_select&amp;#039;&amp;lt;/tt&amp;gt; || &amp;lt;tt&amp;gt;true&amp;lt;/tt&amp;gt; ||&lt;br /&gt;
|-&lt;br /&gt;
|| &amp;lt;tt&amp;gt;&amp;#039;max_depth&amp;#039;&amp;lt;/tt&amp;gt; || &amp;lt;tt&amp;gt;null&amp;lt;/tt&amp;gt; oder &amp;lt;tt&amp;gt;0&amp;lt;/tt&amp;gt; oder &amp;lt;tt&amp;gt;1&amp;lt;/tt&amp;gt; etc. || Tiefe bis zu der (Unter-)Gruppen angezeigt werden&lt;br /&gt;
|-&lt;br /&gt;
|| &amp;lt;tt&amp;gt;&amp;#039;min_depth&amp;#039;&amp;lt;/tt&amp;gt; || &amp;lt;tt&amp;gt;null&amp;lt;/tt&amp;gt; oder &amp;lt;tt&amp;gt;0&amp;lt;/tt&amp;gt; oder &amp;lt;tt&amp;gt;1&amp;lt;/tt&amp;gt; etc. || Tiefe, die eine Gruppe mindestens haben muss um angezeigt zu werden, z.B. 1 um oberste Ebene der Gruppen aus dem Backend auszublenden&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Sinnvolle Globals vom DynPG-CMS===&lt;br /&gt;
&lt;br /&gt;
*&amp;#039;&amp;#039;&amp;#039;&amp;lt;tt&amp;gt;$GLOBALS[&amp;quot;DynPG&amp;quot;]-&amp;gt;SetupTemplate(&amp;#039;uneditable&amp;#039;);&amp;lt;/tt&amp;gt; :&amp;#039;&amp;#039;&amp;#039; ermöglicht Navigation in der Seite obwohl Editiermodus im Backend angeschaltet ist&lt;br /&gt;
*&amp;#039;&amp;#039;&amp;#039;&amp;lt;tt&amp;gt;$GLOBALS[&amp;quot;DynPG&amp;quot;]-&amp;gt;SetParam_A_Anytime(TRUE);&amp;lt;/tt&amp;gt; :&amp;#039;&amp;#039;&amp;#039; Menü soll immer angezeigt werden&lt;br /&gt;
*&amp;#039;&amp;#039;&amp;#039;&amp;lt;tt&amp;gt;$GLOBALS[&amp;quot;DynPG&amp;quot;]-&amp;gt;SetParam_A_CategoryNavigation(FALSE);&amp;lt;/tt&amp;gt; :&amp;#039;&amp;#039;&amp;#039; keine weitere Navigation(Breadcrumb) anzeigen&lt;br /&gt;
*&amp;#039;&amp;#039;&amp;#039;&amp;lt;tt&amp;gt;$GLOBALS[&amp;quot;DynPG&amp;quot;]-&amp;gt;SetParam_A_PrintNavigation(FALSE);&amp;lt;/tt&amp;gt; :&amp;#039;&amp;#039;&amp;#039; kein Link zu Print-Seite anzeigen&lt;br /&gt;
*&amp;#039;&amp;#039;&amp;#039;&amp;lt;tt&amp;gt;$GLOBALS[&amp;quot;DynPG&amp;quot;]-&amp;gt;SetParam_A_ArticleHeader(FALSE);&amp;lt;/tt&amp;gt; :&amp;#039;&amp;#039;&amp;#039; keine Artikelüberschrift (des Artikels mit dem DynMenü-Platzhalter) und kein Artikelleadtext anzeigen&lt;br /&gt;
*&amp;#039;&amp;#039;&amp;#039;&amp;lt;tt&amp;gt;$GLOBALS[&amp;quot;DynPG&amp;quot;]-&amp;gt;SetParam_A_Article(1);&amp;lt;/tt&amp;gt; :&amp;#039;&amp;#039;&amp;#039; Artikel mit dem Dynmenü-Platzhalter setzen (&amp;#039;&amp;#039;&amp;#039;Hier die Artikelnummer aus [[#Einrichten|Einrichten]] einfügen!&amp;#039;&amp;#039;&amp;#039;)&lt;br /&gt;
*&amp;#039;&amp;#039;&amp;#039;&amp;lt;tt&amp;gt;$GLOBALS[&amp;quot;DynPG&amp;quot;]-&amp;gt;Write_Article();&amp;lt;/tt&amp;gt; :&amp;#039;&amp;#039;&amp;#039; Artikel ausgeben&lt;br /&gt;
*&amp;#039;&amp;#039;&amp;#039;&amp;lt;tt&amp;gt;$GLOBALS[&amp;quot;DynPG&amp;quot;]-&amp;gt;SetupTemplate(&amp;#039;default&amp;#039;);&amp;lt;/tt&amp;gt; :&amp;#039;&amp;#039;&amp;#039; andere Teile der Website haben sicherlich andere Templates. Wir setzen daher hier wieder auf das Standard-Template zurück&lt;br /&gt;
&lt;br /&gt;
==CSS==&lt;br /&gt;
Die CSS-Dateien für die dynamische Navigation liegen im Verzeichnis &amp;lt;tt&amp;gt;dynpg/plugins/DPGdynmenu/styles&amp;lt;/tt&amp;gt;. Die Datei &amp;lt;tt&amp;gt;menu.css&amp;lt;/tt&amp;gt; ist hierbei meist die ausschlaggebende, so zum Beispiel in der Navigation der Musterwebsite 3.&lt;br /&gt;
&lt;br /&gt;
Die CSS-Klassen und -Bezeichner aus dieser Datei sind nach einem bestimmten Schema benannt. Hat man dieses einmal verstanden, so lassen sich leicht Änderungen an speziellen Teilen des Erscheinungsbildes der dynamischen Navigation durchführen.&lt;br /&gt;
&lt;br /&gt;
Die dynamische Navigation wird von einem &amp;lt;tt&amp;gt;div&amp;lt;/tt&amp;gt;-Tag mit der Id &amp;lt;tt&amp;gt;course_categories_menu&amp;lt;/tt&amp;gt; umschlossen.&lt;br /&gt;
&lt;br /&gt;
Diese Angaben gelten also grundsätzlich für die gesamte dynamische Navigation und werden gegebenenfalls weitervererbt.&lt;br /&gt;
Im &amp;lt;tt&amp;gt;menu.css&amp;lt;/tt&amp;gt; der Muster-Website 3 steht beispielsweise:&lt;br /&gt;
&amp;lt;code&amp;gt;[css, N]&lt;br /&gt;
div#course_categories_menu {&lt;br /&gt;
  margin: 0;&lt;br /&gt;
  padding: 0;&lt;br /&gt;
  width: 180px;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Um zu verhindern, dass die CSS-Angaben dieser Datei auch auf andere Teile der Website Einfluss haben, ist vor allen anderen CSS-Definitionen der Datei ebenfalls &amp;lt;tt&amp;gt;div#course_categories_menu&amp;lt;/tt&amp;gt; notiert. Dadurch wirken sich die Angaben nur auf die dynamische Navigation aus.&lt;br /&gt;
&lt;br /&gt;
Innerhalb des &amp;lt;tt&amp;gt;course_categories_menu&amp;lt;/tt&amp;gt; - &amp;lt;tt&amp;gt;div&amp;lt;/tt&amp;gt; - Tags gibt es für jede Gruppe der obersten angezeigten Gruppenebene ein &amp;lt;div&amp;gt;-Tag mit der CSS-Id &amp;lt;tt&amp;gt;group_fold_NUMMER&amp;lt;/tt&amp;gt; wobei &amp;lt;tt&amp;gt;NUMMER&amp;lt;/tt&amp;gt; der Gruppennummer der Gruppe aus dem Backend entspricht. In der Navigation der Muster-Website 3 gibt es also folgende Tags:&lt;br /&gt;
&amp;lt;code&amp;gt;[html, N]&lt;br /&gt;
&amp;lt;div id=&amp;quot;course_categories_menu&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;div id=&amp;quot;group_fold_2&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;  &amp;lt;!--Produkte--&amp;gt;&lt;br /&gt;
  &amp;lt;div id=&amp;quot;group_fold_3&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;  &amp;lt;!--Support--&amp;gt;&lt;br /&gt;
  &amp;lt;div id=&amp;quot;group_fold_9&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;  &amp;lt;!--News--&amp;gt;&lt;br /&gt;
  &amp;lt;div id=&amp;quot;group_fold_4&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;  &amp;lt;!--Über uns--&amp;gt;&lt;br /&gt;
  &amp;lt;div id=&amp;quot;group_fold_5&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;  &amp;lt;!--Kontakt--&amp;gt;&lt;br /&gt;
  &amp;lt;div id=&amp;quot;group_fold_21&amp;quot;&amp;gt;&amp;lt;/div&amp;gt; &amp;lt;!--Blog--&amp;gt;&lt;br /&gt;
  &amp;lt;div id=&amp;quot;group_fold_15&amp;quot;&amp;gt;&amp;lt;/div&amp;gt; &amp;lt;!--Sitemap--&amp;gt;&lt;br /&gt;
  &amp;lt;div id=&amp;quot;group_fold_6&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;  &amp;lt;!--Home--&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
Möchte man nun Eigenschaften nur an einem bestimmten Teil der Navigation machen, so könnte man im CSS-File folgende Angabe machen:&lt;br /&gt;
&amp;lt;code&amp;gt;[css, N]&lt;br /&gt;
div#course_categories_menu div#group_fold_9 {&lt;br /&gt;
  text-decoration:blink;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
Damit würde der Text der Gruppe &amp;#039;&amp;#039;News&amp;#039;&amp;#039; (und eventueller Untergruppen) in der dynamischen Navigation blinken.&lt;br /&gt;
&lt;br /&gt;
Innerhalb der &amp;lt;tt&amp;gt;group_fold_NUMMER&amp;lt;/tt&amp;gt; - &amp;lt;tt&amp;gt;div&amp;lt;/tt&amp;gt; - Tags gibt es nun ein &amp;lt;tt&amp;gt;div&amp;lt;/tt&amp;gt; - Tag, dass (neben einer weiteren CSS-Id) eine CSS-Klasse hat. Diese CSS-Klasse wird nach folgendem Muster gebildet:&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;&amp;lt;tt&amp;gt;level_&amp;#039;&amp;#039;A&amp;#039;&amp;#039;_&amp;#039;&amp;#039;B&amp;#039;&amp;#039;_&amp;#039;&amp;#039;C&amp;#039;&amp;#039;_&amp;#039;&amp;#039;D&amp;#039;&amp;#039;_&amp;#039;&amp;#039;E&amp;#039;&amp;#039;&amp;lt;/tt&amp;gt;&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;dynpgwikitable&amp;quot;&lt;br /&gt;
! Buchstabe !! mögliche Werte !! Beschreibung&lt;br /&gt;
|-&lt;br /&gt;
|| &amp;lt;tt&amp;gt;&amp;#039;&amp;#039;A&amp;#039;&amp;#039;&amp;lt;/tt&amp;gt; || 0 oder 1 oder 2 etc. || gibt das Level der Gruppe an, also die Verzweigungstiefe in der sich die Navigation befindet&lt;br /&gt;
|-&lt;br /&gt;
|| &amp;lt;tt&amp;gt;&amp;#039;&amp;#039;B&amp;#039;&amp;#039;&amp;lt;/tt&amp;gt; || &amp;lt;tt&amp;gt;r&amp;lt;/tt&amp;gt; (nicht letzter), &amp;lt;tt&amp;gt;e&amp;lt;/tt&amp;gt; (letzter) || gibt an, ob nach dieser Gruppe noch weitere aufgelistet werden (z.B. in Musterwebsite 3 ist die Gruppe 6 &amp;quot;Home&amp;quot; die letzte des Menüs)&lt;br /&gt;
|-&lt;br /&gt;
|| &amp;lt;tt&amp;gt;&amp;#039;&amp;#039;C&amp;#039;&amp;#039;&amp;lt;/tt&amp;gt; ||  &amp;lt;tt&amp;gt;a&amp;lt;/tt&amp;gt; (ist aktiv), &amp;lt;tt&amp;gt;i&amp;lt;/tt&amp;gt; (ist nicht aktiv) || gibt an, ob die Gruppe aktiv ist, d.h. ob sie durch einen Klick ausgewählt wurde&lt;br /&gt;
|-&lt;br /&gt;
|| &amp;lt;tt&amp;gt;&amp;#039;&amp;#039;D&amp;#039;&amp;#039;&amp;lt;/tt&amp;gt; ||  &amp;lt;tt&amp;gt;exp&amp;lt;/tt&amp;gt; (ausgeklappt), cll(eingeklappt) || gibt an, ob die Untergruppen dieser Gruppe ausgeklappt sind oder nicht&lt;br /&gt;
|-&lt;br /&gt;
|| &amp;lt;tt&amp;gt;&amp;#039;&amp;#039;E&amp;#039;&amp;#039;&amp;lt;/tt&amp;gt; ||  &amp;lt;tt&amp;gt;_hover&amp;lt;/tt&amp;gt; (Mauszeiger ist über dem Element), nichts (Mauszeiger ist nicht über dem Element) || gibt an, ob sich der Mauszeiger über dem Gruppennamen befindet oder nicht&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Mithilfe dieses Schemas kann man nun bestimmen, welche CSS-Klassen man in der CSS-Datei angeben muss um bestimmte Effekte hervorzurufen.&lt;br /&gt;
Möchte man beispielsweise, dass alle Elemente der zweitobersten Ebene blinken, wenn der Mauszeiger über dem Element ist, so notiert man in der CSS-Datei:&lt;br /&gt;
&amp;lt;code&amp;gt;[css, N]&lt;br /&gt;
div#course_categories_menu div#level_1_r_a_exp_hover,&lt;br /&gt;
div#course_categories_menu div#level_1_r_a_cll_hover,&lt;br /&gt;
div#course_categories_menu div#level_1_r_i_exp_hover,&lt;br /&gt;
div#course_categories_menu div#level_1_r_i_cll_hover,&lt;br /&gt;
div#course_categories_menu div#level_1_e_a_exp_hover,&lt;br /&gt;
div#course_categories_menu div#level_1_e_a_cll_hover,&lt;br /&gt;
div#course_categories_menu div#level_1_e_i_exp_hover,&lt;br /&gt;
div#course_categories_menu div#level_1_e_i_cll_hover {&lt;br /&gt;
  text-decoration:blink;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Diese Struktur der &amp;lt;tt&amp;gt;div&amp;lt;/tt&amp;gt;-Tags wiederholt sich mit tieferen Gruppenebenen / Untergruppen. Zum Beispiel tauchen die &amp;lt;tt&amp;gt;div&amp;lt;/tt&amp;gt;-Tags der Untergruppen vom &amp;#039;&amp;#039;Über uns&amp;#039;&amp;#039;-Menüpunkt aus der Muster-Website 3 innerhalb des &amp;lt;tt&amp;gt;group_fold_4&amp;lt;/tt&amp;gt; - &amp;lt;tt&amp;gt;div&amp;lt;/tt&amp;gt; - Tags auf.&lt;br /&gt;
&lt;br /&gt;
Weitere Informationen über die CSS-Klassen kann man schnell erhalten, indem man sich den HTML-Code eines generierten dynamischen Menüs anschaut, zum Beispiel aus der Muster-Website 3.&lt;br /&gt;
&lt;br /&gt;
==Templates==&lt;br /&gt;
Diese Templates liegen im Ordner &amp;lt;tt&amp;gt;dynpg/plugins/DPGdynmenu/templates&amp;lt;/tt&amp;gt;. Hier finden sie Ordner, die jeweils eine &amp;lt;tt&amp;gt;menu.tpl&amp;lt;/tt&amp;gt; enthalten. Welcher dieser Ordner aktiv ist, bestimmen Sie durch das Global &amp;lt;tt&amp;gt;$GLOBALS[&amp;quot;DynPG&amp;quot;]-&amp;gt;SetParam_PlugIn_Template(&amp;#039;DPGdynmenu&amp;#039;, &amp;#039;TEMPLATEORDNER&amp;#039;);&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Die Templates dienen als Vorlage für die Generierung des HTML-Codes der dynamischen Navigation. In ihnen werden auch die CSS-Klassen definiert, welche in [[#CSS|CSS]] erklärt wurden. Außerdem finden hier Templateplatzhalter der Form &amp;lt;tt&amp;gt;&amp;lt;nowiki&amp;gt;{$PLATZHALTER}&amp;lt;/nowiki&amp;gt;&amp;lt;/tt&amp;gt; Verwendung, die DynPG dynamisch durch Inhalt ersetzt.&lt;br /&gt;
&lt;br /&gt;
Das Template &amp;#039;&amp;#039;horizontal&amp;#039;&amp;#039; der Musterwebsite 3 generiert beispielsweise ein horizontales Menü, während das Template &amp;#039;&amp;#039;intelligent&amp;#039;&amp;#039; ein vertikales Menü erzeugt.&lt;br /&gt;
&lt;br /&gt;
Modifikationen an den Templates sind recht komplex. Sollten Sie vorhaben hier Änderungen durchzuführen, wenden Sie sich an das DynPG-Forum.&lt;br /&gt;
&lt;br /&gt;
==Feste Links einbauen==&lt;br /&gt;
&lt;br /&gt;
Hierzu erstellt man im Backend eine Gruppe mit dem Namen des festen Links und merkt sich die Gruppennummer. Mittels des Plugin-Parameters &amp;lt;tt&amp;gt;&amp;#039;href_subpages&amp;#039;&amp;lt;/tt&amp;gt; setzt man für diese Gruppennummer nun als Ziel die Datei &amp;lt;tt&amp;gt;counter.php&amp;lt;/tt&amp;gt; fest und übergibt dieser als Parameter das feste Linkziel. Beispiel: Wir wollen einen Link auf die Google-Webseite setzen. Also erstellen wir im Backend eine Gruppe mit dem Namen &amp;#039;&amp;#039;Google-Websuche&amp;#039;&amp;#039; und notieren die Gruppennummer (z.B. 33). In die PHP-Datei unserer dynamischen Navigation fügen wir nun folgendes ein:&lt;br /&gt;
&amp;lt;code&amp;gt;[php, N]&lt;br /&gt;
$GLOBALS[&amp;quot;DynPG&amp;quot;]-&amp;gt;SetParam_PlugIn_Param(&lt;br /&gt;
  &amp;#039;DPGdynmenu&amp;#039;,&lt;br /&gt;
  &amp;#039;href_subpages&amp;#039;,&lt;br /&gt;
  Array(&lt;br /&gt;
	33 =&amp;gt; Array(&lt;br /&gt;
      &amp;#039;page&amp;#039; =&amp;gt; &amp;#039;counter.php?inc=http://www.google.com&amp;#039;,&lt;br /&gt;
      &amp;#039;successors&amp;#039; =&amp;gt; true&lt;br /&gt;
    )		&lt;br /&gt;
  )&lt;br /&gt;
);&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Mehrsprachiges Menü==&lt;br /&gt;
&lt;br /&gt;
Hierzu gibt es einen Thread in unserem Forum unter [http://www.dynpg.ch/dynpg-forum.php?t=&amp;amp;read_group=30&amp;amp;thread_id=47&amp;amp;tt=Sprachwechsel]. Die grundsätzliche Idee ist (bei zwei Sprachen) zwei Gruppenbäume im Backend aufzubauen. Die oberste Gruppe des ersten Baumes wäre beispielsweise die Gruppe &amp;#039;&amp;#039;Deutsch&amp;#039;&amp;#039;, die oberste Gruppe des zweiten Baumes wäre zum Beispiel &amp;#039;&amp;#039;English&amp;#039;&amp;#039;.&lt;br /&gt;
&lt;br /&gt;
In der zweiten Ebene kommen dann unter &amp;#039;&amp;#039;Deutsch&amp;#039;&amp;#039; bzw. &amp;#039;&amp;#039;English&amp;#039;&amp;#039; Untergruppen wie &amp;#039;&amp;#039;News&amp;#039;&amp;#039;/&amp;#039;&amp;#039;Nachrichten&amp;#039;&amp;#039;, &amp;#039;&amp;#039;Produkte&amp;#039;&amp;#039;/&amp;#039;&amp;#039;Products&amp;#039;&amp;#039;, &amp;#039;&amp;#039;Hilfe&amp;#039;&amp;#039;/&amp;#039;&amp;#039;Support&amp;#039;&amp;#039; und so weiter. Man erstellt sich nun zwei PHP-Dateien (&amp;lt;tt&amp;gt;navi_de.php&amp;lt;/tt&amp;gt;, &amp;lt;tt&amp;gt;navi_en.php&amp;lt;/tt&amp;gt;) wie oben beschrieben [[#Einrichten|Einrichten]]. In diesen wird dann mit den Befehlen aus [[#Globalsreferenz|Globalsreferenz]] der jeweils nicht passende Baum ausgeblendet.&lt;br /&gt;
&lt;br /&gt;
==Siehe auch==&lt;br /&gt;
*[[Sitemap-Tutorial]]&lt;br /&gt;
*[[Implementation eines kompletten Hauptmenüs]]&lt;br /&gt;
*[[Code-Schnipsel Einfaches Hauptmenü]]&lt;br /&gt;
*[[Code-Schnipsel Menüeinträge sortieren]]&lt;br /&gt;
*[[Snippet-Beispiele]]&lt;/div&gt;</summary>
		<author><name>Sebastian</name></author>	</entry>

	<entry>
		<id>https://wiki-en.dynpg.org/wiki_de/index.php?title=Dynamische_Navigation</id>
		<title>Dynamische Navigation</title>
		<link rel="alternate" type="text/html" href="https://wiki-en.dynpg.org/wiki_de/index.php?title=Dynamische_Navigation"/>
				<updated>2009-08-17T16:00:36Z</updated>
		
		<summary type="html">&lt;p&gt;Sebastian: /* Globals direkt für das Plugin */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Kategorie:Module]]&lt;br /&gt;
==Beschreibung==&lt;br /&gt;
Die dynamische Navigation ist Bestandteil des kostenlosen Grundmoduls von DynPG und bereits im Standard-DynPG integriert. Es ist keine separate Installation notwendig. Sie ermöglicht es Ihnen einfach und flexibel Navigationen auf Ihrer Homepage zu erstellen. Die Anwendungsmöglichkeiten gestalten sich dabei flexibel als normales Menü oder auch als Sitemap.&lt;br /&gt;
&lt;br /&gt;
Ein dynamisches Menü bildet die Gruppenstruktur im Backend, also die Abfolge von Gruppen, Untergruppen und Artikeln in einer Gruppe, als Menü ab, macht also die logische Struktur ihrer Artikel aus dem Backend auf einer Webseite sichtbar und navigierbar. &lt;br /&gt;
&lt;br /&gt;
Der Vorteil ist, dass man im Backend neue Gruppen o.ä. erstellt und diese dann im Hauptmenü erscheinen. Dies ist auch bei Untergruppen nützlich,&lt;br /&gt;
z.B. wenn eine neue Untergruppe &amp;#039;&amp;#039;Lokalnachrichten&amp;#039;&amp;#039; zur Hauptgruppe &amp;#039;&amp;#039;News&amp;#039;&amp;#039; hinzukommt.&lt;br /&gt;
&lt;br /&gt;
Zum Verständnis der Funktionsvielfalt der dynamischen Navigation ist es hilfreich, einmal eine der [[Muster-Web-Sites|Musterwebsites]] zu installieren und in den entsprechenden Dateien der Musterwebsite die unten erklärten Einstellungsmöglichkeiten nachzuvollziehen und vielleicht auch einmal mit den Optionen herumzuspielen.&lt;br /&gt;
&lt;br /&gt;
==Einrichten==&lt;br /&gt;
&amp;#039;&amp;#039;Anmerkung: Benutzen sie die [[Muster-Web-Sites|Musterwebsites]], so müssen die nachfolgenden zwei Schritte nicht ausgeführt werden, da die dynamische Navigation bereits in den Musterwebsites genutzt wird&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
===Schritt 1: Artikel erstellen mit Platzhalter für die dynamische Navigation===&lt;br /&gt;
Wählen Sie im Menü des Backends &amp;#039;&amp;#039;Gruppen&amp;#039;&amp;#039; aus [[Media:dynmenue01.png|Klick]]. Suchen Sie sich nun eine Gruppe, in der Sie einen Artikel erfassen wollen. Hier wählen wir (die in diesem Falle schon vorhandene) Gruppe &amp;#039;&amp;#039;Startseite/Navigation/Formular&amp;#039;&amp;#039; durch Klick auf ihren Namen aus [[Media:dynmenue02.png|Klick]].&lt;br /&gt;
&lt;br /&gt;
Mit einem Klick auf &amp;#039;&amp;#039;Artikel Formular anzeigen&amp;#039;&amp;#039; [[Media:dynmenue03.PNG|Klick]] und danach auf &amp;#039;&amp;#039;Inhalt bearbeiten&amp;#039;&amp;#039; [[Media:dynmenue04.PNG|Klick]] erscheint der Editor.&lt;br /&gt;
&lt;br /&gt;
In diesem wählen Sie das Symbol für die dynamische Navigation [[Media:dynmenue05.PNG|Klick]], geben noch einen Titel, etwa &amp;#039;&amp;#039;Neue Seitennavigation&amp;#039;&amp;#039;, ein und bestätigen mit einem Klick auf &amp;#039;&amp;#039;Erstellen&amp;#039;&amp;#039; [[Media:dynmenue06.PNG|Klick]]. &lt;br /&gt;
&lt;br /&gt;
Hat alles geklappt, können Sie im unteren Teil der Seite den neuen Artikel sehen [[Media:dynmenue07.PNG|Klick]]. Die Nummer des Artikels benötigen Sie erneut, wenn Sie in eine PHP-Datei mittels eines Globals die dynamische Navigation einbinden.&lt;br /&gt;
&lt;br /&gt;
===Schritt 2: PHP-Datei für die dynamische Navigation erstellen===&lt;br /&gt;
Folgende Ordner-Struktur könnte bei Ihnen vorliegen:&lt;br /&gt;
:*&amp;lt;tt&amp;gt;http-docs/dynpg&amp;lt;/tt&amp;gt; : hier liegt das DynPG-CMS&lt;br /&gt;
:*&amp;lt;tt&amp;gt;http-docs/index.php&amp;lt;/tt&amp;gt; : die Hauptseite Ihrer Website&lt;br /&gt;
:*&amp;lt;tt&amp;gt;http-docs/folgeseite.php&amp;lt;/tt&amp;gt; : eine andere PHP-Datei der Website&lt;br /&gt;
:*&amp;lt;tt&amp;gt;http-docs/inc/navi.php&amp;lt;/tt&amp;gt; : In diese Datei platziert man häufig den Code für die Navigation, dadurch ist er leichter wiederverwendbar&lt;br /&gt;
&lt;br /&gt;
Den nötigen Code der &amp;lt;tt&amp;gt;inc/navi.php&amp;lt;/tt&amp;gt; kann man anhand der [[Muster-Web-Sites|Musterwebsites]] nachvollziehen (Für eine genauere Erklärung der einzelnen verwendeten Globals siehe die [[Funktionsreferenz/Globals|Globals-Übersicht von DynPG]] und weiter unten die [[#Globalsreferenz|Funktionsübersicht der dynamischen Navigation]]) :&lt;br /&gt;
:*&amp;#039;&amp;#039;&amp;#039;&amp;lt;tt&amp;gt;inc/navi.php&amp;lt;/tt&amp;gt;:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;code&amp;gt;[php, N]&lt;br /&gt;
&amp;lt;?php&lt;br /&gt;
  $GLOBALS[&amp;quot;DynPG&amp;quot;]-&amp;gt;SetParam_PlugIn_Template(&amp;#039;DPGdynmenu&amp;#039;, &amp;#039;intelligent&amp;#039;);&lt;br /&gt;
  $GLOBALS[&amp;quot;DynPG&amp;quot;]-&amp;gt;SetParam_PlugIn_Param(&amp;#039;DPGdynmenu&amp;#039;, &amp;#039;real_expand&amp;#039;, TRUE);&lt;br /&gt;
  $GLOBALS[&amp;quot;DynPG&amp;quot;]-&amp;gt;SetParam_PlugIn_Param(&amp;#039;DPGdynmenu&amp;#039;, &amp;#039;order&amp;#039;, Array(&amp;#039;INDEX&amp;#039;));&lt;br /&gt;
  $GLOBALS[&amp;quot;DynPG&amp;quot;]-&amp;gt;SetParam_PlugIn_Param(&amp;#039;DPGdynmenu&amp;#039;, &amp;#039;sort&amp;#039;, Array(&amp;#039;ASC&amp;#039;));&lt;br /&gt;
  $GLOBALS[&amp;quot;DynPG&amp;quot;]-&amp;gt;SetParam_PlugIn_Param(&amp;#039;DPGdynmenu&amp;#039;, &amp;#039;href_page_groups&amp;#039;, &amp;#039;../folgeseite.php&amp;#039;);&lt;br /&gt;
  $GLOBALS[&amp;quot;DynPG&amp;quot;]-&amp;gt;SetParam_PlugIn_Param(&amp;#039;DPGdynmenu&amp;#039;, &amp;#039;href_page_articles&amp;#039;, &amp;#039;../folgeseite.php&amp;#039;);&lt;br /&gt;
  $GLOBALS[&amp;quot;DynPG&amp;quot;]-&amp;gt;SetParam_PlugIn_Param(&amp;#039;DPGdynmenu&amp;#039;, &amp;#039;href_page_detail&amp;#039;, &amp;#039;../folgeseite.php&amp;#039;);&lt;br /&gt;
  $GLOBALS[&amp;quot;DynPG&amp;quot;]-&amp;gt;SetParam_PlugIn_Param(&lt;br /&gt;
    &amp;#039;DPGdynmenu&amp;#039;,&lt;br /&gt;
    &amp;#039;href_subpages&amp;#039;,&lt;br /&gt;
    Array(&lt;br /&gt;
      0 =&amp;gt; Array(&lt;br /&gt;
        &amp;#039;page&amp;#039; =&amp;gt; &amp;#039;../formular.php{query}&amp;#039;,&lt;br /&gt;
        &amp;#039;successors&amp;#039; =&amp;gt; true&lt;br /&gt;
      ),&lt;br /&gt;
      21 =&amp;gt; Array(&lt;br /&gt;
        &amp;#039;page&amp;#039; =&amp;gt; &amp;#039;../blog.php{query}&amp;#039;,&lt;br /&gt;
        &amp;#039;successors&amp;#039; =&amp;gt; true&lt;br /&gt;
      ),&lt;br /&gt;
      15 =&amp;gt; Array(&lt;br /&gt;
        &amp;#039;page&amp;#039; =&amp;gt; &amp;#039;../sitemap.php{query}&amp;#039;,&lt;br /&gt;
        &amp;#039;successors&amp;#039; =&amp;gt; true&lt;br /&gt;
      ),&lt;br /&gt;
      16 =&amp;gt; Array(&lt;br /&gt;
        &amp;#039;page&amp;#039; =&amp;gt; &amp;#039;../veranstaltungen.php{query}&amp;#039;,&lt;br /&gt;
        &amp;#039;successors&amp;#039; =&amp;gt; true&lt;br /&gt;
      ),&lt;br /&gt;
      21 =&amp;gt; Array(&lt;br /&gt;
        &amp;#039;page&amp;#039; =&amp;gt; &amp;#039;../blog.php{query}&amp;#039;,&lt;br /&gt;
        &amp;#039;successors&amp;#039; =&amp;gt; true&lt;br /&gt;
      ),&lt;br /&gt;
      6 =&amp;gt; Array(&lt;br /&gt;
        &amp;#039;page&amp;#039; =&amp;gt; &amp;#039;../index.php{query}&amp;#039;,&lt;br /&gt;
        &amp;#039;successors&amp;#039; =&amp;gt; true&lt;br /&gt;
      )&lt;br /&gt;
    )&lt;br /&gt;
  );    &lt;br /&gt;
  $GLOBALS[&amp;quot;DynPG&amp;quot;]-&amp;gt;SetupTemplate(&amp;#039;uneditable&amp;#039;); &lt;br /&gt;
  $GLOBALS[&amp;quot;DynPG&amp;quot;]-&amp;gt;SetParam_A_Anytime(TRUE);&lt;br /&gt;
  $GLOBALS[&amp;quot;DynPG&amp;quot;]-&amp;gt;SetParam_A_CategoryNavigation(FALSE);&lt;br /&gt;
  $GLOBALS[&amp;quot;DynPG&amp;quot;]-&amp;gt;SetParam_A_PrintNavigation(FALSE);&lt;br /&gt;
  $GLOBALS[&amp;quot;DynPG&amp;quot;]-&amp;gt;SetParam_A_ArticleHeader(FALSE);&lt;br /&gt;
  $GLOBALS[&amp;quot;DynPG&amp;quot;]-&amp;gt;SetParam_A_Article(1);&lt;br /&gt;
&lt;br /&gt;
  $GLOBALS[&amp;quot;DynPG&amp;quot;]-&amp;gt;Write_Article();&lt;br /&gt;
  $GLOBALS[&amp;quot;DynPG&amp;quot;]-&amp;gt;SetupTemplate(&amp;#039;default&amp;#039;);  &lt;br /&gt;
?&amp;gt;&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Man kann nun in der &amp;lt;tt&amp;gt;index.php&amp;lt;/tt&amp;gt; mittels &lt;br /&gt;
&amp;lt;code&amp;gt;[php, N]&lt;br /&gt;
&amp;lt;?php include(&amp;quot;inc/navi.php&amp;quot;); ?&amp;gt;&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
die Navigation einbinden, ebenso z.B. auch in der &amp;lt;tt&amp;gt;folgeseite.php&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Die dynamische Navigation kann nun an verschiedenen Stellen angepasst werden. Neben den Globals in der PHP-Datei ([[#Globalsreferenz|Globalsreferenz]]) ist dies im Backend durch das Erstellen von Gruppen und Artikeln möglich ([[#Dynamische_Navigation_im_Backend|Dynamische Navigation im Backend]]). Erweiterte Möglichkeiten ergeben sich durch das [[#CSS|CSS]] und die [[#Templates|Templates]].&lt;br /&gt;
&lt;br /&gt;
==Die dynamische Navigation im Backend==&lt;br /&gt;
&lt;br /&gt;
Wie bereits erwähnt, bildet die dynamische Navigation die Gruppenstruktur des Backends auf einer Webseite ab. In der Musterwebsite 3 ist im Backend zum Beispiel folgende Gruppenstruktur zu erkennen:&lt;br /&gt;
[[Media:dynmenue08.PNG|Klick]].&lt;br /&gt;
Auf der Website sieht dies dann wie folgt aus:&lt;br /&gt;
[[Media:dynmenue09.PNG|Klick]]&lt;br /&gt;
oder auch&lt;br /&gt;
[[Media:dynmenue10.PNG|Klick]]&lt;br /&gt;
.&lt;br /&gt;
&lt;br /&gt;
Welche Untergruppen angezeigt werden, hängt zum einen davon ab, welcher Navigationspunkt gerade aktiv ist (also angeklickt wurde) und zum anderen von den benutzten Globals in der PHP-Datei ([[#Globalsreferenz|z.B. Parameter &amp;#039;full_load&amp;#039;]]) und den Einstellungen der Gruppe im Backend. &lt;br /&gt;
&lt;br /&gt;
Die Eigenschaftsseite der Gruppe erreicht man über einen Klick auf das Stiftsymbol&lt;br /&gt;
([[Media:dynmenue11.PNG|Klick]])&lt;br /&gt;
. Unter dem Punkt &amp;#039;&amp;#039;Veröffentlichen&amp;#039;&amp;#039;&lt;br /&gt;
([[Media:dynmenue12.PNG|Klick]])&lt;br /&gt;
wählt man nun eine Option aus: &lt;br /&gt;
:* &amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039;Ja&amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039;: die Gruppe wird auf der gesamten Website angezeigt, also auch in der dynamischen Navigation&lt;br /&gt;
:* &amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039;Nein&amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039;: die Gruppe wird auf der ganze Website nicht angezeigt, also weder in Gruppenliste noch in der dynamischen Navigation&lt;br /&gt;
:* &amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039;Ja, ohne Navigation&amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039;: die Gruppe wird zwar normal auf der Website angezeigt, jedoch in der dynamischen Navigation ausgeblendet&lt;br /&gt;
:* &amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039;Ja, ohne Subnavigation&amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039;: wie &amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039;Ja&amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039;, jedoch werden von diesem Menüpunkt in der dynamischen Navigation nur Untergruppen angezeigt, jedoch keine Artikel, die eventuell in dieser Gruppe liegen&lt;br /&gt;
&lt;br /&gt;
==Globalsreferenz==&lt;br /&gt;
===Globals direkt für das Plugin===&lt;br /&gt;
&amp;#039;&amp;#039;Die Parameter haben Default-Werte, müssen also nicht immer gesetzt werden&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
*&amp;#039;&amp;#039;&amp;#039;&amp;lt;tt&amp;gt;$GLOBALS[&amp;quot;DynPG&amp;quot;]-&amp;gt;SetParam_PlugIn_Template(&amp;#039;DPGdynmenu&amp;#039;, &amp;#039;TEMPLATEORDNER&amp;#039;);&amp;lt;/tt&amp;gt;:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
:Hiermit wählt man den Template-Ordner für die dynamische Navigation aus. Diese Template-Ordner liegen in &amp;lt;tt&amp;gt;dynpg/plugins/DPGdynmenu/templates&amp;lt;/tt&amp;gt;. Aus diesem Ordner wird die Template-Datei &amp;lt;tt&amp;gt;menu.tpl&amp;lt;/tt&amp;gt; zur Generierung des Menüs genommen. Dies ist unabhängig vom Global &amp;lt;tt&amp;gt;$GLOBALS[&amp;quot;DynPG&amp;quot;]-&amp;gt;SetupTemplate(...);&amp;lt;/tt&amp;gt;, der sozusagen das Template des Artikels bestimmt, welcher die dynamische Navigation enthält.&lt;br /&gt;
&lt;br /&gt;
*&amp;#039;&amp;#039;&amp;#039;&amp;lt;tt&amp;gt;$GLOBALS[&amp;quot;DynPG&amp;quot;]-&amp;gt;SetParam_PlugIn_Param(&amp;#039;DPGdynmenu&amp;#039;, PARAMETERNAME, PARAMETERWERT);&amp;lt;/tt&amp;gt;&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
:{| class=&amp;quot;dynpgwikitable&amp;quot;&lt;br /&gt;
! &amp;lt;tt&amp;gt;PARAMETERNAME&amp;lt;/tt&amp;gt; !! &amp;lt;tt&amp;gt;PARAMETERWERT&amp;lt;/tt&amp;gt; !! Beschreibung&lt;br /&gt;
|-&lt;br /&gt;
||&amp;lt;tt&amp;gt;&amp;#039;order&amp;#039;&amp;lt;/tt&amp;gt; || &amp;lt;tt&amp;gt;Array(&amp;#039;INDEX&amp;#039;)&amp;lt;/tt&amp;gt; oder &amp;lt;tt&amp;gt;Array(&amp;#039;NAME&amp;#039;)&amp;lt;/tt&amp;gt; || Reihenfolge der Gruppen in der Navigation nach Name oder im Backend gesetzten Index&lt;br /&gt;
|-&lt;br /&gt;
||&amp;lt;tt&amp;gt;&amp;#039;sort&amp;#039;&amp;lt;/tt&amp;gt; || &amp;lt;tt&amp;gt;Array(&amp;#039;ASC&amp;#039;)&amp;lt;/tt&amp;gt; oder &amp;lt;tt&amp;gt;Array(&amp;#039;DESC&amp;#039;)&amp;lt;/tt&amp;gt; || aufsteigende oder absteigende Sortierung&lt;br /&gt;
|-&lt;br /&gt;
||&amp;lt;tt&amp;gt;&amp;#039;order_articles&amp;#039;&amp;lt;/tt&amp;gt; || z.B. &amp;lt;tt&amp;gt;Array(&amp;#039;INDEX&amp;#039;)&amp;lt;/tt&amp;gt; || sortiert Artikel in der dynamischen Navigation (falls diese angezeigt werden) &lt;br /&gt;
|-&lt;br /&gt;
||&amp;lt;tt&amp;gt;&amp;#039;sort_articles&amp;#039;&amp;lt;/tt&amp;gt; || z.B. &amp;lt;tt&amp;gt;Array(&amp;#039;ASC&amp;#039;)&amp;lt;/tt&amp;gt; || bestimmt aufsteigende oder absteigende Sortierreihenfolge der Artikel&lt;br /&gt;
|-&lt;br /&gt;
||&amp;lt;tt&amp;gt;&amp;#039;href_page_groups&amp;#039;&amp;lt;/tt&amp;gt; || z.B. &amp;lt;tt&amp;gt;&amp;#039;../folgeseite.php&amp;#039;&amp;lt;/tt&amp;gt; || Seite auf die standardmäßig weiterverlinkt wird bei einem Klick auf den Gruppennamen, sofern die Gruppe Untergruppen hat. Wird dieser Parameter nicht angegeben, so wird auf die aktuelle PHP-Seite verlinkt. (ACHTUNG &amp;lt;tt&amp;gt;&amp;#039;../&amp;#039;&amp;lt;/tt&amp;gt; wichtig, siehe Ordnerstruktur weiter oben!)&lt;br /&gt;
|-&lt;br /&gt;
||&amp;lt;tt&amp;gt;&amp;#039;href_page_articles&amp;#039;&amp;lt;/tt&amp;gt; || z.B. &amp;lt;tt&amp;gt;&amp;#039;../folgeseite.php&amp;#039;&amp;lt;/tt&amp;gt; || Seite auf die standardmäßig weiterverlinkt wird bei einem Klick auf den Gruppennamen, sofern die Gruppe Artikel enthält. Wird dieser Parameter nicht angegeben, so wird auf die aktuelle PHP-Seite verlinkt. (ACHTUNG &amp;lt;tt&amp;gt;&amp;#039;../&amp;#039;&amp;lt;/tt&amp;gt; wichtig, siehe Ordnerstruktur weiter oben!)&lt;br /&gt;
|-&lt;br /&gt;
||&amp;lt;tt&amp;gt;&amp;#039;href_page_detail&amp;#039;&amp;lt;/tt&amp;gt; || z.B. &amp;lt;tt&amp;gt;&amp;#039;../folgeseite.php&amp;#039;&amp;lt;/tt&amp;gt; || Seite auf die standardmäßig weiterverlinkt wird bei einem Klick auf einen Artikelnamen. Wird dieser Parameter nicht angegeben, so wird auf die aktuelle PHP-Seite verlinkt. (ACHTUNG &amp;lt;tt&amp;gt;&amp;#039;../&amp;#039;&amp;lt;/tt&amp;gt; wichtig, siehe Ordnerstruktur weiter oben!)&lt;br /&gt;
|-&lt;br /&gt;
||&amp;lt;tt&amp;gt;&amp;#039;href_subpages&amp;#039;&amp;lt;/tt&amp;gt; || z.B. &amp;lt;pre&amp;gt;Array(&lt;br /&gt;
  GRUPPENNUMMER =&amp;gt; Array( &lt;br /&gt;
    &amp;#039;page&amp;#039; =&amp;gt; &amp;#039;PHP-SEITE{query}&amp;#039;,&lt;br /&gt;
    &amp;#039;successors&amp;#039; =&amp;gt; BOOLEAN&lt;br /&gt;
  ),&lt;br /&gt;
...&lt;br /&gt;
...&lt;br /&gt;
...&lt;br /&gt;
  GRUPPENNUMMER =&amp;gt; Array( &lt;br /&gt;
    &amp;#039;page&amp;#039; =&amp;gt; &amp;#039;PHP-SEITE{query}&amp;#039;,&lt;br /&gt;
    &amp;#039;successors&amp;#039; =&amp;gt; BOOLEAN&lt;br /&gt;
  ) &lt;br /&gt;
)&amp;lt;/pre&amp;gt; || Ermöglicht es, für bestimmte Gruppen auf eine spezielle &amp;lt;tt&amp;gt;PHP-SEITE&amp;lt;/tt&amp;gt; zu verlinken. Hierzu geben Sie anstatt &amp;lt;tt&amp;gt;GRUPPENNUMMER&amp;lt;/tt&amp;gt; die Gruppennummer der Gruppe aus dem Backend ein. Statt &amp;lt;tt&amp;gt;PHP-SEITE&amp;lt;/tt&amp;gt; fügen Sie den Namen und Pfad zur Zieldatei an, ausgehend vom Hauptverzeichnis des CMS!. Lassen Sie den Anhang &amp;lt;tt&amp;gt;{query}&amp;lt;/tt&amp;gt; genau so stehen, falls in die Zieldatei auch DynPG über Globals eingeben wurde. &amp;lt;tt&amp;gt;BOOLEAN&amp;lt;/tt&amp;gt; ersetzen Sie mit &amp;lt;tt&amp;gt;true&amp;lt;/tt&amp;gt; wenn für Untergruppen dieser Gruppe auch auf diese spezielle PHP-Seite verlink werden soll, ansonsten mit &amp;lt;tt&amp;gt;false&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Passen Sie auf, dass nach jedem &amp;lt;tt&amp;gt;GRUPPENNUMMER =&amp;gt; Array(...)&amp;lt;/tt&amp;gt; ein Komma notiert ist, allerdings nicht beim letzten.&lt;br /&gt;
|-&lt;br /&gt;
||&amp;lt;tt&amp;gt;&amp;#039;full_load&amp;#039;&amp;lt;/tt&amp;gt; || &amp;lt;tt&amp;gt;false&amp;lt;/tt&amp;gt; oder &amp;lt;tt&amp;gt;true&amp;lt;/tt&amp;gt; || zeigt unabhängig von angeklickten Gruppen den kompletten Navigationsbaum mit Untergruppen an (oder auch nicht)&lt;br /&gt;
|-&lt;br /&gt;
|| &amp;lt;tt&amp;gt;&amp;#039;full_load_articles&amp;#039;&amp;lt;/tt&amp;gt; || &amp;lt;tt&amp;gt;false&amp;lt;/tt&amp;gt; ||&lt;br /&gt;
|-&lt;br /&gt;
|| &amp;lt;tt&amp;gt;&amp;#039;limit_articles&amp;#039;&amp;lt;/tt&amp;gt; || &amp;lt;tt&amp;gt;false&amp;lt;/tt&amp;gt; ||&lt;br /&gt;
|-&lt;br /&gt;
|| &amp;lt;tt&amp;gt;&amp;#039;expand_subtree&amp;#039;&amp;lt;/tt&amp;gt; || &amp;lt;tt&amp;gt;Array(4)&amp;lt;/tt&amp;gt; oder &amp;lt;tt&amp;gt;Array(4,5)&amp;lt;/tt&amp;gt; etc. || zeigt die Untergruppen von Gruppe 4 (bzw. 4 und 5) in jedem Fall an. Sei Gruppe 4 bspw. die Gruppe &amp;#039;&amp;#039;News&amp;#039;&amp;#039; des Backends, dann werden die beispielhaften Untergruppen &amp;#039;&amp;#039;Lokalnachrichten&amp;#039;&amp;#039; und &amp;#039;&amp;#039;Weltnachrichten&amp;#039;&amp;#039; immer zur Navigation angeboten, auch wenn sich ein Benutzer auf der Website gerade einen Artikel aus der Gruppe &amp;#039;&amp;#039;Kontakt&amp;#039;&amp;#039; anschaut&lt;br /&gt;
|- &lt;br /&gt;
|| &amp;lt;tt&amp;gt;&amp;#039;implode_subtree&amp;#039;&amp;lt;/tt&amp;gt; || &amp;lt;tt&amp;gt;Array(4)&amp;lt;/tt&amp;gt; oder &amp;lt;tt&amp;gt;Array(4,5)&amp;lt;/tt&amp;gt; etc. || zeigt die Untergruppen von Gruppe 4 (bzw. 4 und 5) in jedem Fall NICHT an. Anmerkung: der Parameter &amp;lt;tt&amp;gt;expand_subtree&amp;lt;/tt&amp;gt; überschreibt diese Einstellung! Ist also eine Gruppe in beiden Parametern aufgeführt, so werden die Untergruppen dieser Gruppe immer angezeigt, da der Parameter &amp;lt;tt&amp;gt;expand_subtree&amp;lt;/tt&amp;gt; wichtiger ist.&lt;br /&gt;
|-&lt;br /&gt;
|| &amp;lt;tt&amp;gt;&amp;#039;real_expand&amp;#039;&amp;lt;/tt&amp;gt; || &amp;lt;tt&amp;gt;false&amp;lt;/tt&amp;gt; ||&lt;br /&gt;
|-&lt;br /&gt;
|| &amp;lt;tt&amp;gt;&amp;#039;speed_mode&amp;#039;&amp;lt;/tt&amp;gt; || &amp;lt;tt&amp;gt;false&amp;lt;/tt&amp;gt; ||&lt;br /&gt;
|-&lt;br /&gt;
|| &amp;lt;tt&amp;gt;&amp;#039;parent_select&amp;#039;&amp;lt;/tt&amp;gt; || &amp;lt;tt&amp;gt;true&amp;lt;/tt&amp;gt; ||&lt;br /&gt;
|-&lt;br /&gt;
|| &amp;lt;tt&amp;gt;&amp;#039;max_depth&amp;#039;&amp;lt;/tt&amp;gt; || &amp;lt;tt&amp;gt;null&amp;lt;/tt&amp;gt; oder &amp;lt;tt&amp;gt;0&amp;lt;/tt&amp;gt; oder &amp;lt;tt&amp;gt;1&amp;lt;/tt&amp;gt; etc. || Tiefe bis zu der (Unter-)Gruppen angezeigt werden&lt;br /&gt;
|-&lt;br /&gt;
|| &amp;lt;tt&amp;gt;&amp;#039;min_depth&amp;#039;&amp;lt;/tt&amp;gt; || &amp;lt;tt&amp;gt;null&amp;lt;/tt&amp;gt; oder &amp;lt;tt&amp;gt;0&amp;lt;/tt&amp;gt; oder &amp;lt;tt&amp;gt;1&amp;lt;/tt&amp;gt; etc. || Tiefe, die eine Gruppe mindestens haben muss um angezeigt zu werden, z.B. 1 um oberste Ebene der Gruppen aus dem Backend auszublenden&lt;br /&gt;
|-&lt;br /&gt;
|| &amp;lt;tt&amp;gt;&amp;#039;fetch_only&amp;#039;&amp;lt;/tt&amp;gt; || &amp;lt;tt&amp;gt;null&amp;lt;/tt&amp;gt; ||&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Sinnvolle Globals vom DynPG-CMS===&lt;br /&gt;
&lt;br /&gt;
*&amp;#039;&amp;#039;&amp;#039;&amp;lt;tt&amp;gt;$GLOBALS[&amp;quot;DynPG&amp;quot;]-&amp;gt;SetupTemplate(&amp;#039;uneditable&amp;#039;);&amp;lt;/tt&amp;gt; :&amp;#039;&amp;#039;&amp;#039; ermöglicht Navigation in der Seite obwohl Editiermodus im Backend angeschaltet ist&lt;br /&gt;
*&amp;#039;&amp;#039;&amp;#039;&amp;lt;tt&amp;gt;$GLOBALS[&amp;quot;DynPG&amp;quot;]-&amp;gt;SetParam_A_Anytime(TRUE);&amp;lt;/tt&amp;gt; :&amp;#039;&amp;#039;&amp;#039; Menü soll immer angezeigt werden&lt;br /&gt;
*&amp;#039;&amp;#039;&amp;#039;&amp;lt;tt&amp;gt;$GLOBALS[&amp;quot;DynPG&amp;quot;]-&amp;gt;SetParam_A_CategoryNavigation(FALSE);&amp;lt;/tt&amp;gt; :&amp;#039;&amp;#039;&amp;#039; keine weitere Navigation(Breadcrumb) anzeigen&lt;br /&gt;
*&amp;#039;&amp;#039;&amp;#039;&amp;lt;tt&amp;gt;$GLOBALS[&amp;quot;DynPG&amp;quot;]-&amp;gt;SetParam_A_PrintNavigation(FALSE);&amp;lt;/tt&amp;gt; :&amp;#039;&amp;#039;&amp;#039; kein Link zu Print-Seite anzeigen&lt;br /&gt;
*&amp;#039;&amp;#039;&amp;#039;&amp;lt;tt&amp;gt;$GLOBALS[&amp;quot;DynPG&amp;quot;]-&amp;gt;SetParam_A_ArticleHeader(FALSE);&amp;lt;/tt&amp;gt; :&amp;#039;&amp;#039;&amp;#039; keine Artikelüberschrift (des Artikels mit dem DynMenü-Platzhalter) und kein Artikelleadtext anzeigen&lt;br /&gt;
*&amp;#039;&amp;#039;&amp;#039;&amp;lt;tt&amp;gt;$GLOBALS[&amp;quot;DynPG&amp;quot;]-&amp;gt;SetParam_A_Article(1);&amp;lt;/tt&amp;gt; :&amp;#039;&amp;#039;&amp;#039; Artikel mit dem Dynmenü-Platzhalter setzen (&amp;#039;&amp;#039;&amp;#039;Hier die Artikelnummer aus [[#Einrichten|Einrichten]] einfügen!&amp;#039;&amp;#039;&amp;#039;)&lt;br /&gt;
*&amp;#039;&amp;#039;&amp;#039;&amp;lt;tt&amp;gt;$GLOBALS[&amp;quot;DynPG&amp;quot;]-&amp;gt;Write_Article();&amp;lt;/tt&amp;gt; :&amp;#039;&amp;#039;&amp;#039; Artikel ausgeben&lt;br /&gt;
*&amp;#039;&amp;#039;&amp;#039;&amp;lt;tt&amp;gt;$GLOBALS[&amp;quot;DynPG&amp;quot;]-&amp;gt;SetupTemplate(&amp;#039;default&amp;#039;);&amp;lt;/tt&amp;gt; :&amp;#039;&amp;#039;&amp;#039; andere Teile der Website haben sicherlich andere Templates. Wir setzen daher hier wieder auf das Standard-Template zurück&lt;br /&gt;
&lt;br /&gt;
==CSS==&lt;br /&gt;
Die CSS-Dateien für die dynamische Navigation liegen im Verzeichnis &amp;lt;tt&amp;gt;dynpg/plugins/DPGdynmenu/styles&amp;lt;/tt&amp;gt;. Die Datei &amp;lt;tt&amp;gt;menu.css&amp;lt;/tt&amp;gt; ist hierbei meist die ausschlaggebende, so zum Beispiel in der Navigation der Musterwebsite 3.&lt;br /&gt;
&lt;br /&gt;
Die CSS-Klassen und -Bezeichner aus dieser Datei sind nach einem bestimmten Schema benannt. Hat man dieses einmal verstanden, so lassen sich leicht Änderungen an speziellen Teilen des Erscheinungsbildes der dynamischen Navigation durchführen.&lt;br /&gt;
&lt;br /&gt;
Die dynamische Navigation wird von einem &amp;lt;tt&amp;gt;div&amp;lt;/tt&amp;gt;-Tag mit der Id &amp;lt;tt&amp;gt;course_categories_menu&amp;lt;/tt&amp;gt; umschlossen.&lt;br /&gt;
&lt;br /&gt;
Diese Angaben gelten also grundsätzlich für die gesamte dynamische Navigation und werden gegebenenfalls weitervererbt.&lt;br /&gt;
Im &amp;lt;tt&amp;gt;menu.css&amp;lt;/tt&amp;gt; der Muster-Website 3 steht beispielsweise:&lt;br /&gt;
&amp;lt;code&amp;gt;[css, N]&lt;br /&gt;
div#course_categories_menu {&lt;br /&gt;
  margin: 0;&lt;br /&gt;
  padding: 0;&lt;br /&gt;
  width: 180px;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Um zu verhindern, dass die CSS-Angaben dieser Datei auch auf andere Teile der Website Einfluss haben, ist vor allen anderen CSS-Definitionen der Datei ebenfalls &amp;lt;tt&amp;gt;div#course_categories_menu&amp;lt;/tt&amp;gt; notiert. Dadurch wirken sich die Angaben nur auf die dynamische Navigation aus.&lt;br /&gt;
&lt;br /&gt;
Innerhalb des &amp;lt;tt&amp;gt;course_categories_menu&amp;lt;/tt&amp;gt; - &amp;lt;tt&amp;gt;div&amp;lt;/tt&amp;gt; - Tags gibt es für jede Gruppe der obersten angezeigten Gruppenebene ein &amp;lt;div&amp;gt;-Tag mit der CSS-Id &amp;lt;tt&amp;gt;group_fold_NUMMER&amp;lt;/tt&amp;gt; wobei &amp;lt;tt&amp;gt;NUMMER&amp;lt;/tt&amp;gt; der Gruppennummer der Gruppe aus dem Backend entspricht. In der Navigation der Muster-Website 3 gibt es also folgende Tags:&lt;br /&gt;
&amp;lt;code&amp;gt;[html, N]&lt;br /&gt;
&amp;lt;div id=&amp;quot;course_categories_menu&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;div id=&amp;quot;group_fold_2&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;  &amp;lt;!--Produkte--&amp;gt;&lt;br /&gt;
  &amp;lt;div id=&amp;quot;group_fold_3&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;  &amp;lt;!--Support--&amp;gt;&lt;br /&gt;
  &amp;lt;div id=&amp;quot;group_fold_9&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;  &amp;lt;!--News--&amp;gt;&lt;br /&gt;
  &amp;lt;div id=&amp;quot;group_fold_4&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;  &amp;lt;!--Über uns--&amp;gt;&lt;br /&gt;
  &amp;lt;div id=&amp;quot;group_fold_5&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;  &amp;lt;!--Kontakt--&amp;gt;&lt;br /&gt;
  &amp;lt;div id=&amp;quot;group_fold_21&amp;quot;&amp;gt;&amp;lt;/div&amp;gt; &amp;lt;!--Blog--&amp;gt;&lt;br /&gt;
  &amp;lt;div id=&amp;quot;group_fold_15&amp;quot;&amp;gt;&amp;lt;/div&amp;gt; &amp;lt;!--Sitemap--&amp;gt;&lt;br /&gt;
  &amp;lt;div id=&amp;quot;group_fold_6&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;  &amp;lt;!--Home--&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
Möchte man nun Eigenschaften nur an einem bestimmten Teil der Navigation machen, so könnte man im CSS-File folgende Angabe machen:&lt;br /&gt;
&amp;lt;code&amp;gt;[css, N]&lt;br /&gt;
div#course_categories_menu div#group_fold_9 {&lt;br /&gt;
  text-decoration:blink;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
Damit würde der Text der Gruppe &amp;#039;&amp;#039;News&amp;#039;&amp;#039; (und eventueller Untergruppen) in der dynamischen Navigation blinken.&lt;br /&gt;
&lt;br /&gt;
Innerhalb der &amp;lt;tt&amp;gt;group_fold_NUMMER&amp;lt;/tt&amp;gt; - &amp;lt;tt&amp;gt;div&amp;lt;/tt&amp;gt; - Tags gibt es nun ein &amp;lt;tt&amp;gt;div&amp;lt;/tt&amp;gt; - Tag, dass (neben einer weiteren CSS-Id) eine CSS-Klasse hat. Diese CSS-Klasse wird nach folgendem Muster gebildet:&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;&amp;lt;tt&amp;gt;level_&amp;#039;&amp;#039;A&amp;#039;&amp;#039;_&amp;#039;&amp;#039;B&amp;#039;&amp;#039;_&amp;#039;&amp;#039;C&amp;#039;&amp;#039;_&amp;#039;&amp;#039;D&amp;#039;&amp;#039;_&amp;#039;&amp;#039;E&amp;#039;&amp;#039;&amp;lt;/tt&amp;gt;&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;dynpgwikitable&amp;quot;&lt;br /&gt;
! Buchstabe !! mögliche Werte !! Beschreibung&lt;br /&gt;
|-&lt;br /&gt;
|| &amp;lt;tt&amp;gt;&amp;#039;&amp;#039;A&amp;#039;&amp;#039;&amp;lt;/tt&amp;gt; || 0 oder 1 oder 2 etc. || gibt das Level der Gruppe an, also die Verzweigungstiefe in der sich die Navigation befindet&lt;br /&gt;
|-&lt;br /&gt;
|| &amp;lt;tt&amp;gt;&amp;#039;&amp;#039;B&amp;#039;&amp;#039;&amp;lt;/tt&amp;gt; || &amp;lt;tt&amp;gt;r&amp;lt;/tt&amp;gt; (nicht letzter), &amp;lt;tt&amp;gt;e&amp;lt;/tt&amp;gt; (letzter) || gibt an, ob nach dieser Gruppe noch weitere aufgelistet werden (z.B. in Musterwebsite 3 ist die Gruppe 6 &amp;quot;Home&amp;quot; die letzte des Menüs)&lt;br /&gt;
|-&lt;br /&gt;
|| &amp;lt;tt&amp;gt;&amp;#039;&amp;#039;C&amp;#039;&amp;#039;&amp;lt;/tt&amp;gt; ||  &amp;lt;tt&amp;gt;a&amp;lt;/tt&amp;gt; (ist aktiv), &amp;lt;tt&amp;gt;i&amp;lt;/tt&amp;gt; (ist nicht aktiv) || gibt an, ob die Gruppe aktiv ist, d.h. ob sie durch einen Klick ausgewählt wurde&lt;br /&gt;
|-&lt;br /&gt;
|| &amp;lt;tt&amp;gt;&amp;#039;&amp;#039;D&amp;#039;&amp;#039;&amp;lt;/tt&amp;gt; ||  &amp;lt;tt&amp;gt;exp&amp;lt;/tt&amp;gt; (ausgeklappt), cll(eingeklappt) || gibt an, ob die Untergruppen dieser Gruppe ausgeklappt sind oder nicht&lt;br /&gt;
|-&lt;br /&gt;
|| &amp;lt;tt&amp;gt;&amp;#039;&amp;#039;E&amp;#039;&amp;#039;&amp;lt;/tt&amp;gt; ||  &amp;lt;tt&amp;gt;_hover&amp;lt;/tt&amp;gt; (Mauszeiger ist über dem Element), nichts (Mauszeiger ist nicht über dem Element) || gibt an, ob sich der Mauszeiger über dem Gruppennamen befindet oder nicht&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Mithilfe dieses Schemas kann man nun bestimmen, welche CSS-Klassen man in der CSS-Datei angeben muss um bestimmte Effekte hervorzurufen.&lt;br /&gt;
Möchte man beispielsweise, dass alle Elemente der zweitobersten Ebene blinken, wenn der Mauszeiger über dem Element ist, so notiert man in der CSS-Datei:&lt;br /&gt;
&amp;lt;code&amp;gt;[css, N]&lt;br /&gt;
div#course_categories_menu div#level_1_r_a_exp_hover,&lt;br /&gt;
div#course_categories_menu div#level_1_r_a_cll_hover,&lt;br /&gt;
div#course_categories_menu div#level_1_r_i_exp_hover,&lt;br /&gt;
div#course_categories_menu div#level_1_r_i_cll_hover,&lt;br /&gt;
div#course_categories_menu div#level_1_e_a_exp_hover,&lt;br /&gt;
div#course_categories_menu div#level_1_e_a_cll_hover,&lt;br /&gt;
div#course_categories_menu div#level_1_e_i_exp_hover,&lt;br /&gt;
div#course_categories_menu div#level_1_e_i_cll_hover {&lt;br /&gt;
  text-decoration:blink;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Diese Struktur der &amp;lt;tt&amp;gt;div&amp;lt;/tt&amp;gt;-Tags wiederholt sich mit tieferen Gruppenebenen / Untergruppen. Zum Beispiel tauchen die &amp;lt;tt&amp;gt;div&amp;lt;/tt&amp;gt;-Tags der Untergruppen vom &amp;#039;&amp;#039;Über uns&amp;#039;&amp;#039;-Menüpunkt aus der Muster-Website 3 innerhalb des &amp;lt;tt&amp;gt;group_fold_4&amp;lt;/tt&amp;gt; - &amp;lt;tt&amp;gt;div&amp;lt;/tt&amp;gt; - Tags auf.&lt;br /&gt;
&lt;br /&gt;
Weitere Informationen über die CSS-Klassen kann man schnell erhalten, indem man sich den HTML-Code eines generierten dynamischen Menüs anschaut, zum Beispiel aus der Muster-Website 3.&lt;br /&gt;
&lt;br /&gt;
==Templates==&lt;br /&gt;
Diese Templates liegen im Ordner &amp;lt;tt&amp;gt;dynpg/plugins/DPGdynmenu/templates&amp;lt;/tt&amp;gt;. Hier finden sie Ordner, die jeweils eine &amp;lt;tt&amp;gt;menu.tpl&amp;lt;/tt&amp;gt; enthalten. Welcher dieser Ordner aktiv ist, bestimmen Sie durch das Global &amp;lt;tt&amp;gt;$GLOBALS[&amp;quot;DynPG&amp;quot;]-&amp;gt;SetParam_PlugIn_Template(&amp;#039;DPGdynmenu&amp;#039;, &amp;#039;TEMPLATEORDNER&amp;#039;);&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Die Templates dienen als Vorlage für die Generierung des HTML-Codes der dynamischen Navigation. In ihnen werden auch die CSS-Klassen definiert, welche in [[#CSS|CSS]] erklärt wurden. Außerdem finden hier Templateplatzhalter der Form &amp;lt;tt&amp;gt;&amp;lt;nowiki&amp;gt;{$PLATZHALTER}&amp;lt;/nowiki&amp;gt;&amp;lt;/tt&amp;gt; Verwendung, die DynPG dynamisch durch Inhalt ersetzt.&lt;br /&gt;
&lt;br /&gt;
Das Template &amp;#039;&amp;#039;horizontal&amp;#039;&amp;#039; der Musterwebsite 3 generiert beispielsweise ein horizontales Menü, während das Template &amp;#039;&amp;#039;intelligent&amp;#039;&amp;#039; ein vertikales Menü erzeugt.&lt;br /&gt;
&lt;br /&gt;
Modifikationen an den Templates sind recht komplex. Sollten Sie vorhaben hier Änderungen durchzuführen, wenden Sie sich an das DynPG-Forum.&lt;br /&gt;
&lt;br /&gt;
==Feste Links einbauen==&lt;br /&gt;
&lt;br /&gt;
Hierzu erstellt man im Backend eine Gruppe mit dem Namen des festen Links und merkt sich die Gruppennummer. Mittels des Plugin-Parameters &amp;lt;tt&amp;gt;&amp;#039;href_subpages&amp;#039;&amp;lt;/tt&amp;gt; setzt man für diese Gruppennummer nun als Ziel die Datei &amp;lt;tt&amp;gt;counter.php&amp;lt;/tt&amp;gt; fest und übergibt dieser als Parameter das feste Linkziel. Beispiel: Wir wollen einen Link auf die Google-Webseite setzen. Also erstellen wir im Backend eine Gruppe mit dem Namen &amp;#039;&amp;#039;Google-Websuche&amp;#039;&amp;#039; und notieren die Gruppennummer (z.B. 33). In die PHP-Datei unserer dynamischen Navigation fügen wir nun folgendes ein:&lt;br /&gt;
&amp;lt;code&amp;gt;[php, N]&lt;br /&gt;
$GLOBALS[&amp;quot;DynPG&amp;quot;]-&amp;gt;SetParam_PlugIn_Param(&lt;br /&gt;
  &amp;#039;DPGdynmenu&amp;#039;,&lt;br /&gt;
  &amp;#039;href_subpages&amp;#039;,&lt;br /&gt;
  Array(&lt;br /&gt;
	33 =&amp;gt; Array(&lt;br /&gt;
      &amp;#039;page&amp;#039; =&amp;gt; &amp;#039;counter.php?inc=http://www.google.com&amp;#039;,&lt;br /&gt;
      &amp;#039;successors&amp;#039; =&amp;gt; true&lt;br /&gt;
    )		&lt;br /&gt;
  )&lt;br /&gt;
);&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Mehrsprachiges Menü==&lt;br /&gt;
&lt;br /&gt;
Hierzu gibt es einen Thread in unserem Forum unter [http://www.dynpg.ch/dynpg-forum.php?t=&amp;amp;read_group=30&amp;amp;thread_id=47&amp;amp;tt=Sprachwechsel]. Die grundsätzliche Idee ist (bei zwei Sprachen) zwei Gruppenbäume im Backend aufzubauen. Die oberste Gruppe des ersten Baumes wäre beispielsweise die Gruppe &amp;#039;&amp;#039;Deutsch&amp;#039;&amp;#039;, die oberste Gruppe des zweiten Baumes wäre zum Beispiel &amp;#039;&amp;#039;English&amp;#039;&amp;#039;.&lt;br /&gt;
&lt;br /&gt;
In der zweiten Ebene kommen dann unter &amp;#039;&amp;#039;Deutsch&amp;#039;&amp;#039; bzw. &amp;#039;&amp;#039;English&amp;#039;&amp;#039; Untergruppen wie &amp;#039;&amp;#039;News&amp;#039;&amp;#039;/&amp;#039;&amp;#039;Nachrichten&amp;#039;&amp;#039;, &amp;#039;&amp;#039;Produkte&amp;#039;&amp;#039;/&amp;#039;&amp;#039;Products&amp;#039;&amp;#039;, &amp;#039;&amp;#039;Hilfe&amp;#039;&amp;#039;/&amp;#039;&amp;#039;Support&amp;#039;&amp;#039; und so weiter. Man erstellt sich nun zwei PHP-Dateien (&amp;lt;tt&amp;gt;navi_de.php&amp;lt;/tt&amp;gt;, &amp;lt;tt&amp;gt;navi_en.php&amp;lt;/tt&amp;gt;) wie oben beschrieben [[#Einrichten|Einrichten]]. In diesen wird dann mit den Befehlen aus [[#Globalsreferenz|Globalsreferenz]] der jeweils nicht passende Baum ausgeblendet.&lt;br /&gt;
&lt;br /&gt;
==Siehe auch==&lt;br /&gt;
*[[Sitemap-Tutorial]]&lt;br /&gt;
*[[Implementation eines kompletten Hauptmenüs]]&lt;br /&gt;
*[[Code-Schnipsel Einfaches Hauptmenü]]&lt;br /&gt;
*[[Code-Schnipsel Menüeinträge sortieren]]&lt;br /&gt;
*[[Snippet-Beispiele]]&lt;/div&gt;</summary>
		<author><name>Sebastian</name></author>	</entry>

	<entry>
		<id>https://wiki-en.dynpg.org/wiki_de/index.php?title=Dynamische_Navigation</id>
		<title>Dynamische Navigation</title>
		<link rel="alternate" type="text/html" href="https://wiki-en.dynpg.org/wiki_de/index.php?title=Dynamische_Navigation"/>
				<updated>2009-08-17T15:49:13Z</updated>
		
		<summary type="html">&lt;p&gt;Sebastian: /* Beschreibung */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Kategorie:Module]]&lt;br /&gt;
==Beschreibung==&lt;br /&gt;
Die dynamische Navigation ist Bestandteil des kostenlosen Grundmoduls von DynPG und bereits im Standard-DynPG integriert. Es ist keine separate Installation notwendig. Sie ermöglicht es Ihnen einfach und flexibel Navigationen auf Ihrer Homepage zu erstellen. Die Anwendungsmöglichkeiten gestalten sich dabei flexibel als normales Menü oder auch als Sitemap.&lt;br /&gt;
&lt;br /&gt;
Ein dynamisches Menü bildet die Gruppenstruktur im Backend, also die Abfolge von Gruppen, Untergruppen und Artikeln in einer Gruppe, als Menü ab, macht also die logische Struktur ihrer Artikel aus dem Backend auf einer Webseite sichtbar und navigierbar. &lt;br /&gt;
&lt;br /&gt;
Der Vorteil ist, dass man im Backend neue Gruppen o.ä. erstellt und diese dann im Hauptmenü erscheinen. Dies ist auch bei Untergruppen nützlich,&lt;br /&gt;
z.B. wenn eine neue Untergruppe &amp;#039;&amp;#039;Lokalnachrichten&amp;#039;&amp;#039; zur Hauptgruppe &amp;#039;&amp;#039;News&amp;#039;&amp;#039; hinzukommt.&lt;br /&gt;
&lt;br /&gt;
Zum Verständnis der Funktionsvielfalt der dynamischen Navigation ist es hilfreich, einmal eine der [[Muster-Web-Sites|Musterwebsites]] zu installieren und in den entsprechenden Dateien der Musterwebsite die unten erklärten Einstellungsmöglichkeiten nachzuvollziehen und vielleicht auch einmal mit den Optionen herumzuspielen.&lt;br /&gt;
&lt;br /&gt;
==Einrichten==&lt;br /&gt;
&amp;#039;&amp;#039;Anmerkung: Benutzen sie die [[Muster-Web-Sites|Musterwebsites]], so müssen die nachfolgenden zwei Schritte nicht ausgeführt werden, da die dynamische Navigation bereits in den Musterwebsites genutzt wird&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
===Schritt 1: Artikel erstellen mit Platzhalter für die dynamische Navigation===&lt;br /&gt;
Wählen Sie im Menü des Backends &amp;#039;&amp;#039;Gruppen&amp;#039;&amp;#039; aus [[Media:dynmenue01.png|Klick]]. Suchen Sie sich nun eine Gruppe, in der Sie einen Artikel erfassen wollen. Hier wählen wir (die in diesem Falle schon vorhandene) Gruppe &amp;#039;&amp;#039;Startseite/Navigation/Formular&amp;#039;&amp;#039; durch Klick auf ihren Namen aus [[Media:dynmenue02.png|Klick]].&lt;br /&gt;
&lt;br /&gt;
Mit einem Klick auf &amp;#039;&amp;#039;Artikel Formular anzeigen&amp;#039;&amp;#039; [[Media:dynmenue03.PNG|Klick]] und danach auf &amp;#039;&amp;#039;Inhalt bearbeiten&amp;#039;&amp;#039; [[Media:dynmenue04.PNG|Klick]] erscheint der Editor.&lt;br /&gt;
&lt;br /&gt;
In diesem wählen Sie das Symbol für die dynamische Navigation [[Media:dynmenue05.PNG|Klick]], geben noch einen Titel, etwa &amp;#039;&amp;#039;Neue Seitennavigation&amp;#039;&amp;#039;, ein und bestätigen mit einem Klick auf &amp;#039;&amp;#039;Erstellen&amp;#039;&amp;#039; [[Media:dynmenue06.PNG|Klick]]. &lt;br /&gt;
&lt;br /&gt;
Hat alles geklappt, können Sie im unteren Teil der Seite den neuen Artikel sehen [[Media:dynmenue07.PNG|Klick]]. Die Nummer des Artikels benötigen Sie erneut, wenn Sie in eine PHP-Datei mittels eines Globals die dynamische Navigation einbinden.&lt;br /&gt;
&lt;br /&gt;
===Schritt 2: PHP-Datei für die dynamische Navigation erstellen===&lt;br /&gt;
Folgende Ordner-Struktur könnte bei Ihnen vorliegen:&lt;br /&gt;
:*&amp;lt;tt&amp;gt;http-docs/dynpg&amp;lt;/tt&amp;gt; : hier liegt das DynPG-CMS&lt;br /&gt;
:*&amp;lt;tt&amp;gt;http-docs/index.php&amp;lt;/tt&amp;gt; : die Hauptseite Ihrer Website&lt;br /&gt;
:*&amp;lt;tt&amp;gt;http-docs/folgeseite.php&amp;lt;/tt&amp;gt; : eine andere PHP-Datei der Website&lt;br /&gt;
:*&amp;lt;tt&amp;gt;http-docs/inc/navi.php&amp;lt;/tt&amp;gt; : In diese Datei platziert man häufig den Code für die Navigation, dadurch ist er leichter wiederverwendbar&lt;br /&gt;
&lt;br /&gt;
Den nötigen Code der &amp;lt;tt&amp;gt;inc/navi.php&amp;lt;/tt&amp;gt; kann man anhand der [[Muster-Web-Sites|Musterwebsites]] nachvollziehen (Für eine genauere Erklärung der einzelnen verwendeten Globals siehe die [[Funktionsreferenz/Globals|Globals-Übersicht von DynPG]] und weiter unten die [[#Globalsreferenz|Funktionsübersicht der dynamischen Navigation]]) :&lt;br /&gt;
:*&amp;#039;&amp;#039;&amp;#039;&amp;lt;tt&amp;gt;inc/navi.php&amp;lt;/tt&amp;gt;:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;code&amp;gt;[php, N]&lt;br /&gt;
&amp;lt;?php&lt;br /&gt;
  $GLOBALS[&amp;quot;DynPG&amp;quot;]-&amp;gt;SetParam_PlugIn_Template(&amp;#039;DPGdynmenu&amp;#039;, &amp;#039;intelligent&amp;#039;);&lt;br /&gt;
  $GLOBALS[&amp;quot;DynPG&amp;quot;]-&amp;gt;SetParam_PlugIn_Param(&amp;#039;DPGdynmenu&amp;#039;, &amp;#039;real_expand&amp;#039;, TRUE);&lt;br /&gt;
  $GLOBALS[&amp;quot;DynPG&amp;quot;]-&amp;gt;SetParam_PlugIn_Param(&amp;#039;DPGdynmenu&amp;#039;, &amp;#039;order&amp;#039;, Array(&amp;#039;INDEX&amp;#039;));&lt;br /&gt;
  $GLOBALS[&amp;quot;DynPG&amp;quot;]-&amp;gt;SetParam_PlugIn_Param(&amp;#039;DPGdynmenu&amp;#039;, &amp;#039;sort&amp;#039;, Array(&amp;#039;ASC&amp;#039;));&lt;br /&gt;
  $GLOBALS[&amp;quot;DynPG&amp;quot;]-&amp;gt;SetParam_PlugIn_Param(&amp;#039;DPGdynmenu&amp;#039;, &amp;#039;href_page_groups&amp;#039;, &amp;#039;../folgeseite.php&amp;#039;);&lt;br /&gt;
  $GLOBALS[&amp;quot;DynPG&amp;quot;]-&amp;gt;SetParam_PlugIn_Param(&amp;#039;DPGdynmenu&amp;#039;, &amp;#039;href_page_articles&amp;#039;, &amp;#039;../folgeseite.php&amp;#039;);&lt;br /&gt;
  $GLOBALS[&amp;quot;DynPG&amp;quot;]-&amp;gt;SetParam_PlugIn_Param(&amp;#039;DPGdynmenu&amp;#039;, &amp;#039;href_page_detail&amp;#039;, &amp;#039;../folgeseite.php&amp;#039;);&lt;br /&gt;
  $GLOBALS[&amp;quot;DynPG&amp;quot;]-&amp;gt;SetParam_PlugIn_Param(&lt;br /&gt;
    &amp;#039;DPGdynmenu&amp;#039;,&lt;br /&gt;
    &amp;#039;href_subpages&amp;#039;,&lt;br /&gt;
    Array(&lt;br /&gt;
      0 =&amp;gt; Array(&lt;br /&gt;
        &amp;#039;page&amp;#039; =&amp;gt; &amp;#039;../formular.php{query}&amp;#039;,&lt;br /&gt;
        &amp;#039;successors&amp;#039; =&amp;gt; true&lt;br /&gt;
      ),&lt;br /&gt;
      21 =&amp;gt; Array(&lt;br /&gt;
        &amp;#039;page&amp;#039; =&amp;gt; &amp;#039;../blog.php{query}&amp;#039;,&lt;br /&gt;
        &amp;#039;successors&amp;#039; =&amp;gt; true&lt;br /&gt;
      ),&lt;br /&gt;
      15 =&amp;gt; Array(&lt;br /&gt;
        &amp;#039;page&amp;#039; =&amp;gt; &amp;#039;../sitemap.php{query}&amp;#039;,&lt;br /&gt;
        &amp;#039;successors&amp;#039; =&amp;gt; true&lt;br /&gt;
      ),&lt;br /&gt;
      16 =&amp;gt; Array(&lt;br /&gt;
        &amp;#039;page&amp;#039; =&amp;gt; &amp;#039;../veranstaltungen.php{query}&amp;#039;,&lt;br /&gt;
        &amp;#039;successors&amp;#039; =&amp;gt; true&lt;br /&gt;
      ),&lt;br /&gt;
      21 =&amp;gt; Array(&lt;br /&gt;
        &amp;#039;page&amp;#039; =&amp;gt; &amp;#039;../blog.php{query}&amp;#039;,&lt;br /&gt;
        &amp;#039;successors&amp;#039; =&amp;gt; true&lt;br /&gt;
      ),&lt;br /&gt;
      6 =&amp;gt; Array(&lt;br /&gt;
        &amp;#039;page&amp;#039; =&amp;gt; &amp;#039;../index.php{query}&amp;#039;,&lt;br /&gt;
        &amp;#039;successors&amp;#039; =&amp;gt; true&lt;br /&gt;
      )&lt;br /&gt;
    )&lt;br /&gt;
  );    &lt;br /&gt;
  $GLOBALS[&amp;quot;DynPG&amp;quot;]-&amp;gt;SetupTemplate(&amp;#039;uneditable&amp;#039;); &lt;br /&gt;
  $GLOBALS[&amp;quot;DynPG&amp;quot;]-&amp;gt;SetParam_A_Anytime(TRUE);&lt;br /&gt;
  $GLOBALS[&amp;quot;DynPG&amp;quot;]-&amp;gt;SetParam_A_CategoryNavigation(FALSE);&lt;br /&gt;
  $GLOBALS[&amp;quot;DynPG&amp;quot;]-&amp;gt;SetParam_A_PrintNavigation(FALSE);&lt;br /&gt;
  $GLOBALS[&amp;quot;DynPG&amp;quot;]-&amp;gt;SetParam_A_ArticleHeader(FALSE);&lt;br /&gt;
  $GLOBALS[&amp;quot;DynPG&amp;quot;]-&amp;gt;SetParam_A_Article(1);&lt;br /&gt;
&lt;br /&gt;
  $GLOBALS[&amp;quot;DynPG&amp;quot;]-&amp;gt;Write_Article();&lt;br /&gt;
  $GLOBALS[&amp;quot;DynPG&amp;quot;]-&amp;gt;SetupTemplate(&amp;#039;default&amp;#039;);  &lt;br /&gt;
?&amp;gt;&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Man kann nun in der &amp;lt;tt&amp;gt;index.php&amp;lt;/tt&amp;gt; mittels &lt;br /&gt;
&amp;lt;code&amp;gt;[php, N]&lt;br /&gt;
&amp;lt;?php include(&amp;quot;inc/navi.php&amp;quot;); ?&amp;gt;&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
die Navigation einbinden, ebenso z.B. auch in der &amp;lt;tt&amp;gt;folgeseite.php&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Die dynamische Navigation kann nun an verschiedenen Stellen angepasst werden. Neben den Globals in der PHP-Datei ([[#Globalsreferenz|Globalsreferenz]]) ist dies im Backend durch das Erstellen von Gruppen und Artikeln möglich ([[#Dynamische_Navigation_im_Backend|Dynamische Navigation im Backend]]). Erweiterte Möglichkeiten ergeben sich durch das [[#CSS|CSS]] und die [[#Templates|Templates]].&lt;br /&gt;
&lt;br /&gt;
==Die dynamische Navigation im Backend==&lt;br /&gt;
&lt;br /&gt;
Wie bereits erwähnt, bildet die dynamische Navigation die Gruppenstruktur des Backends auf einer Webseite ab. In der Musterwebsite 3 ist im Backend zum Beispiel folgende Gruppenstruktur zu erkennen:&lt;br /&gt;
[[Media:dynmenue08.PNG|Klick]].&lt;br /&gt;
Auf der Website sieht dies dann wie folgt aus:&lt;br /&gt;
[[Media:dynmenue09.PNG|Klick]]&lt;br /&gt;
oder auch&lt;br /&gt;
[[Media:dynmenue10.PNG|Klick]]&lt;br /&gt;
.&lt;br /&gt;
&lt;br /&gt;
Welche Untergruppen angezeigt werden, hängt zum einen davon ab, welcher Navigationspunkt gerade aktiv ist (also angeklickt wurde) und zum anderen von den benutzten Globals in der PHP-Datei ([[#Globalsreferenz|z.B. Parameter &amp;#039;full_load&amp;#039;]]) und den Einstellungen der Gruppe im Backend. &lt;br /&gt;
&lt;br /&gt;
Die Eigenschaftsseite der Gruppe erreicht man über einen Klick auf das Stiftsymbol&lt;br /&gt;
([[Media:dynmenue11.PNG|Klick]])&lt;br /&gt;
. Unter dem Punkt &amp;#039;&amp;#039;Veröffentlichen&amp;#039;&amp;#039;&lt;br /&gt;
([[Media:dynmenue12.PNG|Klick]])&lt;br /&gt;
wählt man nun eine Option aus: &lt;br /&gt;
:* &amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039;Ja&amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039;: die Gruppe wird auf der gesamten Website angezeigt, also auch in der dynamischen Navigation&lt;br /&gt;
:* &amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039;Nein&amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039;: die Gruppe wird auf der ganze Website nicht angezeigt, also weder in Gruppenliste noch in der dynamischen Navigation&lt;br /&gt;
:* &amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039;Ja, ohne Navigation&amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039;: die Gruppe wird zwar normal auf der Website angezeigt, jedoch in der dynamischen Navigation ausgeblendet&lt;br /&gt;
:* &amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039;Ja, ohne Subnavigation&amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039;: wie &amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039;Ja&amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039;, jedoch werden von diesem Menüpunkt in der dynamischen Navigation nur Untergruppen angezeigt, jedoch keine Artikel, die eventuell in dieser Gruppe liegen&lt;br /&gt;
&lt;br /&gt;
==Globalsreferenz==&lt;br /&gt;
===Globals direkt für das Plugin===&lt;br /&gt;
&amp;#039;&amp;#039;Die Parameter haben Default-Werte, müssen also nicht immer gesetzt werden&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
*&amp;#039;&amp;#039;&amp;#039;&amp;lt;tt&amp;gt;$GLOBALS[&amp;quot;DynPG&amp;quot;]-&amp;gt;SetParam_PlugIn_Template(&amp;#039;DPGdynmenu&amp;#039;, &amp;#039;TEMPLATEORDNER&amp;#039;);&amp;lt;/tt&amp;gt;:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
:Hiermit wählt man den Template-Ordner für die dynamische Navigation aus. Diese Template-Ordner liegen in &amp;lt;tt&amp;gt;dynpg/plugins/DPGdynmenu/templates&amp;lt;/tt&amp;gt;. Aus diesem Ordner wird die Template-Datei &amp;lt;tt&amp;gt;menu.tpl&amp;lt;/tt&amp;gt; zur Generierung des Menüs genommen. Dies ist unabhängig vom Global &amp;lt;tt&amp;gt;$GLOBALS[&amp;quot;DynPG&amp;quot;]-&amp;gt;SetupTemplate(...);&amp;lt;/tt&amp;gt;, der sozusagen das Template des Artikels bestimmt, welcher die dynamische Navigation enthält.&lt;br /&gt;
&lt;br /&gt;
*&amp;#039;&amp;#039;&amp;#039;&amp;lt;tt&amp;gt;$GLOBALS[&amp;quot;DynPG&amp;quot;]-&amp;gt;SetParam_PlugIn_Param(&amp;#039;DPGdynmenu&amp;#039;, PARAMETERNAME, PARAMETERWERT);&amp;lt;/tt&amp;gt;&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
:{| class=&amp;quot;dynpgwikitable&amp;quot;&lt;br /&gt;
! &amp;lt;tt&amp;gt;PARAMETERNAME&amp;lt;/tt&amp;gt; !! &amp;lt;tt&amp;gt;PARAMETERWERT&amp;lt;/tt&amp;gt; !! Beschreibung&lt;br /&gt;
|-&lt;br /&gt;
||&amp;lt;tt&amp;gt;&amp;#039;order&amp;#039;&amp;lt;/tt&amp;gt; || &amp;lt;tt&amp;gt;Array(&amp;#039;INDEX&amp;#039;)&amp;lt;/tt&amp;gt; oder &amp;lt;tt&amp;gt;Array(&amp;#039;NAME&amp;#039;)&amp;lt;/tt&amp;gt; || Reihenfolge der Gruppen in der Navigation nach Name oder im Backend gesetzten Index&lt;br /&gt;
|-&lt;br /&gt;
||&amp;lt;tt&amp;gt;&amp;#039;sort&amp;#039;&amp;lt;/tt&amp;gt; || &amp;lt;tt&amp;gt;Array(&amp;#039;ASC&amp;#039;)&amp;lt;/tt&amp;gt; oder &amp;lt;tt&amp;gt;Array(&amp;#039;DESC&amp;#039;)&amp;lt;/tt&amp;gt; || aufsteigende oder absteigende Sortierung&lt;br /&gt;
|-&lt;br /&gt;
||&amp;lt;tt&amp;gt;&amp;#039;order_articles&amp;#039;&amp;lt;/tt&amp;gt; || z.B. &amp;lt;tt&amp;gt;Array(&amp;#039;INDEX&amp;#039;)&amp;lt;/tt&amp;gt; || sortiert Artikel in der dynamischen Navigation (falls diese angezeigt werden) &lt;br /&gt;
|-&lt;br /&gt;
||&amp;lt;tt&amp;gt;&amp;#039;sort_articles&amp;#039;&amp;lt;/tt&amp;gt; || z.B. &amp;lt;tt&amp;gt;Array(&amp;#039;ASC&amp;#039;)&amp;lt;/tt&amp;gt; || bestimmt aufsteigende oder absteigende Sortierreihenfolge der Artikel&lt;br /&gt;
|-&lt;br /&gt;
||&amp;lt;tt&amp;gt;&amp;#039;href_page_groups&amp;#039;&amp;lt;/tt&amp;gt; || z.B. &amp;lt;tt&amp;gt;&amp;#039;../folgeseite.php&amp;#039;&amp;lt;/tt&amp;gt; || Seite auf die weiterverlinkt wird bei einem Klick auf den Gruppennamen (ACHTUNG &amp;lt;tt&amp;gt;&amp;#039;../&amp;#039;&amp;lt;/tt&amp;gt; wichtig, siehe Ordnerstruktur weiter oben!)&lt;br /&gt;
|-&lt;br /&gt;
||&amp;lt;tt&amp;gt;&amp;#039;href_page_articles&amp;#039;&amp;lt;/tt&amp;gt; || z.B. &amp;lt;tt&amp;gt;&amp;#039;../folgeseite.php&amp;#039;&amp;lt;/tt&amp;gt; ||&lt;br /&gt;
|-&lt;br /&gt;
||&amp;lt;tt&amp;gt;&amp;#039;href_page_detail&amp;#039;&amp;lt;/tt&amp;gt; || z.B. &amp;lt;tt&amp;gt;&amp;#039;../folgeseite.php&amp;#039;&amp;lt;/tt&amp;gt; || Seite auf die weiterverlinkt wird bei einem Klick auf Artikelnamen in dynamischer Navigation (sofern Artikel angezeigt werden)&lt;br /&gt;
|-&lt;br /&gt;
||&amp;lt;tt&amp;gt;&amp;#039;href_subpages&amp;#039;&amp;lt;/tt&amp;gt; || z.B. &amp;lt;pre&amp;gt;Array(&lt;br /&gt;
  GRUPPENNUMMER =&amp;gt; Array( &lt;br /&gt;
    &amp;#039;page&amp;#039; =&amp;gt; &amp;#039;PHP-SEITE{query}&amp;#039;,&lt;br /&gt;
    &amp;#039;successors&amp;#039; =&amp;gt; true&lt;br /&gt;
  ),&lt;br /&gt;
...&lt;br /&gt;
...&lt;br /&gt;
...&lt;br /&gt;
  GRUPPENNUMMER =&amp;gt; Array( &lt;br /&gt;
    &amp;#039;page&amp;#039; =&amp;gt; &amp;#039;PHP-SEITE{query}&amp;#039;,&lt;br /&gt;
    &amp;#039;successors&amp;#039; =&amp;gt; true&lt;br /&gt;
  ) &lt;br /&gt;
)&amp;lt;/pre&amp;gt; || Ermöglicht für bestimmte Gruppen auf eine andere &amp;lt;tt&amp;gt;PHP-SEITE&amp;lt;/tt&amp;gt; zu verlinken&lt;br /&gt;
|-&lt;br /&gt;
||&amp;lt;tt&amp;gt;&amp;#039;full_load&amp;#039;&amp;lt;/tt&amp;gt; || &amp;lt;tt&amp;gt;false&amp;lt;/tt&amp;gt; oder &amp;lt;tt&amp;gt;true&amp;lt;/tt&amp;gt; || zeigt unabhängig von angeklickten Gruppen den kompletten Navigationsbaum mit Untergruppen an (oder auch nicht)&lt;br /&gt;
|-&lt;br /&gt;
|| &amp;lt;tt&amp;gt;&amp;#039;full_load_articles&amp;#039;&amp;lt;/tt&amp;gt; || &amp;lt;tt&amp;gt;false&amp;lt;/tt&amp;gt; ||&lt;br /&gt;
|-&lt;br /&gt;
|| &amp;lt;tt&amp;gt;&amp;#039;limit_articles&amp;#039;&amp;lt;/tt&amp;gt; || &amp;lt;tt&amp;gt;false&amp;lt;/tt&amp;gt; ||&lt;br /&gt;
|-&lt;br /&gt;
|| &amp;lt;tt&amp;gt;&amp;#039;expand_subtree&amp;#039;&amp;lt;/tt&amp;gt; || &amp;lt;tt&amp;gt;Array(4)&amp;lt;/tt&amp;gt; oder &amp;lt;tt&amp;gt;Array(4,5)&amp;lt;/tt&amp;gt; etc. || zeigt die Untergruppen von Gruppe 4 (bzw. 4 und 5) in jedem Fall an. Sei Gruppe 4 bspw. die Gruppe &amp;#039;&amp;#039;News&amp;#039;&amp;#039; des Backends, dann werden die beispielhaften Untergruppen &amp;#039;&amp;#039;Lokalnachrichten&amp;#039;&amp;#039; und &amp;#039;&amp;#039;Weltnachrichten&amp;#039;&amp;#039; immer zur Navigation angeboten, auch wenn sich ein Benutzer auf der Website gerade einen Artikel aus der Gruppe &amp;#039;&amp;#039;Kontakt&amp;#039;&amp;#039; anschaut&lt;br /&gt;
|- &lt;br /&gt;
|| &amp;lt;tt&amp;gt;&amp;#039;implode_subtree&amp;#039;&amp;lt;/tt&amp;gt; || &amp;lt;tt&amp;gt;Array(4)&amp;lt;/tt&amp;gt; oder &amp;lt;tt&amp;gt;Array(4,5)&amp;lt;/tt&amp;gt; etc. || zeigt die Untergruppen von Gruppe 4 (bzw. 4 und 5) in jedem Fall NICHT an. Anmerkung: der Parameter &amp;lt;tt&amp;gt;expand_subtree&amp;lt;/tt&amp;gt; überschreibt diese Einstellung! Ist also eine Gruppe in beiden Parametern aufgeführt, so werden die Untergruppen dieser Gruppe immer angezeigt, da der Parameter &amp;lt;tt&amp;gt;expand_subtree&amp;lt;/tt&amp;gt; wichtiger ist.&lt;br /&gt;
|-&lt;br /&gt;
|| &amp;lt;tt&amp;gt;&amp;#039;real_expand&amp;#039;&amp;lt;/tt&amp;gt; || &amp;lt;tt&amp;gt;false&amp;lt;/tt&amp;gt; ||&lt;br /&gt;
|-&lt;br /&gt;
|| &amp;lt;tt&amp;gt;&amp;#039;speed_mode&amp;#039;&amp;lt;/tt&amp;gt; || &amp;lt;tt&amp;gt;false&amp;lt;/tt&amp;gt; ||&lt;br /&gt;
|-&lt;br /&gt;
|| &amp;lt;tt&amp;gt;&amp;#039;parent_select&amp;#039;&amp;lt;/tt&amp;gt; || &amp;lt;tt&amp;gt;true&amp;lt;/tt&amp;gt; ||&lt;br /&gt;
|-&lt;br /&gt;
|| &amp;lt;tt&amp;gt;&amp;#039;max_depth&amp;#039;&amp;lt;/tt&amp;gt; || &amp;lt;tt&amp;gt;null&amp;lt;/tt&amp;gt; oder &amp;lt;tt&amp;gt;0&amp;lt;/tt&amp;gt; oder &amp;lt;tt&amp;gt;1&amp;lt;/tt&amp;gt; etc. || Tiefe bis zu der (Unter-)Gruppen angezeigt werden&lt;br /&gt;
|-&lt;br /&gt;
|| &amp;lt;tt&amp;gt;&amp;#039;min_depth&amp;#039;&amp;lt;/tt&amp;gt; || &amp;lt;tt&amp;gt;null&amp;lt;/tt&amp;gt; oder &amp;lt;tt&amp;gt;0&amp;lt;/tt&amp;gt; oder &amp;lt;tt&amp;gt;1&amp;lt;/tt&amp;gt; etc. || Tiefe, die eine Gruppe mindestens haben muss um angezeigt zu werden, z.B. 1 um oberste Ebene der Gruppen aus dem Backend auszublenden&lt;br /&gt;
|-&lt;br /&gt;
|| &amp;lt;tt&amp;gt;&amp;#039;fetch_only&amp;#039;&amp;lt;/tt&amp;gt; || &amp;lt;tt&amp;gt;null&amp;lt;/tt&amp;gt; ||&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Sinnvolle Globals vom DynPG-CMS===&lt;br /&gt;
&lt;br /&gt;
*&amp;#039;&amp;#039;&amp;#039;&amp;lt;tt&amp;gt;$GLOBALS[&amp;quot;DynPG&amp;quot;]-&amp;gt;SetupTemplate(&amp;#039;uneditable&amp;#039;);&amp;lt;/tt&amp;gt; :&amp;#039;&amp;#039;&amp;#039; ermöglicht Navigation in der Seite obwohl Editiermodus im Backend angeschaltet ist&lt;br /&gt;
*&amp;#039;&amp;#039;&amp;#039;&amp;lt;tt&amp;gt;$GLOBALS[&amp;quot;DynPG&amp;quot;]-&amp;gt;SetParam_A_Anytime(TRUE);&amp;lt;/tt&amp;gt; :&amp;#039;&amp;#039;&amp;#039; Menü soll immer angezeigt werden&lt;br /&gt;
*&amp;#039;&amp;#039;&amp;#039;&amp;lt;tt&amp;gt;$GLOBALS[&amp;quot;DynPG&amp;quot;]-&amp;gt;SetParam_A_CategoryNavigation(FALSE);&amp;lt;/tt&amp;gt; :&amp;#039;&amp;#039;&amp;#039; keine weitere Navigation(Breadcrumb) anzeigen&lt;br /&gt;
*&amp;#039;&amp;#039;&amp;#039;&amp;lt;tt&amp;gt;$GLOBALS[&amp;quot;DynPG&amp;quot;]-&amp;gt;SetParam_A_PrintNavigation(FALSE);&amp;lt;/tt&amp;gt; :&amp;#039;&amp;#039;&amp;#039; kein Link zu Print-Seite anzeigen&lt;br /&gt;
*&amp;#039;&amp;#039;&amp;#039;&amp;lt;tt&amp;gt;$GLOBALS[&amp;quot;DynPG&amp;quot;]-&amp;gt;SetParam_A_ArticleHeader(FALSE);&amp;lt;/tt&amp;gt; :&amp;#039;&amp;#039;&amp;#039; keine Artikelüberschrift (des Artikels mit dem DynMenü-Platzhalter) und kein Artikelleadtext anzeigen&lt;br /&gt;
*&amp;#039;&amp;#039;&amp;#039;&amp;lt;tt&amp;gt;$GLOBALS[&amp;quot;DynPG&amp;quot;]-&amp;gt;SetParam_A_Article(1);&amp;lt;/tt&amp;gt; :&amp;#039;&amp;#039;&amp;#039; Artikel mit dem Dynmenü-Platzhalter setzen (&amp;#039;&amp;#039;&amp;#039;Hier die Artikelnummer aus [[#Einrichten|Einrichten]] einfügen!&amp;#039;&amp;#039;&amp;#039;)&lt;br /&gt;
*&amp;#039;&amp;#039;&amp;#039;&amp;lt;tt&amp;gt;$GLOBALS[&amp;quot;DynPG&amp;quot;]-&amp;gt;Write_Article();&amp;lt;/tt&amp;gt; :&amp;#039;&amp;#039;&amp;#039; Artikel ausgeben&lt;br /&gt;
*&amp;#039;&amp;#039;&amp;#039;&amp;lt;tt&amp;gt;$GLOBALS[&amp;quot;DynPG&amp;quot;]-&amp;gt;SetupTemplate(&amp;#039;default&amp;#039;);&amp;lt;/tt&amp;gt; :&amp;#039;&amp;#039;&amp;#039; andere Teile der Website haben sicherlich andere Templates. Wir setzen daher hier wieder auf das Standard-Template zurück&lt;br /&gt;
&lt;br /&gt;
==CSS==&lt;br /&gt;
Die CSS-Dateien für die dynamische Navigation liegen im Verzeichnis &amp;lt;tt&amp;gt;dynpg/plugins/DPGdynmenu/styles&amp;lt;/tt&amp;gt;. Die Datei &amp;lt;tt&amp;gt;menu.css&amp;lt;/tt&amp;gt; ist hierbei meist die ausschlaggebende, so zum Beispiel in der Navigation der Musterwebsite 3.&lt;br /&gt;
&lt;br /&gt;
Die CSS-Klassen und -Bezeichner aus dieser Datei sind nach einem bestimmten Schema benannt. Hat man dieses einmal verstanden, so lassen sich leicht Änderungen an speziellen Teilen des Erscheinungsbildes der dynamischen Navigation durchführen.&lt;br /&gt;
&lt;br /&gt;
Die dynamische Navigation wird von einem &amp;lt;tt&amp;gt;div&amp;lt;/tt&amp;gt;-Tag mit der Id &amp;lt;tt&amp;gt;course_categories_menu&amp;lt;/tt&amp;gt; umschlossen.&lt;br /&gt;
&lt;br /&gt;
Diese Angaben gelten also grundsätzlich für die gesamte dynamische Navigation und werden gegebenenfalls weitervererbt.&lt;br /&gt;
Im &amp;lt;tt&amp;gt;menu.css&amp;lt;/tt&amp;gt; der Muster-Website 3 steht beispielsweise:&lt;br /&gt;
&amp;lt;code&amp;gt;[css, N]&lt;br /&gt;
div#course_categories_menu {&lt;br /&gt;
  margin: 0;&lt;br /&gt;
  padding: 0;&lt;br /&gt;
  width: 180px;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Um zu verhindern, dass die CSS-Angaben dieser Datei auch auf andere Teile der Website Einfluss haben, ist vor allen anderen CSS-Definitionen der Datei ebenfalls &amp;lt;tt&amp;gt;div#course_categories_menu&amp;lt;/tt&amp;gt; notiert. Dadurch wirken sich die Angaben nur auf die dynamische Navigation aus.&lt;br /&gt;
&lt;br /&gt;
Innerhalb des &amp;lt;tt&amp;gt;course_categories_menu&amp;lt;/tt&amp;gt; - &amp;lt;tt&amp;gt;div&amp;lt;/tt&amp;gt; - Tags gibt es für jede Gruppe der obersten angezeigten Gruppenebene ein &amp;lt;div&amp;gt;-Tag mit der CSS-Id &amp;lt;tt&amp;gt;group_fold_NUMMER&amp;lt;/tt&amp;gt; wobei &amp;lt;tt&amp;gt;NUMMER&amp;lt;/tt&amp;gt; der Gruppennummer der Gruppe aus dem Backend entspricht. In der Navigation der Muster-Website 3 gibt es also folgende Tags:&lt;br /&gt;
&amp;lt;code&amp;gt;[html, N]&lt;br /&gt;
&amp;lt;div id=&amp;quot;course_categories_menu&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;div id=&amp;quot;group_fold_2&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;  &amp;lt;!--Produkte--&amp;gt;&lt;br /&gt;
  &amp;lt;div id=&amp;quot;group_fold_3&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;  &amp;lt;!--Support--&amp;gt;&lt;br /&gt;
  &amp;lt;div id=&amp;quot;group_fold_9&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;  &amp;lt;!--News--&amp;gt;&lt;br /&gt;
  &amp;lt;div id=&amp;quot;group_fold_4&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;  &amp;lt;!--Über uns--&amp;gt;&lt;br /&gt;
  &amp;lt;div id=&amp;quot;group_fold_5&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;  &amp;lt;!--Kontakt--&amp;gt;&lt;br /&gt;
  &amp;lt;div id=&amp;quot;group_fold_21&amp;quot;&amp;gt;&amp;lt;/div&amp;gt; &amp;lt;!--Blog--&amp;gt;&lt;br /&gt;
  &amp;lt;div id=&amp;quot;group_fold_15&amp;quot;&amp;gt;&amp;lt;/div&amp;gt; &amp;lt;!--Sitemap--&amp;gt;&lt;br /&gt;
  &amp;lt;div id=&amp;quot;group_fold_6&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;  &amp;lt;!--Home--&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
Möchte man nun Eigenschaften nur an einem bestimmten Teil der Navigation machen, so könnte man im CSS-File folgende Angabe machen:&lt;br /&gt;
&amp;lt;code&amp;gt;[css, N]&lt;br /&gt;
div#course_categories_menu div#group_fold_9 {&lt;br /&gt;
  text-decoration:blink;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
Damit würde der Text der Gruppe &amp;#039;&amp;#039;News&amp;#039;&amp;#039; (und eventueller Untergruppen) in der dynamischen Navigation blinken.&lt;br /&gt;
&lt;br /&gt;
Innerhalb der &amp;lt;tt&amp;gt;group_fold_NUMMER&amp;lt;/tt&amp;gt; - &amp;lt;tt&amp;gt;div&amp;lt;/tt&amp;gt; - Tags gibt es nun ein &amp;lt;tt&amp;gt;div&amp;lt;/tt&amp;gt; - Tag, dass (neben einer weiteren CSS-Id) eine CSS-Klasse hat. Diese CSS-Klasse wird nach folgendem Muster gebildet:&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;&amp;lt;tt&amp;gt;level_&amp;#039;&amp;#039;A&amp;#039;&amp;#039;_&amp;#039;&amp;#039;B&amp;#039;&amp;#039;_&amp;#039;&amp;#039;C&amp;#039;&amp;#039;_&amp;#039;&amp;#039;D&amp;#039;&amp;#039;_&amp;#039;&amp;#039;E&amp;#039;&amp;#039;&amp;lt;/tt&amp;gt;&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;dynpgwikitable&amp;quot;&lt;br /&gt;
! Buchstabe !! mögliche Werte !! Beschreibung&lt;br /&gt;
|-&lt;br /&gt;
|| &amp;lt;tt&amp;gt;&amp;#039;&amp;#039;A&amp;#039;&amp;#039;&amp;lt;/tt&amp;gt; || 0 oder 1 oder 2 etc. || gibt das Level der Gruppe an, also die Verzweigungstiefe in der sich die Navigation befindet&lt;br /&gt;
|-&lt;br /&gt;
|| &amp;lt;tt&amp;gt;&amp;#039;&amp;#039;B&amp;#039;&amp;#039;&amp;lt;/tt&amp;gt; || &amp;lt;tt&amp;gt;r&amp;lt;/tt&amp;gt; (nicht letzter), &amp;lt;tt&amp;gt;e&amp;lt;/tt&amp;gt; (letzter) || gibt an, ob nach dieser Gruppe noch weitere aufgelistet werden (z.B. in Musterwebsite 3 ist die Gruppe 6 &amp;quot;Home&amp;quot; die letzte des Menüs)&lt;br /&gt;
|-&lt;br /&gt;
|| &amp;lt;tt&amp;gt;&amp;#039;&amp;#039;C&amp;#039;&amp;#039;&amp;lt;/tt&amp;gt; ||  &amp;lt;tt&amp;gt;a&amp;lt;/tt&amp;gt; (ist aktiv), &amp;lt;tt&amp;gt;i&amp;lt;/tt&amp;gt; (ist nicht aktiv) || gibt an, ob die Gruppe aktiv ist, d.h. ob sie durch einen Klick ausgewählt wurde&lt;br /&gt;
|-&lt;br /&gt;
|| &amp;lt;tt&amp;gt;&amp;#039;&amp;#039;D&amp;#039;&amp;#039;&amp;lt;/tt&amp;gt; ||  &amp;lt;tt&amp;gt;exp&amp;lt;/tt&amp;gt; (ausgeklappt), cll(eingeklappt) || gibt an, ob die Untergruppen dieser Gruppe ausgeklappt sind oder nicht&lt;br /&gt;
|-&lt;br /&gt;
|| &amp;lt;tt&amp;gt;&amp;#039;&amp;#039;E&amp;#039;&amp;#039;&amp;lt;/tt&amp;gt; ||  &amp;lt;tt&amp;gt;_hover&amp;lt;/tt&amp;gt; (Mauszeiger ist über dem Element), nichts (Mauszeiger ist nicht über dem Element) || gibt an, ob sich der Mauszeiger über dem Gruppennamen befindet oder nicht&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Mithilfe dieses Schemas kann man nun bestimmen, welche CSS-Klassen man in der CSS-Datei angeben muss um bestimmte Effekte hervorzurufen.&lt;br /&gt;
Möchte man beispielsweise, dass alle Elemente der zweitobersten Ebene blinken, wenn der Mauszeiger über dem Element ist, so notiert man in der CSS-Datei:&lt;br /&gt;
&amp;lt;code&amp;gt;[css, N]&lt;br /&gt;
div#course_categories_menu div#level_1_r_a_exp_hover,&lt;br /&gt;
div#course_categories_menu div#level_1_r_a_cll_hover,&lt;br /&gt;
div#course_categories_menu div#level_1_r_i_exp_hover,&lt;br /&gt;
div#course_categories_menu div#level_1_r_i_cll_hover,&lt;br /&gt;
div#course_categories_menu div#level_1_e_a_exp_hover,&lt;br /&gt;
div#course_categories_menu div#level_1_e_a_cll_hover,&lt;br /&gt;
div#course_categories_menu div#level_1_e_i_exp_hover,&lt;br /&gt;
div#course_categories_menu div#level_1_e_i_cll_hover {&lt;br /&gt;
  text-decoration:blink;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Diese Struktur der &amp;lt;tt&amp;gt;div&amp;lt;/tt&amp;gt;-Tags wiederholt sich mit tieferen Gruppenebenen / Untergruppen. Zum Beispiel tauchen die &amp;lt;tt&amp;gt;div&amp;lt;/tt&amp;gt;-Tags der Untergruppen vom &amp;#039;&amp;#039;Über uns&amp;#039;&amp;#039;-Menüpunkt aus der Muster-Website 3 innerhalb des &amp;lt;tt&amp;gt;group_fold_4&amp;lt;/tt&amp;gt; - &amp;lt;tt&amp;gt;div&amp;lt;/tt&amp;gt; - Tags auf.&lt;br /&gt;
&lt;br /&gt;
Weitere Informationen über die CSS-Klassen kann man schnell erhalten, indem man sich den HTML-Code eines generierten dynamischen Menüs anschaut, zum Beispiel aus der Muster-Website 3.&lt;br /&gt;
&lt;br /&gt;
==Templates==&lt;br /&gt;
Diese Templates liegen im Ordner &amp;lt;tt&amp;gt;dynpg/plugins/DPGdynmenu/templates&amp;lt;/tt&amp;gt;. Hier finden sie Ordner, die jeweils eine &amp;lt;tt&amp;gt;menu.tpl&amp;lt;/tt&amp;gt; enthalten. Welcher dieser Ordner aktiv ist, bestimmen Sie durch das Global &amp;lt;tt&amp;gt;$GLOBALS[&amp;quot;DynPG&amp;quot;]-&amp;gt;SetParam_PlugIn_Template(&amp;#039;DPGdynmenu&amp;#039;, &amp;#039;TEMPLATEORDNER&amp;#039;);&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Die Templates dienen als Vorlage für die Generierung des HTML-Codes der dynamischen Navigation. In ihnen werden auch die CSS-Klassen definiert, welche in [[#CSS|CSS]] erklärt wurden. Außerdem finden hier Templateplatzhalter der Form &amp;lt;tt&amp;gt;&amp;lt;nowiki&amp;gt;{$PLATZHALTER}&amp;lt;/nowiki&amp;gt;&amp;lt;/tt&amp;gt; Verwendung, die DynPG dynamisch durch Inhalt ersetzt.&lt;br /&gt;
&lt;br /&gt;
Das Template &amp;#039;&amp;#039;horizontal&amp;#039;&amp;#039; der Musterwebsite 3 generiert beispielsweise ein horizontales Menü, während das Template &amp;#039;&amp;#039;intelligent&amp;#039;&amp;#039; ein vertikales Menü erzeugt.&lt;br /&gt;
&lt;br /&gt;
Modifikationen an den Templates sind recht komplex. Sollten Sie vorhaben hier Änderungen durchzuführen, wenden Sie sich an das DynPG-Forum.&lt;br /&gt;
&lt;br /&gt;
==Feste Links einbauen==&lt;br /&gt;
&lt;br /&gt;
Hierzu erstellt man im Backend eine Gruppe mit dem Namen des festen Links und merkt sich die Gruppennummer. Mittels des Plugin-Parameters &amp;lt;tt&amp;gt;&amp;#039;href_subpages&amp;#039;&amp;lt;/tt&amp;gt; setzt man für diese Gruppennummer nun als Ziel die Datei &amp;lt;tt&amp;gt;counter.php&amp;lt;/tt&amp;gt; fest und übergibt dieser als Parameter das feste Linkziel. Beispiel: Wir wollen einen Link auf die Google-Webseite setzen. Also erstellen wir im Backend eine Gruppe mit dem Namen &amp;#039;&amp;#039;Google-Websuche&amp;#039;&amp;#039; und notieren die Gruppennummer (z.B. 33). In die PHP-Datei unserer dynamischen Navigation fügen wir nun folgendes ein:&lt;br /&gt;
&amp;lt;code&amp;gt;[php, N]&lt;br /&gt;
$GLOBALS[&amp;quot;DynPG&amp;quot;]-&amp;gt;SetParam_PlugIn_Param(&lt;br /&gt;
  &amp;#039;DPGdynmenu&amp;#039;,&lt;br /&gt;
  &amp;#039;href_subpages&amp;#039;,&lt;br /&gt;
  Array(&lt;br /&gt;
	33 =&amp;gt; Array(&lt;br /&gt;
      &amp;#039;page&amp;#039; =&amp;gt; &amp;#039;counter.php?inc=http://www.google.com&amp;#039;,&lt;br /&gt;
      &amp;#039;successors&amp;#039; =&amp;gt; true&lt;br /&gt;
    )		&lt;br /&gt;
  )&lt;br /&gt;
);&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Mehrsprachiges Menü==&lt;br /&gt;
&lt;br /&gt;
Hierzu gibt es einen Thread in unserem Forum unter [http://www.dynpg.ch/dynpg-forum.php?t=&amp;amp;read_group=30&amp;amp;thread_id=47&amp;amp;tt=Sprachwechsel]. Die grundsätzliche Idee ist (bei zwei Sprachen) zwei Gruppenbäume im Backend aufzubauen. Die oberste Gruppe des ersten Baumes wäre beispielsweise die Gruppe &amp;#039;&amp;#039;Deutsch&amp;#039;&amp;#039;, die oberste Gruppe des zweiten Baumes wäre zum Beispiel &amp;#039;&amp;#039;English&amp;#039;&amp;#039;.&lt;br /&gt;
&lt;br /&gt;
In der zweiten Ebene kommen dann unter &amp;#039;&amp;#039;Deutsch&amp;#039;&amp;#039; bzw. &amp;#039;&amp;#039;English&amp;#039;&amp;#039; Untergruppen wie &amp;#039;&amp;#039;News&amp;#039;&amp;#039;/&amp;#039;&amp;#039;Nachrichten&amp;#039;&amp;#039;, &amp;#039;&amp;#039;Produkte&amp;#039;&amp;#039;/&amp;#039;&amp;#039;Products&amp;#039;&amp;#039;, &amp;#039;&amp;#039;Hilfe&amp;#039;&amp;#039;/&amp;#039;&amp;#039;Support&amp;#039;&amp;#039; und so weiter. Man erstellt sich nun zwei PHP-Dateien (&amp;lt;tt&amp;gt;navi_de.php&amp;lt;/tt&amp;gt;, &amp;lt;tt&amp;gt;navi_en.php&amp;lt;/tt&amp;gt;) wie oben beschrieben [[#Einrichten|Einrichten]]. In diesen wird dann mit den Befehlen aus [[#Globalsreferenz|Globalsreferenz]] der jeweils nicht passende Baum ausgeblendet.&lt;br /&gt;
&lt;br /&gt;
==Siehe auch==&lt;br /&gt;
*[[Sitemap-Tutorial]]&lt;br /&gt;
*[[Implementation eines kompletten Hauptmenüs]]&lt;br /&gt;
*[[Code-Schnipsel Einfaches Hauptmenü]]&lt;br /&gt;
*[[Code-Schnipsel Menüeinträge sortieren]]&lt;br /&gt;
*[[Snippet-Beispiele]]&lt;/div&gt;</summary>
		<author><name>Sebastian</name></author>	</entry>

	<entry>
		<id>https://wiki-en.dynpg.org/wiki_de/index.php?title=Dynamische_Navigation</id>
		<title>Dynamische Navigation</title>
		<link rel="alternate" type="text/html" href="https://wiki-en.dynpg.org/wiki_de/index.php?title=Dynamische_Navigation"/>
				<updated>2009-08-17T15:48:40Z</updated>
		
		<summary type="html">&lt;p&gt;Sebastian: /* Beschreibung */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Kategorie:Module]]&lt;br /&gt;
==Beschreibung==&lt;br /&gt;
Die dynamische Navigation ist Bestandteil des kostenlosen Grundmoduls von DynPG und bereits im Standard-DynPG integriert. Es ist keine separate Installation notwendig. Sie ermöglicht es Ihnen einfach und flexibel Navigationen auf Ihrer Homepage zu erstellen. Die Anwendungsmöglichkeiten gestalten sich dabei flexibel als normales Menü oder auch als Sitemap.&lt;br /&gt;
&lt;br /&gt;
Ein dynamisches Menü bildet die Gruppenstruktur, also die Abfolge von Gruppen, Untergruppen und Artikeln in einer Gruppe, im Backend als Menü ab, macht also die logische Struktur ihrer Artikel aus dem Backend auf einer Webseite sichtbar und navigierbar. &lt;br /&gt;
&lt;br /&gt;
Der Vorteil ist, dass man im Backend neue Gruppen o.ä. erstellt und diese dann im Hauptmenü erscheinen. Dies ist auch bei Untergruppen nützlich,&lt;br /&gt;
z.B. wenn eine neue Untergruppe &amp;#039;&amp;#039;Lokalnachrichten&amp;#039;&amp;#039; zur Hauptgruppe &amp;#039;&amp;#039;News&amp;#039;&amp;#039; hinzukommt.&lt;br /&gt;
&lt;br /&gt;
Zum Verständnis der Funktionsvielfalt der dynamischen Navigation ist es hilfreich, einmal eine der [[Muster-Web-Sites|Musterwebsites]] zu installieren und in den entsprechenden Dateien der Musterwebsite die unten erklärten Einstellungsmöglichkeiten nachzuvollziehen und vielleicht auch einmal mit den Optionen herumzuspielen.&lt;br /&gt;
&lt;br /&gt;
==Einrichten==&lt;br /&gt;
&amp;#039;&amp;#039;Anmerkung: Benutzen sie die [[Muster-Web-Sites|Musterwebsites]], so müssen die nachfolgenden zwei Schritte nicht ausgeführt werden, da die dynamische Navigation bereits in den Musterwebsites genutzt wird&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
===Schritt 1: Artikel erstellen mit Platzhalter für die dynamische Navigation===&lt;br /&gt;
Wählen Sie im Menü des Backends &amp;#039;&amp;#039;Gruppen&amp;#039;&amp;#039; aus [[Media:dynmenue01.png|Klick]]. Suchen Sie sich nun eine Gruppe, in der Sie einen Artikel erfassen wollen. Hier wählen wir (die in diesem Falle schon vorhandene) Gruppe &amp;#039;&amp;#039;Startseite/Navigation/Formular&amp;#039;&amp;#039; durch Klick auf ihren Namen aus [[Media:dynmenue02.png|Klick]].&lt;br /&gt;
&lt;br /&gt;
Mit einem Klick auf &amp;#039;&amp;#039;Artikel Formular anzeigen&amp;#039;&amp;#039; [[Media:dynmenue03.PNG|Klick]] und danach auf &amp;#039;&amp;#039;Inhalt bearbeiten&amp;#039;&amp;#039; [[Media:dynmenue04.PNG|Klick]] erscheint der Editor.&lt;br /&gt;
&lt;br /&gt;
In diesem wählen Sie das Symbol für die dynamische Navigation [[Media:dynmenue05.PNG|Klick]], geben noch einen Titel, etwa &amp;#039;&amp;#039;Neue Seitennavigation&amp;#039;&amp;#039;, ein und bestätigen mit einem Klick auf &amp;#039;&amp;#039;Erstellen&amp;#039;&amp;#039; [[Media:dynmenue06.PNG|Klick]]. &lt;br /&gt;
&lt;br /&gt;
Hat alles geklappt, können Sie im unteren Teil der Seite den neuen Artikel sehen [[Media:dynmenue07.PNG|Klick]]. Die Nummer des Artikels benötigen Sie erneut, wenn Sie in eine PHP-Datei mittels eines Globals die dynamische Navigation einbinden.&lt;br /&gt;
&lt;br /&gt;
===Schritt 2: PHP-Datei für die dynamische Navigation erstellen===&lt;br /&gt;
Folgende Ordner-Struktur könnte bei Ihnen vorliegen:&lt;br /&gt;
:*&amp;lt;tt&amp;gt;http-docs/dynpg&amp;lt;/tt&amp;gt; : hier liegt das DynPG-CMS&lt;br /&gt;
:*&amp;lt;tt&amp;gt;http-docs/index.php&amp;lt;/tt&amp;gt; : die Hauptseite Ihrer Website&lt;br /&gt;
:*&amp;lt;tt&amp;gt;http-docs/folgeseite.php&amp;lt;/tt&amp;gt; : eine andere PHP-Datei der Website&lt;br /&gt;
:*&amp;lt;tt&amp;gt;http-docs/inc/navi.php&amp;lt;/tt&amp;gt; : In diese Datei platziert man häufig den Code für die Navigation, dadurch ist er leichter wiederverwendbar&lt;br /&gt;
&lt;br /&gt;
Den nötigen Code der &amp;lt;tt&amp;gt;inc/navi.php&amp;lt;/tt&amp;gt; kann man anhand der [[Muster-Web-Sites|Musterwebsites]] nachvollziehen (Für eine genauere Erklärung der einzelnen verwendeten Globals siehe die [[Funktionsreferenz/Globals|Globals-Übersicht von DynPG]] und weiter unten die [[#Globalsreferenz|Funktionsübersicht der dynamischen Navigation]]) :&lt;br /&gt;
:*&amp;#039;&amp;#039;&amp;#039;&amp;lt;tt&amp;gt;inc/navi.php&amp;lt;/tt&amp;gt;:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;code&amp;gt;[php, N]&lt;br /&gt;
&amp;lt;?php&lt;br /&gt;
  $GLOBALS[&amp;quot;DynPG&amp;quot;]-&amp;gt;SetParam_PlugIn_Template(&amp;#039;DPGdynmenu&amp;#039;, &amp;#039;intelligent&amp;#039;);&lt;br /&gt;
  $GLOBALS[&amp;quot;DynPG&amp;quot;]-&amp;gt;SetParam_PlugIn_Param(&amp;#039;DPGdynmenu&amp;#039;, &amp;#039;real_expand&amp;#039;, TRUE);&lt;br /&gt;
  $GLOBALS[&amp;quot;DynPG&amp;quot;]-&amp;gt;SetParam_PlugIn_Param(&amp;#039;DPGdynmenu&amp;#039;, &amp;#039;order&amp;#039;, Array(&amp;#039;INDEX&amp;#039;));&lt;br /&gt;
  $GLOBALS[&amp;quot;DynPG&amp;quot;]-&amp;gt;SetParam_PlugIn_Param(&amp;#039;DPGdynmenu&amp;#039;, &amp;#039;sort&amp;#039;, Array(&amp;#039;ASC&amp;#039;));&lt;br /&gt;
  $GLOBALS[&amp;quot;DynPG&amp;quot;]-&amp;gt;SetParam_PlugIn_Param(&amp;#039;DPGdynmenu&amp;#039;, &amp;#039;href_page_groups&amp;#039;, &amp;#039;../folgeseite.php&amp;#039;);&lt;br /&gt;
  $GLOBALS[&amp;quot;DynPG&amp;quot;]-&amp;gt;SetParam_PlugIn_Param(&amp;#039;DPGdynmenu&amp;#039;, &amp;#039;href_page_articles&amp;#039;, &amp;#039;../folgeseite.php&amp;#039;);&lt;br /&gt;
  $GLOBALS[&amp;quot;DynPG&amp;quot;]-&amp;gt;SetParam_PlugIn_Param(&amp;#039;DPGdynmenu&amp;#039;, &amp;#039;href_page_detail&amp;#039;, &amp;#039;../folgeseite.php&amp;#039;);&lt;br /&gt;
  $GLOBALS[&amp;quot;DynPG&amp;quot;]-&amp;gt;SetParam_PlugIn_Param(&lt;br /&gt;
    &amp;#039;DPGdynmenu&amp;#039;,&lt;br /&gt;
    &amp;#039;href_subpages&amp;#039;,&lt;br /&gt;
    Array(&lt;br /&gt;
      0 =&amp;gt; Array(&lt;br /&gt;
        &amp;#039;page&amp;#039; =&amp;gt; &amp;#039;../formular.php{query}&amp;#039;,&lt;br /&gt;
        &amp;#039;successors&amp;#039; =&amp;gt; true&lt;br /&gt;
      ),&lt;br /&gt;
      21 =&amp;gt; Array(&lt;br /&gt;
        &amp;#039;page&amp;#039; =&amp;gt; &amp;#039;../blog.php{query}&amp;#039;,&lt;br /&gt;
        &amp;#039;successors&amp;#039; =&amp;gt; true&lt;br /&gt;
      ),&lt;br /&gt;
      15 =&amp;gt; Array(&lt;br /&gt;
        &amp;#039;page&amp;#039; =&amp;gt; &amp;#039;../sitemap.php{query}&amp;#039;,&lt;br /&gt;
        &amp;#039;successors&amp;#039; =&amp;gt; true&lt;br /&gt;
      ),&lt;br /&gt;
      16 =&amp;gt; Array(&lt;br /&gt;
        &amp;#039;page&amp;#039; =&amp;gt; &amp;#039;../veranstaltungen.php{query}&amp;#039;,&lt;br /&gt;
        &amp;#039;successors&amp;#039; =&amp;gt; true&lt;br /&gt;
      ),&lt;br /&gt;
      21 =&amp;gt; Array(&lt;br /&gt;
        &amp;#039;page&amp;#039; =&amp;gt; &amp;#039;../blog.php{query}&amp;#039;,&lt;br /&gt;
        &amp;#039;successors&amp;#039; =&amp;gt; true&lt;br /&gt;
      ),&lt;br /&gt;
      6 =&amp;gt; Array(&lt;br /&gt;
        &amp;#039;page&amp;#039; =&amp;gt; &amp;#039;../index.php{query}&amp;#039;,&lt;br /&gt;
        &amp;#039;successors&amp;#039; =&amp;gt; true&lt;br /&gt;
      )&lt;br /&gt;
    )&lt;br /&gt;
  );    &lt;br /&gt;
  $GLOBALS[&amp;quot;DynPG&amp;quot;]-&amp;gt;SetupTemplate(&amp;#039;uneditable&amp;#039;); &lt;br /&gt;
  $GLOBALS[&amp;quot;DynPG&amp;quot;]-&amp;gt;SetParam_A_Anytime(TRUE);&lt;br /&gt;
  $GLOBALS[&amp;quot;DynPG&amp;quot;]-&amp;gt;SetParam_A_CategoryNavigation(FALSE);&lt;br /&gt;
  $GLOBALS[&amp;quot;DynPG&amp;quot;]-&amp;gt;SetParam_A_PrintNavigation(FALSE);&lt;br /&gt;
  $GLOBALS[&amp;quot;DynPG&amp;quot;]-&amp;gt;SetParam_A_ArticleHeader(FALSE);&lt;br /&gt;
  $GLOBALS[&amp;quot;DynPG&amp;quot;]-&amp;gt;SetParam_A_Article(1);&lt;br /&gt;
&lt;br /&gt;
  $GLOBALS[&amp;quot;DynPG&amp;quot;]-&amp;gt;Write_Article();&lt;br /&gt;
  $GLOBALS[&amp;quot;DynPG&amp;quot;]-&amp;gt;SetupTemplate(&amp;#039;default&amp;#039;);  &lt;br /&gt;
?&amp;gt;&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Man kann nun in der &amp;lt;tt&amp;gt;index.php&amp;lt;/tt&amp;gt; mittels &lt;br /&gt;
&amp;lt;code&amp;gt;[php, N]&lt;br /&gt;
&amp;lt;?php include(&amp;quot;inc/navi.php&amp;quot;); ?&amp;gt;&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
die Navigation einbinden, ebenso z.B. auch in der &amp;lt;tt&amp;gt;folgeseite.php&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Die dynamische Navigation kann nun an verschiedenen Stellen angepasst werden. Neben den Globals in der PHP-Datei ([[#Globalsreferenz|Globalsreferenz]]) ist dies im Backend durch das Erstellen von Gruppen und Artikeln möglich ([[#Dynamische_Navigation_im_Backend|Dynamische Navigation im Backend]]). Erweiterte Möglichkeiten ergeben sich durch das [[#CSS|CSS]] und die [[#Templates|Templates]].&lt;br /&gt;
&lt;br /&gt;
==Die dynamische Navigation im Backend==&lt;br /&gt;
&lt;br /&gt;
Wie bereits erwähnt, bildet die dynamische Navigation die Gruppenstruktur des Backends auf einer Webseite ab. In der Musterwebsite 3 ist im Backend zum Beispiel folgende Gruppenstruktur zu erkennen:&lt;br /&gt;
[[Media:dynmenue08.PNG|Klick]].&lt;br /&gt;
Auf der Website sieht dies dann wie folgt aus:&lt;br /&gt;
[[Media:dynmenue09.PNG|Klick]]&lt;br /&gt;
oder auch&lt;br /&gt;
[[Media:dynmenue10.PNG|Klick]]&lt;br /&gt;
.&lt;br /&gt;
&lt;br /&gt;
Welche Untergruppen angezeigt werden, hängt zum einen davon ab, welcher Navigationspunkt gerade aktiv ist (also angeklickt wurde) und zum anderen von den benutzten Globals in der PHP-Datei ([[#Globalsreferenz|z.B. Parameter &amp;#039;full_load&amp;#039;]]) und den Einstellungen der Gruppe im Backend. &lt;br /&gt;
&lt;br /&gt;
Die Eigenschaftsseite der Gruppe erreicht man über einen Klick auf das Stiftsymbol&lt;br /&gt;
([[Media:dynmenue11.PNG|Klick]])&lt;br /&gt;
. Unter dem Punkt &amp;#039;&amp;#039;Veröffentlichen&amp;#039;&amp;#039;&lt;br /&gt;
([[Media:dynmenue12.PNG|Klick]])&lt;br /&gt;
wählt man nun eine Option aus: &lt;br /&gt;
:* &amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039;Ja&amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039;: die Gruppe wird auf der gesamten Website angezeigt, also auch in der dynamischen Navigation&lt;br /&gt;
:* &amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039;Nein&amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039;: die Gruppe wird auf der ganze Website nicht angezeigt, also weder in Gruppenliste noch in der dynamischen Navigation&lt;br /&gt;
:* &amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039;Ja, ohne Navigation&amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039;: die Gruppe wird zwar normal auf der Website angezeigt, jedoch in der dynamischen Navigation ausgeblendet&lt;br /&gt;
:* &amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039;Ja, ohne Subnavigation&amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039;: wie &amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039;Ja&amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039;, jedoch werden von diesem Menüpunkt in der dynamischen Navigation nur Untergruppen angezeigt, jedoch keine Artikel, die eventuell in dieser Gruppe liegen&lt;br /&gt;
&lt;br /&gt;
==Globalsreferenz==&lt;br /&gt;
===Globals direkt für das Plugin===&lt;br /&gt;
&amp;#039;&amp;#039;Die Parameter haben Default-Werte, müssen also nicht immer gesetzt werden&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
*&amp;#039;&amp;#039;&amp;#039;&amp;lt;tt&amp;gt;$GLOBALS[&amp;quot;DynPG&amp;quot;]-&amp;gt;SetParam_PlugIn_Template(&amp;#039;DPGdynmenu&amp;#039;, &amp;#039;TEMPLATEORDNER&amp;#039;);&amp;lt;/tt&amp;gt;:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
:Hiermit wählt man den Template-Ordner für die dynamische Navigation aus. Diese Template-Ordner liegen in &amp;lt;tt&amp;gt;dynpg/plugins/DPGdynmenu/templates&amp;lt;/tt&amp;gt;. Aus diesem Ordner wird die Template-Datei &amp;lt;tt&amp;gt;menu.tpl&amp;lt;/tt&amp;gt; zur Generierung des Menüs genommen. Dies ist unabhängig vom Global &amp;lt;tt&amp;gt;$GLOBALS[&amp;quot;DynPG&amp;quot;]-&amp;gt;SetupTemplate(...);&amp;lt;/tt&amp;gt;, der sozusagen das Template des Artikels bestimmt, welcher die dynamische Navigation enthält.&lt;br /&gt;
&lt;br /&gt;
*&amp;#039;&amp;#039;&amp;#039;&amp;lt;tt&amp;gt;$GLOBALS[&amp;quot;DynPG&amp;quot;]-&amp;gt;SetParam_PlugIn_Param(&amp;#039;DPGdynmenu&amp;#039;, PARAMETERNAME, PARAMETERWERT);&amp;lt;/tt&amp;gt;&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
:{| class=&amp;quot;dynpgwikitable&amp;quot;&lt;br /&gt;
! &amp;lt;tt&amp;gt;PARAMETERNAME&amp;lt;/tt&amp;gt; !! &amp;lt;tt&amp;gt;PARAMETERWERT&amp;lt;/tt&amp;gt; !! Beschreibung&lt;br /&gt;
|-&lt;br /&gt;
||&amp;lt;tt&amp;gt;&amp;#039;order&amp;#039;&amp;lt;/tt&amp;gt; || &amp;lt;tt&amp;gt;Array(&amp;#039;INDEX&amp;#039;)&amp;lt;/tt&amp;gt; oder &amp;lt;tt&amp;gt;Array(&amp;#039;NAME&amp;#039;)&amp;lt;/tt&amp;gt; || Reihenfolge der Gruppen in der Navigation nach Name oder im Backend gesetzten Index&lt;br /&gt;
|-&lt;br /&gt;
||&amp;lt;tt&amp;gt;&amp;#039;sort&amp;#039;&amp;lt;/tt&amp;gt; || &amp;lt;tt&amp;gt;Array(&amp;#039;ASC&amp;#039;)&amp;lt;/tt&amp;gt; oder &amp;lt;tt&amp;gt;Array(&amp;#039;DESC&amp;#039;)&amp;lt;/tt&amp;gt; || aufsteigende oder absteigende Sortierung&lt;br /&gt;
|-&lt;br /&gt;
||&amp;lt;tt&amp;gt;&amp;#039;order_articles&amp;#039;&amp;lt;/tt&amp;gt; || z.B. &amp;lt;tt&amp;gt;Array(&amp;#039;INDEX&amp;#039;)&amp;lt;/tt&amp;gt; || sortiert Artikel in der dynamischen Navigation (falls diese angezeigt werden) &lt;br /&gt;
|-&lt;br /&gt;
||&amp;lt;tt&amp;gt;&amp;#039;sort_articles&amp;#039;&amp;lt;/tt&amp;gt; || z.B. &amp;lt;tt&amp;gt;Array(&amp;#039;ASC&amp;#039;)&amp;lt;/tt&amp;gt; || bestimmt aufsteigende oder absteigende Sortierreihenfolge der Artikel&lt;br /&gt;
|-&lt;br /&gt;
||&amp;lt;tt&amp;gt;&amp;#039;href_page_groups&amp;#039;&amp;lt;/tt&amp;gt; || z.B. &amp;lt;tt&amp;gt;&amp;#039;../folgeseite.php&amp;#039;&amp;lt;/tt&amp;gt; || Seite auf die weiterverlinkt wird bei einem Klick auf den Gruppennamen (ACHTUNG &amp;lt;tt&amp;gt;&amp;#039;../&amp;#039;&amp;lt;/tt&amp;gt; wichtig, siehe Ordnerstruktur weiter oben!)&lt;br /&gt;
|-&lt;br /&gt;
||&amp;lt;tt&amp;gt;&amp;#039;href_page_articles&amp;#039;&amp;lt;/tt&amp;gt; || z.B. &amp;lt;tt&amp;gt;&amp;#039;../folgeseite.php&amp;#039;&amp;lt;/tt&amp;gt; ||&lt;br /&gt;
|-&lt;br /&gt;
||&amp;lt;tt&amp;gt;&amp;#039;href_page_detail&amp;#039;&amp;lt;/tt&amp;gt; || z.B. &amp;lt;tt&amp;gt;&amp;#039;../folgeseite.php&amp;#039;&amp;lt;/tt&amp;gt; || Seite auf die weiterverlinkt wird bei einem Klick auf Artikelnamen in dynamischer Navigation (sofern Artikel angezeigt werden)&lt;br /&gt;
|-&lt;br /&gt;
||&amp;lt;tt&amp;gt;&amp;#039;href_subpages&amp;#039;&amp;lt;/tt&amp;gt; || z.B. &amp;lt;pre&amp;gt;Array(&lt;br /&gt;
  GRUPPENNUMMER =&amp;gt; Array( &lt;br /&gt;
    &amp;#039;page&amp;#039; =&amp;gt; &amp;#039;PHP-SEITE{query}&amp;#039;,&lt;br /&gt;
    &amp;#039;successors&amp;#039; =&amp;gt; true&lt;br /&gt;
  ),&lt;br /&gt;
...&lt;br /&gt;
...&lt;br /&gt;
...&lt;br /&gt;
  GRUPPENNUMMER =&amp;gt; Array( &lt;br /&gt;
    &amp;#039;page&amp;#039; =&amp;gt; &amp;#039;PHP-SEITE{query}&amp;#039;,&lt;br /&gt;
    &amp;#039;successors&amp;#039; =&amp;gt; true&lt;br /&gt;
  ) &lt;br /&gt;
)&amp;lt;/pre&amp;gt; || Ermöglicht für bestimmte Gruppen auf eine andere &amp;lt;tt&amp;gt;PHP-SEITE&amp;lt;/tt&amp;gt; zu verlinken&lt;br /&gt;
|-&lt;br /&gt;
||&amp;lt;tt&amp;gt;&amp;#039;full_load&amp;#039;&amp;lt;/tt&amp;gt; || &amp;lt;tt&amp;gt;false&amp;lt;/tt&amp;gt; oder &amp;lt;tt&amp;gt;true&amp;lt;/tt&amp;gt; || zeigt unabhängig von angeklickten Gruppen den kompletten Navigationsbaum mit Untergruppen an (oder auch nicht)&lt;br /&gt;
|-&lt;br /&gt;
|| &amp;lt;tt&amp;gt;&amp;#039;full_load_articles&amp;#039;&amp;lt;/tt&amp;gt; || &amp;lt;tt&amp;gt;false&amp;lt;/tt&amp;gt; ||&lt;br /&gt;
|-&lt;br /&gt;
|| &amp;lt;tt&amp;gt;&amp;#039;limit_articles&amp;#039;&amp;lt;/tt&amp;gt; || &amp;lt;tt&amp;gt;false&amp;lt;/tt&amp;gt; ||&lt;br /&gt;
|-&lt;br /&gt;
|| &amp;lt;tt&amp;gt;&amp;#039;expand_subtree&amp;#039;&amp;lt;/tt&amp;gt; || &amp;lt;tt&amp;gt;Array(4)&amp;lt;/tt&amp;gt; oder &amp;lt;tt&amp;gt;Array(4,5)&amp;lt;/tt&amp;gt; etc. || zeigt die Untergruppen von Gruppe 4 (bzw. 4 und 5) in jedem Fall an. Sei Gruppe 4 bspw. die Gruppe &amp;#039;&amp;#039;News&amp;#039;&amp;#039; des Backends, dann werden die beispielhaften Untergruppen &amp;#039;&amp;#039;Lokalnachrichten&amp;#039;&amp;#039; und &amp;#039;&amp;#039;Weltnachrichten&amp;#039;&amp;#039; immer zur Navigation angeboten, auch wenn sich ein Benutzer auf der Website gerade einen Artikel aus der Gruppe &amp;#039;&amp;#039;Kontakt&amp;#039;&amp;#039; anschaut&lt;br /&gt;
|- &lt;br /&gt;
|| &amp;lt;tt&amp;gt;&amp;#039;implode_subtree&amp;#039;&amp;lt;/tt&amp;gt; || &amp;lt;tt&amp;gt;Array(4)&amp;lt;/tt&amp;gt; oder &amp;lt;tt&amp;gt;Array(4,5)&amp;lt;/tt&amp;gt; etc. || zeigt die Untergruppen von Gruppe 4 (bzw. 4 und 5) in jedem Fall NICHT an. Anmerkung: der Parameter &amp;lt;tt&amp;gt;expand_subtree&amp;lt;/tt&amp;gt; überschreibt diese Einstellung! Ist also eine Gruppe in beiden Parametern aufgeführt, so werden die Untergruppen dieser Gruppe immer angezeigt, da der Parameter &amp;lt;tt&amp;gt;expand_subtree&amp;lt;/tt&amp;gt; wichtiger ist.&lt;br /&gt;
|-&lt;br /&gt;
|| &amp;lt;tt&amp;gt;&amp;#039;real_expand&amp;#039;&amp;lt;/tt&amp;gt; || &amp;lt;tt&amp;gt;false&amp;lt;/tt&amp;gt; ||&lt;br /&gt;
|-&lt;br /&gt;
|| &amp;lt;tt&amp;gt;&amp;#039;speed_mode&amp;#039;&amp;lt;/tt&amp;gt; || &amp;lt;tt&amp;gt;false&amp;lt;/tt&amp;gt; ||&lt;br /&gt;
|-&lt;br /&gt;
|| &amp;lt;tt&amp;gt;&amp;#039;parent_select&amp;#039;&amp;lt;/tt&amp;gt; || &amp;lt;tt&amp;gt;true&amp;lt;/tt&amp;gt; ||&lt;br /&gt;
|-&lt;br /&gt;
|| &amp;lt;tt&amp;gt;&amp;#039;max_depth&amp;#039;&amp;lt;/tt&amp;gt; || &amp;lt;tt&amp;gt;null&amp;lt;/tt&amp;gt; oder &amp;lt;tt&amp;gt;0&amp;lt;/tt&amp;gt; oder &amp;lt;tt&amp;gt;1&amp;lt;/tt&amp;gt; etc. || Tiefe bis zu der (Unter-)Gruppen angezeigt werden&lt;br /&gt;
|-&lt;br /&gt;
|| &amp;lt;tt&amp;gt;&amp;#039;min_depth&amp;#039;&amp;lt;/tt&amp;gt; || &amp;lt;tt&amp;gt;null&amp;lt;/tt&amp;gt; oder &amp;lt;tt&amp;gt;0&amp;lt;/tt&amp;gt; oder &amp;lt;tt&amp;gt;1&amp;lt;/tt&amp;gt; etc. || Tiefe, die eine Gruppe mindestens haben muss um angezeigt zu werden, z.B. 1 um oberste Ebene der Gruppen aus dem Backend auszublenden&lt;br /&gt;
|-&lt;br /&gt;
|| &amp;lt;tt&amp;gt;&amp;#039;fetch_only&amp;#039;&amp;lt;/tt&amp;gt; || &amp;lt;tt&amp;gt;null&amp;lt;/tt&amp;gt; ||&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Sinnvolle Globals vom DynPG-CMS===&lt;br /&gt;
&lt;br /&gt;
*&amp;#039;&amp;#039;&amp;#039;&amp;lt;tt&amp;gt;$GLOBALS[&amp;quot;DynPG&amp;quot;]-&amp;gt;SetupTemplate(&amp;#039;uneditable&amp;#039;);&amp;lt;/tt&amp;gt; :&amp;#039;&amp;#039;&amp;#039; ermöglicht Navigation in der Seite obwohl Editiermodus im Backend angeschaltet ist&lt;br /&gt;
*&amp;#039;&amp;#039;&amp;#039;&amp;lt;tt&amp;gt;$GLOBALS[&amp;quot;DynPG&amp;quot;]-&amp;gt;SetParam_A_Anytime(TRUE);&amp;lt;/tt&amp;gt; :&amp;#039;&amp;#039;&amp;#039; Menü soll immer angezeigt werden&lt;br /&gt;
*&amp;#039;&amp;#039;&amp;#039;&amp;lt;tt&amp;gt;$GLOBALS[&amp;quot;DynPG&amp;quot;]-&amp;gt;SetParam_A_CategoryNavigation(FALSE);&amp;lt;/tt&amp;gt; :&amp;#039;&amp;#039;&amp;#039; keine weitere Navigation(Breadcrumb) anzeigen&lt;br /&gt;
*&amp;#039;&amp;#039;&amp;#039;&amp;lt;tt&amp;gt;$GLOBALS[&amp;quot;DynPG&amp;quot;]-&amp;gt;SetParam_A_PrintNavigation(FALSE);&amp;lt;/tt&amp;gt; :&amp;#039;&amp;#039;&amp;#039; kein Link zu Print-Seite anzeigen&lt;br /&gt;
*&amp;#039;&amp;#039;&amp;#039;&amp;lt;tt&amp;gt;$GLOBALS[&amp;quot;DynPG&amp;quot;]-&amp;gt;SetParam_A_ArticleHeader(FALSE);&amp;lt;/tt&amp;gt; :&amp;#039;&amp;#039;&amp;#039; keine Artikelüberschrift (des Artikels mit dem DynMenü-Platzhalter) und kein Artikelleadtext anzeigen&lt;br /&gt;
*&amp;#039;&amp;#039;&amp;#039;&amp;lt;tt&amp;gt;$GLOBALS[&amp;quot;DynPG&amp;quot;]-&amp;gt;SetParam_A_Article(1);&amp;lt;/tt&amp;gt; :&amp;#039;&amp;#039;&amp;#039; Artikel mit dem Dynmenü-Platzhalter setzen (&amp;#039;&amp;#039;&amp;#039;Hier die Artikelnummer aus [[#Einrichten|Einrichten]] einfügen!&amp;#039;&amp;#039;&amp;#039;)&lt;br /&gt;
*&amp;#039;&amp;#039;&amp;#039;&amp;lt;tt&amp;gt;$GLOBALS[&amp;quot;DynPG&amp;quot;]-&amp;gt;Write_Article();&amp;lt;/tt&amp;gt; :&amp;#039;&amp;#039;&amp;#039; Artikel ausgeben&lt;br /&gt;
*&amp;#039;&amp;#039;&amp;#039;&amp;lt;tt&amp;gt;$GLOBALS[&amp;quot;DynPG&amp;quot;]-&amp;gt;SetupTemplate(&amp;#039;default&amp;#039;);&amp;lt;/tt&amp;gt; :&amp;#039;&amp;#039;&amp;#039; andere Teile der Website haben sicherlich andere Templates. Wir setzen daher hier wieder auf das Standard-Template zurück&lt;br /&gt;
&lt;br /&gt;
==CSS==&lt;br /&gt;
Die CSS-Dateien für die dynamische Navigation liegen im Verzeichnis &amp;lt;tt&amp;gt;dynpg/plugins/DPGdynmenu/styles&amp;lt;/tt&amp;gt;. Die Datei &amp;lt;tt&amp;gt;menu.css&amp;lt;/tt&amp;gt; ist hierbei meist die ausschlaggebende, so zum Beispiel in der Navigation der Musterwebsite 3.&lt;br /&gt;
&lt;br /&gt;
Die CSS-Klassen und -Bezeichner aus dieser Datei sind nach einem bestimmten Schema benannt. Hat man dieses einmal verstanden, so lassen sich leicht Änderungen an speziellen Teilen des Erscheinungsbildes der dynamischen Navigation durchführen.&lt;br /&gt;
&lt;br /&gt;
Die dynamische Navigation wird von einem &amp;lt;tt&amp;gt;div&amp;lt;/tt&amp;gt;-Tag mit der Id &amp;lt;tt&amp;gt;course_categories_menu&amp;lt;/tt&amp;gt; umschlossen.&lt;br /&gt;
&lt;br /&gt;
Diese Angaben gelten also grundsätzlich für die gesamte dynamische Navigation und werden gegebenenfalls weitervererbt.&lt;br /&gt;
Im &amp;lt;tt&amp;gt;menu.css&amp;lt;/tt&amp;gt; der Muster-Website 3 steht beispielsweise:&lt;br /&gt;
&amp;lt;code&amp;gt;[css, N]&lt;br /&gt;
div#course_categories_menu {&lt;br /&gt;
  margin: 0;&lt;br /&gt;
  padding: 0;&lt;br /&gt;
  width: 180px;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Um zu verhindern, dass die CSS-Angaben dieser Datei auch auf andere Teile der Website Einfluss haben, ist vor allen anderen CSS-Definitionen der Datei ebenfalls &amp;lt;tt&amp;gt;div#course_categories_menu&amp;lt;/tt&amp;gt; notiert. Dadurch wirken sich die Angaben nur auf die dynamische Navigation aus.&lt;br /&gt;
&lt;br /&gt;
Innerhalb des &amp;lt;tt&amp;gt;course_categories_menu&amp;lt;/tt&amp;gt; - &amp;lt;tt&amp;gt;div&amp;lt;/tt&amp;gt; - Tags gibt es für jede Gruppe der obersten angezeigten Gruppenebene ein &amp;lt;div&amp;gt;-Tag mit der CSS-Id &amp;lt;tt&amp;gt;group_fold_NUMMER&amp;lt;/tt&amp;gt; wobei &amp;lt;tt&amp;gt;NUMMER&amp;lt;/tt&amp;gt; der Gruppennummer der Gruppe aus dem Backend entspricht. In der Navigation der Muster-Website 3 gibt es also folgende Tags:&lt;br /&gt;
&amp;lt;code&amp;gt;[html, N]&lt;br /&gt;
&amp;lt;div id=&amp;quot;course_categories_menu&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;div id=&amp;quot;group_fold_2&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;  &amp;lt;!--Produkte--&amp;gt;&lt;br /&gt;
  &amp;lt;div id=&amp;quot;group_fold_3&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;  &amp;lt;!--Support--&amp;gt;&lt;br /&gt;
  &amp;lt;div id=&amp;quot;group_fold_9&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;  &amp;lt;!--News--&amp;gt;&lt;br /&gt;
  &amp;lt;div id=&amp;quot;group_fold_4&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;  &amp;lt;!--Über uns--&amp;gt;&lt;br /&gt;
  &amp;lt;div id=&amp;quot;group_fold_5&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;  &amp;lt;!--Kontakt--&amp;gt;&lt;br /&gt;
  &amp;lt;div id=&amp;quot;group_fold_21&amp;quot;&amp;gt;&amp;lt;/div&amp;gt; &amp;lt;!--Blog--&amp;gt;&lt;br /&gt;
  &amp;lt;div id=&amp;quot;group_fold_15&amp;quot;&amp;gt;&amp;lt;/div&amp;gt; &amp;lt;!--Sitemap--&amp;gt;&lt;br /&gt;
  &amp;lt;div id=&amp;quot;group_fold_6&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;  &amp;lt;!--Home--&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
Möchte man nun Eigenschaften nur an einem bestimmten Teil der Navigation machen, so könnte man im CSS-File folgende Angabe machen:&lt;br /&gt;
&amp;lt;code&amp;gt;[css, N]&lt;br /&gt;
div#course_categories_menu div#group_fold_9 {&lt;br /&gt;
  text-decoration:blink;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
Damit würde der Text der Gruppe &amp;#039;&amp;#039;News&amp;#039;&amp;#039; (und eventueller Untergruppen) in der dynamischen Navigation blinken.&lt;br /&gt;
&lt;br /&gt;
Innerhalb der &amp;lt;tt&amp;gt;group_fold_NUMMER&amp;lt;/tt&amp;gt; - &amp;lt;tt&amp;gt;div&amp;lt;/tt&amp;gt; - Tags gibt es nun ein &amp;lt;tt&amp;gt;div&amp;lt;/tt&amp;gt; - Tag, dass (neben einer weiteren CSS-Id) eine CSS-Klasse hat. Diese CSS-Klasse wird nach folgendem Muster gebildet:&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;&amp;lt;tt&amp;gt;level_&amp;#039;&amp;#039;A&amp;#039;&amp;#039;_&amp;#039;&amp;#039;B&amp;#039;&amp;#039;_&amp;#039;&amp;#039;C&amp;#039;&amp;#039;_&amp;#039;&amp;#039;D&amp;#039;&amp;#039;_&amp;#039;&amp;#039;E&amp;#039;&amp;#039;&amp;lt;/tt&amp;gt;&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;dynpgwikitable&amp;quot;&lt;br /&gt;
! Buchstabe !! mögliche Werte !! Beschreibung&lt;br /&gt;
|-&lt;br /&gt;
|| &amp;lt;tt&amp;gt;&amp;#039;&amp;#039;A&amp;#039;&amp;#039;&amp;lt;/tt&amp;gt; || 0 oder 1 oder 2 etc. || gibt das Level der Gruppe an, also die Verzweigungstiefe in der sich die Navigation befindet&lt;br /&gt;
|-&lt;br /&gt;
|| &amp;lt;tt&amp;gt;&amp;#039;&amp;#039;B&amp;#039;&amp;#039;&amp;lt;/tt&amp;gt; || &amp;lt;tt&amp;gt;r&amp;lt;/tt&amp;gt; (nicht letzter), &amp;lt;tt&amp;gt;e&amp;lt;/tt&amp;gt; (letzter) || gibt an, ob nach dieser Gruppe noch weitere aufgelistet werden (z.B. in Musterwebsite 3 ist die Gruppe 6 &amp;quot;Home&amp;quot; die letzte des Menüs)&lt;br /&gt;
|-&lt;br /&gt;
|| &amp;lt;tt&amp;gt;&amp;#039;&amp;#039;C&amp;#039;&amp;#039;&amp;lt;/tt&amp;gt; ||  &amp;lt;tt&amp;gt;a&amp;lt;/tt&amp;gt; (ist aktiv), &amp;lt;tt&amp;gt;i&amp;lt;/tt&amp;gt; (ist nicht aktiv) || gibt an, ob die Gruppe aktiv ist, d.h. ob sie durch einen Klick ausgewählt wurde&lt;br /&gt;
|-&lt;br /&gt;
|| &amp;lt;tt&amp;gt;&amp;#039;&amp;#039;D&amp;#039;&amp;#039;&amp;lt;/tt&amp;gt; ||  &amp;lt;tt&amp;gt;exp&amp;lt;/tt&amp;gt; (ausgeklappt), cll(eingeklappt) || gibt an, ob die Untergruppen dieser Gruppe ausgeklappt sind oder nicht&lt;br /&gt;
|-&lt;br /&gt;
|| &amp;lt;tt&amp;gt;&amp;#039;&amp;#039;E&amp;#039;&amp;#039;&amp;lt;/tt&amp;gt; ||  &amp;lt;tt&amp;gt;_hover&amp;lt;/tt&amp;gt; (Mauszeiger ist über dem Element), nichts (Mauszeiger ist nicht über dem Element) || gibt an, ob sich der Mauszeiger über dem Gruppennamen befindet oder nicht&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Mithilfe dieses Schemas kann man nun bestimmen, welche CSS-Klassen man in der CSS-Datei angeben muss um bestimmte Effekte hervorzurufen.&lt;br /&gt;
Möchte man beispielsweise, dass alle Elemente der zweitobersten Ebene blinken, wenn der Mauszeiger über dem Element ist, so notiert man in der CSS-Datei:&lt;br /&gt;
&amp;lt;code&amp;gt;[css, N]&lt;br /&gt;
div#course_categories_menu div#level_1_r_a_exp_hover,&lt;br /&gt;
div#course_categories_menu div#level_1_r_a_cll_hover,&lt;br /&gt;
div#course_categories_menu div#level_1_r_i_exp_hover,&lt;br /&gt;
div#course_categories_menu div#level_1_r_i_cll_hover,&lt;br /&gt;
div#course_categories_menu div#level_1_e_a_exp_hover,&lt;br /&gt;
div#course_categories_menu div#level_1_e_a_cll_hover,&lt;br /&gt;
div#course_categories_menu div#level_1_e_i_exp_hover,&lt;br /&gt;
div#course_categories_menu div#level_1_e_i_cll_hover {&lt;br /&gt;
  text-decoration:blink;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Diese Struktur der &amp;lt;tt&amp;gt;div&amp;lt;/tt&amp;gt;-Tags wiederholt sich mit tieferen Gruppenebenen / Untergruppen. Zum Beispiel tauchen die &amp;lt;tt&amp;gt;div&amp;lt;/tt&amp;gt;-Tags der Untergruppen vom &amp;#039;&amp;#039;Über uns&amp;#039;&amp;#039;-Menüpunkt aus der Muster-Website 3 innerhalb des &amp;lt;tt&amp;gt;group_fold_4&amp;lt;/tt&amp;gt; - &amp;lt;tt&amp;gt;div&amp;lt;/tt&amp;gt; - Tags auf.&lt;br /&gt;
&lt;br /&gt;
Weitere Informationen über die CSS-Klassen kann man schnell erhalten, indem man sich den HTML-Code eines generierten dynamischen Menüs anschaut, zum Beispiel aus der Muster-Website 3.&lt;br /&gt;
&lt;br /&gt;
==Templates==&lt;br /&gt;
Diese Templates liegen im Ordner &amp;lt;tt&amp;gt;dynpg/plugins/DPGdynmenu/templates&amp;lt;/tt&amp;gt;. Hier finden sie Ordner, die jeweils eine &amp;lt;tt&amp;gt;menu.tpl&amp;lt;/tt&amp;gt; enthalten. Welcher dieser Ordner aktiv ist, bestimmen Sie durch das Global &amp;lt;tt&amp;gt;$GLOBALS[&amp;quot;DynPG&amp;quot;]-&amp;gt;SetParam_PlugIn_Template(&amp;#039;DPGdynmenu&amp;#039;, &amp;#039;TEMPLATEORDNER&amp;#039;);&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Die Templates dienen als Vorlage für die Generierung des HTML-Codes der dynamischen Navigation. In ihnen werden auch die CSS-Klassen definiert, welche in [[#CSS|CSS]] erklärt wurden. Außerdem finden hier Templateplatzhalter der Form &amp;lt;tt&amp;gt;&amp;lt;nowiki&amp;gt;{$PLATZHALTER}&amp;lt;/nowiki&amp;gt;&amp;lt;/tt&amp;gt; Verwendung, die DynPG dynamisch durch Inhalt ersetzt.&lt;br /&gt;
&lt;br /&gt;
Das Template &amp;#039;&amp;#039;horizontal&amp;#039;&amp;#039; der Musterwebsite 3 generiert beispielsweise ein horizontales Menü, während das Template &amp;#039;&amp;#039;intelligent&amp;#039;&amp;#039; ein vertikales Menü erzeugt.&lt;br /&gt;
&lt;br /&gt;
Modifikationen an den Templates sind recht komplex. Sollten Sie vorhaben hier Änderungen durchzuführen, wenden Sie sich an das DynPG-Forum.&lt;br /&gt;
&lt;br /&gt;
==Feste Links einbauen==&lt;br /&gt;
&lt;br /&gt;
Hierzu erstellt man im Backend eine Gruppe mit dem Namen des festen Links und merkt sich die Gruppennummer. Mittels des Plugin-Parameters &amp;lt;tt&amp;gt;&amp;#039;href_subpages&amp;#039;&amp;lt;/tt&amp;gt; setzt man für diese Gruppennummer nun als Ziel die Datei &amp;lt;tt&amp;gt;counter.php&amp;lt;/tt&amp;gt; fest und übergibt dieser als Parameter das feste Linkziel. Beispiel: Wir wollen einen Link auf die Google-Webseite setzen. Also erstellen wir im Backend eine Gruppe mit dem Namen &amp;#039;&amp;#039;Google-Websuche&amp;#039;&amp;#039; und notieren die Gruppennummer (z.B. 33). In die PHP-Datei unserer dynamischen Navigation fügen wir nun folgendes ein:&lt;br /&gt;
&amp;lt;code&amp;gt;[php, N]&lt;br /&gt;
$GLOBALS[&amp;quot;DynPG&amp;quot;]-&amp;gt;SetParam_PlugIn_Param(&lt;br /&gt;
  &amp;#039;DPGdynmenu&amp;#039;,&lt;br /&gt;
  &amp;#039;href_subpages&amp;#039;,&lt;br /&gt;
  Array(&lt;br /&gt;
	33 =&amp;gt; Array(&lt;br /&gt;
      &amp;#039;page&amp;#039; =&amp;gt; &amp;#039;counter.php?inc=http://www.google.com&amp;#039;,&lt;br /&gt;
      &amp;#039;successors&amp;#039; =&amp;gt; true&lt;br /&gt;
    )		&lt;br /&gt;
  )&lt;br /&gt;
);&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Mehrsprachiges Menü==&lt;br /&gt;
&lt;br /&gt;
Hierzu gibt es einen Thread in unserem Forum unter [http://www.dynpg.ch/dynpg-forum.php?t=&amp;amp;read_group=30&amp;amp;thread_id=47&amp;amp;tt=Sprachwechsel]. Die grundsätzliche Idee ist (bei zwei Sprachen) zwei Gruppenbäume im Backend aufzubauen. Die oberste Gruppe des ersten Baumes wäre beispielsweise die Gruppe &amp;#039;&amp;#039;Deutsch&amp;#039;&amp;#039;, die oberste Gruppe des zweiten Baumes wäre zum Beispiel &amp;#039;&amp;#039;English&amp;#039;&amp;#039;.&lt;br /&gt;
&lt;br /&gt;
In der zweiten Ebene kommen dann unter &amp;#039;&amp;#039;Deutsch&amp;#039;&amp;#039; bzw. &amp;#039;&amp;#039;English&amp;#039;&amp;#039; Untergruppen wie &amp;#039;&amp;#039;News&amp;#039;&amp;#039;/&amp;#039;&amp;#039;Nachrichten&amp;#039;&amp;#039;, &amp;#039;&amp;#039;Produkte&amp;#039;&amp;#039;/&amp;#039;&amp;#039;Products&amp;#039;&amp;#039;, &amp;#039;&amp;#039;Hilfe&amp;#039;&amp;#039;/&amp;#039;&amp;#039;Support&amp;#039;&amp;#039; und so weiter. Man erstellt sich nun zwei PHP-Dateien (&amp;lt;tt&amp;gt;navi_de.php&amp;lt;/tt&amp;gt;, &amp;lt;tt&amp;gt;navi_en.php&amp;lt;/tt&amp;gt;) wie oben beschrieben [[#Einrichten|Einrichten]]. In diesen wird dann mit den Befehlen aus [[#Globalsreferenz|Globalsreferenz]] der jeweils nicht passende Baum ausgeblendet.&lt;br /&gt;
&lt;br /&gt;
==Siehe auch==&lt;br /&gt;
*[[Sitemap-Tutorial]]&lt;br /&gt;
*[[Implementation eines kompletten Hauptmenüs]]&lt;br /&gt;
*[[Code-Schnipsel Einfaches Hauptmenü]]&lt;br /&gt;
*[[Code-Schnipsel Menüeinträge sortieren]]&lt;br /&gt;
*[[Snippet-Beispiele]]&lt;/div&gt;</summary>
		<author><name>Sebastian</name></author>	</entry>

	<entry>
		<id>https://wiki-en.dynpg.org/wiki_de/index.php?title=Dynamische_Navigation</id>
		<title>Dynamische Navigation</title>
		<link rel="alternate" type="text/html" href="https://wiki-en.dynpg.org/wiki_de/index.php?title=Dynamische_Navigation"/>
				<updated>2009-08-17T15:42:14Z</updated>
		
		<summary type="html">&lt;p&gt;Sebastian: /* Die dynamische Navigation im Backend */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Kategorie:Module]]&lt;br /&gt;
==Beschreibung==&lt;br /&gt;
Die dynamische Navigation ist Bestandteil des kostenlosen Grundmoduls von DynPG und bereits im Standard-DynPG integriert. Es ist keine separate Installation notwendig. Sie ermöglicht es Ihnen einfach und flexibel Navigationen auf Ihrer Homepage zu erstellen. Die Anwendungsmöglichkeiten gestalten sich dabei flexibel als normales Menü oder auch als Sitemap.&lt;br /&gt;
&lt;br /&gt;
Ein dynamisches Menü bildet die Gruppenstruktur im Backend als Menü ab, macht also die logische Struktur ihrer Artikel aus dem Backend auf einer Webseite sichtbar und navigierbar.&lt;br /&gt;
&lt;br /&gt;
Der Vorteil ist, dass man im Backend neue Gruppen o.ä. erstellt und diese dann im Hauptmenü erscheinen. Dies ist auch bei Untergruppen nützlich,&lt;br /&gt;
z.B. wenn eine neue Untergruppe &amp;#039;&amp;#039;Lokalnachrichten&amp;#039;&amp;#039; zur Hauptgruppe &amp;#039;&amp;#039;News&amp;#039;&amp;#039; hinzukommt.&lt;br /&gt;
&lt;br /&gt;
Zum Verständnis der Funktionsvielfalt der dynamischen Navigation ist es hilfreich, einmal eine der [[Muster-Web-Sites|Musterwebsites]] zu installieren und in den entsprechenden Dateien der Musterwebsite die unten erklärten Einstellungsmöglichkeiten nachzuvollziehen und vielleicht auch einmal mit den Optionen herumzuspielen.&lt;br /&gt;
&lt;br /&gt;
==Einrichten==&lt;br /&gt;
&amp;#039;&amp;#039;Anmerkung: Benutzen sie die [[Muster-Web-Sites|Musterwebsites]], so müssen die nachfolgenden zwei Schritte nicht ausgeführt werden, da die dynamische Navigation bereits in den Musterwebsites genutzt wird&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
===Schritt 1: Artikel erstellen mit Platzhalter für die dynamische Navigation===&lt;br /&gt;
Wählen Sie im Menü des Backends &amp;#039;&amp;#039;Gruppen&amp;#039;&amp;#039; aus [[Media:dynmenue01.png|Klick]]. Suchen Sie sich nun eine Gruppe, in der Sie einen Artikel erfassen wollen. Hier wählen wir (die in diesem Falle schon vorhandene) Gruppe &amp;#039;&amp;#039;Startseite/Navigation/Formular&amp;#039;&amp;#039; durch Klick auf ihren Namen aus [[Media:dynmenue02.png|Klick]].&lt;br /&gt;
&lt;br /&gt;
Mit einem Klick auf &amp;#039;&amp;#039;Artikel Formular anzeigen&amp;#039;&amp;#039; [[Media:dynmenue03.PNG|Klick]] und danach auf &amp;#039;&amp;#039;Inhalt bearbeiten&amp;#039;&amp;#039; [[Media:dynmenue04.PNG|Klick]] erscheint der Editor.&lt;br /&gt;
&lt;br /&gt;
In diesem wählen Sie das Symbol für die dynamische Navigation [[Media:dynmenue05.PNG|Klick]], geben noch einen Titel, etwa &amp;#039;&amp;#039;Neue Seitennavigation&amp;#039;&amp;#039;, ein und bestätigen mit einem Klick auf &amp;#039;&amp;#039;Erstellen&amp;#039;&amp;#039; [[Media:dynmenue06.PNG|Klick]]. &lt;br /&gt;
&lt;br /&gt;
Hat alles geklappt, können Sie im unteren Teil der Seite den neuen Artikel sehen [[Media:dynmenue07.PNG|Klick]]. Die Nummer des Artikels benötigen Sie erneut, wenn Sie in eine PHP-Datei mittels eines Globals die dynamische Navigation einbinden.&lt;br /&gt;
&lt;br /&gt;
===Schritt 2: PHP-Datei für die dynamische Navigation erstellen===&lt;br /&gt;
Folgende Ordner-Struktur könnte bei Ihnen vorliegen:&lt;br /&gt;
:*&amp;lt;tt&amp;gt;http-docs/dynpg&amp;lt;/tt&amp;gt; : hier liegt das DynPG-CMS&lt;br /&gt;
:*&amp;lt;tt&amp;gt;http-docs/index.php&amp;lt;/tt&amp;gt; : die Hauptseite Ihrer Website&lt;br /&gt;
:*&amp;lt;tt&amp;gt;http-docs/folgeseite.php&amp;lt;/tt&amp;gt; : eine andere PHP-Datei der Website&lt;br /&gt;
:*&amp;lt;tt&amp;gt;http-docs/inc/navi.php&amp;lt;/tt&amp;gt; : In diese Datei platziert man häufig den Code für die Navigation, dadurch ist er leichter wiederverwendbar&lt;br /&gt;
&lt;br /&gt;
Den nötigen Code der &amp;lt;tt&amp;gt;inc/navi.php&amp;lt;/tt&amp;gt; kann man anhand der [[Muster-Web-Sites|Musterwebsites]] nachvollziehen (Für eine genauere Erklärung der einzelnen verwendeten Globals siehe die [[Funktionsreferenz/Globals|Globals-Übersicht von DynPG]] und weiter unten die [[#Globalsreferenz|Funktionsübersicht der dynamischen Navigation]]) :&lt;br /&gt;
:*&amp;#039;&amp;#039;&amp;#039;&amp;lt;tt&amp;gt;inc/navi.php&amp;lt;/tt&amp;gt;:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;code&amp;gt;[php, N]&lt;br /&gt;
&amp;lt;?php&lt;br /&gt;
  $GLOBALS[&amp;quot;DynPG&amp;quot;]-&amp;gt;SetParam_PlugIn_Template(&amp;#039;DPGdynmenu&amp;#039;, &amp;#039;intelligent&amp;#039;);&lt;br /&gt;
  $GLOBALS[&amp;quot;DynPG&amp;quot;]-&amp;gt;SetParam_PlugIn_Param(&amp;#039;DPGdynmenu&amp;#039;, &amp;#039;real_expand&amp;#039;, TRUE);&lt;br /&gt;
  $GLOBALS[&amp;quot;DynPG&amp;quot;]-&amp;gt;SetParam_PlugIn_Param(&amp;#039;DPGdynmenu&amp;#039;, &amp;#039;order&amp;#039;, Array(&amp;#039;INDEX&amp;#039;));&lt;br /&gt;
  $GLOBALS[&amp;quot;DynPG&amp;quot;]-&amp;gt;SetParam_PlugIn_Param(&amp;#039;DPGdynmenu&amp;#039;, &amp;#039;sort&amp;#039;, Array(&amp;#039;ASC&amp;#039;));&lt;br /&gt;
  $GLOBALS[&amp;quot;DynPG&amp;quot;]-&amp;gt;SetParam_PlugIn_Param(&amp;#039;DPGdynmenu&amp;#039;, &amp;#039;href_page_groups&amp;#039;, &amp;#039;../folgeseite.php&amp;#039;);&lt;br /&gt;
  $GLOBALS[&amp;quot;DynPG&amp;quot;]-&amp;gt;SetParam_PlugIn_Param(&amp;#039;DPGdynmenu&amp;#039;, &amp;#039;href_page_articles&amp;#039;, &amp;#039;../folgeseite.php&amp;#039;);&lt;br /&gt;
  $GLOBALS[&amp;quot;DynPG&amp;quot;]-&amp;gt;SetParam_PlugIn_Param(&amp;#039;DPGdynmenu&amp;#039;, &amp;#039;href_page_detail&amp;#039;, &amp;#039;../folgeseite.php&amp;#039;);&lt;br /&gt;
  $GLOBALS[&amp;quot;DynPG&amp;quot;]-&amp;gt;SetParam_PlugIn_Param(&lt;br /&gt;
    &amp;#039;DPGdynmenu&amp;#039;,&lt;br /&gt;
    &amp;#039;href_subpages&amp;#039;,&lt;br /&gt;
    Array(&lt;br /&gt;
      0 =&amp;gt; Array(&lt;br /&gt;
        &amp;#039;page&amp;#039; =&amp;gt; &amp;#039;../formular.php{query}&amp;#039;,&lt;br /&gt;
        &amp;#039;successors&amp;#039; =&amp;gt; true&lt;br /&gt;
      ),&lt;br /&gt;
      21 =&amp;gt; Array(&lt;br /&gt;
        &amp;#039;page&amp;#039; =&amp;gt; &amp;#039;../blog.php{query}&amp;#039;,&lt;br /&gt;
        &amp;#039;successors&amp;#039; =&amp;gt; true&lt;br /&gt;
      ),&lt;br /&gt;
      15 =&amp;gt; Array(&lt;br /&gt;
        &amp;#039;page&amp;#039; =&amp;gt; &amp;#039;../sitemap.php{query}&amp;#039;,&lt;br /&gt;
        &amp;#039;successors&amp;#039; =&amp;gt; true&lt;br /&gt;
      ),&lt;br /&gt;
      16 =&amp;gt; Array(&lt;br /&gt;
        &amp;#039;page&amp;#039; =&amp;gt; &amp;#039;../veranstaltungen.php{query}&amp;#039;,&lt;br /&gt;
        &amp;#039;successors&amp;#039; =&amp;gt; true&lt;br /&gt;
      ),&lt;br /&gt;
      21 =&amp;gt; Array(&lt;br /&gt;
        &amp;#039;page&amp;#039; =&amp;gt; &amp;#039;../blog.php{query}&amp;#039;,&lt;br /&gt;
        &amp;#039;successors&amp;#039; =&amp;gt; true&lt;br /&gt;
      ),&lt;br /&gt;
      6 =&amp;gt; Array(&lt;br /&gt;
        &amp;#039;page&amp;#039; =&amp;gt; &amp;#039;../index.php{query}&amp;#039;,&lt;br /&gt;
        &amp;#039;successors&amp;#039; =&amp;gt; true&lt;br /&gt;
      )&lt;br /&gt;
    )&lt;br /&gt;
  );    &lt;br /&gt;
  $GLOBALS[&amp;quot;DynPG&amp;quot;]-&amp;gt;SetupTemplate(&amp;#039;uneditable&amp;#039;); &lt;br /&gt;
  $GLOBALS[&amp;quot;DynPG&amp;quot;]-&amp;gt;SetParam_A_Anytime(TRUE);&lt;br /&gt;
  $GLOBALS[&amp;quot;DynPG&amp;quot;]-&amp;gt;SetParam_A_CategoryNavigation(FALSE);&lt;br /&gt;
  $GLOBALS[&amp;quot;DynPG&amp;quot;]-&amp;gt;SetParam_A_PrintNavigation(FALSE);&lt;br /&gt;
  $GLOBALS[&amp;quot;DynPG&amp;quot;]-&amp;gt;SetParam_A_ArticleHeader(FALSE);&lt;br /&gt;
  $GLOBALS[&amp;quot;DynPG&amp;quot;]-&amp;gt;SetParam_A_Article(1);&lt;br /&gt;
&lt;br /&gt;
  $GLOBALS[&amp;quot;DynPG&amp;quot;]-&amp;gt;Write_Article();&lt;br /&gt;
  $GLOBALS[&amp;quot;DynPG&amp;quot;]-&amp;gt;SetupTemplate(&amp;#039;default&amp;#039;);  &lt;br /&gt;
?&amp;gt;&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Man kann nun in der &amp;lt;tt&amp;gt;index.php&amp;lt;/tt&amp;gt; mittels &lt;br /&gt;
&amp;lt;code&amp;gt;[php, N]&lt;br /&gt;
&amp;lt;?php include(&amp;quot;inc/navi.php&amp;quot;); ?&amp;gt;&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
die Navigation einbinden, ebenso z.B. auch in der &amp;lt;tt&amp;gt;folgeseite.php&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Die dynamische Navigation kann nun an verschiedenen Stellen angepasst werden. Neben den Globals in der PHP-Datei ([[#Globalsreferenz|Globalsreferenz]]) ist dies im Backend durch das Erstellen von Gruppen und Artikeln möglich ([[#Dynamische_Navigation_im_Backend|Dynamische Navigation im Backend]]). Erweiterte Möglichkeiten ergeben sich durch das [[#CSS|CSS]] und die [[#Templates|Templates]].&lt;br /&gt;
&lt;br /&gt;
==Die dynamische Navigation im Backend==&lt;br /&gt;
&lt;br /&gt;
Wie bereits erwähnt, bildet die dynamische Navigation die Gruppenstruktur des Backends auf einer Webseite ab. In der Musterwebsite 3 ist im Backend zum Beispiel folgende Gruppenstruktur zu erkennen:&lt;br /&gt;
[[Media:dynmenue08.PNG|Klick]].&lt;br /&gt;
Auf der Website sieht dies dann wie folgt aus:&lt;br /&gt;
[[Media:dynmenue09.PNG|Klick]]&lt;br /&gt;
oder auch&lt;br /&gt;
[[Media:dynmenue10.PNG|Klick]]&lt;br /&gt;
.&lt;br /&gt;
&lt;br /&gt;
Welche Untergruppen angezeigt werden, hängt zum einen davon ab, welcher Navigationspunkt gerade aktiv ist (also angeklickt wurde) und zum anderen von den benutzten Globals in der PHP-Datei ([[#Globalsreferenz|z.B. Parameter &amp;#039;full_load&amp;#039;]]) und den Einstellungen der Gruppe im Backend. &lt;br /&gt;
&lt;br /&gt;
Die Eigenschaftsseite der Gruppe erreicht man über einen Klick auf das Stiftsymbol&lt;br /&gt;
([[Media:dynmenue11.PNG|Klick]])&lt;br /&gt;
. Unter dem Punkt &amp;#039;&amp;#039;Veröffentlichen&amp;#039;&amp;#039;&lt;br /&gt;
([[Media:dynmenue12.PNG|Klick]])&lt;br /&gt;
wählt man nun eine Option aus: &lt;br /&gt;
:* &amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039;Ja&amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039;: die Gruppe wird auf der gesamten Website angezeigt, also auch in der dynamischen Navigation&lt;br /&gt;
:* &amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039;Nein&amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039;: die Gruppe wird auf der ganze Website nicht angezeigt, also weder in Gruppenliste noch in der dynamischen Navigation&lt;br /&gt;
:* &amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039;Ja, ohne Navigation&amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039;: die Gruppe wird zwar normal auf der Website angezeigt, jedoch in der dynamischen Navigation ausgeblendet&lt;br /&gt;
:* &amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039;Ja, ohne Subnavigation&amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039;: wie &amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039;Ja&amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039;, jedoch werden von diesem Menüpunkt in der dynamischen Navigation nur Untergruppen angezeigt, jedoch keine Artikel, die eventuell in dieser Gruppe liegen&lt;br /&gt;
&lt;br /&gt;
==Globalsreferenz==&lt;br /&gt;
===Globals direkt für das Plugin===&lt;br /&gt;
&amp;#039;&amp;#039;Die Parameter haben Default-Werte, müssen also nicht immer gesetzt werden&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
*&amp;#039;&amp;#039;&amp;#039;&amp;lt;tt&amp;gt;$GLOBALS[&amp;quot;DynPG&amp;quot;]-&amp;gt;SetParam_PlugIn_Template(&amp;#039;DPGdynmenu&amp;#039;, &amp;#039;TEMPLATEORDNER&amp;#039;);&amp;lt;/tt&amp;gt;:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
:Hiermit wählt man den Template-Ordner für die dynamische Navigation aus. Diese Template-Ordner liegen in &amp;lt;tt&amp;gt;dynpg/plugins/DPGdynmenu/templates&amp;lt;/tt&amp;gt;. Aus diesem Ordner wird die Template-Datei &amp;lt;tt&amp;gt;menu.tpl&amp;lt;/tt&amp;gt; zur Generierung des Menüs genommen. Dies ist unabhängig vom Global &amp;lt;tt&amp;gt;$GLOBALS[&amp;quot;DynPG&amp;quot;]-&amp;gt;SetupTemplate(...);&amp;lt;/tt&amp;gt;, der sozusagen das Template des Artikels bestimmt, welcher die dynamische Navigation enthält.&lt;br /&gt;
&lt;br /&gt;
*&amp;#039;&amp;#039;&amp;#039;&amp;lt;tt&amp;gt;$GLOBALS[&amp;quot;DynPG&amp;quot;]-&amp;gt;SetParam_PlugIn_Param(&amp;#039;DPGdynmenu&amp;#039;, PARAMETERNAME, PARAMETERWERT);&amp;lt;/tt&amp;gt;&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
:{| class=&amp;quot;dynpgwikitable&amp;quot;&lt;br /&gt;
! &amp;lt;tt&amp;gt;PARAMETERNAME&amp;lt;/tt&amp;gt; !! &amp;lt;tt&amp;gt;PARAMETERWERT&amp;lt;/tt&amp;gt; !! Beschreibung&lt;br /&gt;
|-&lt;br /&gt;
||&amp;lt;tt&amp;gt;&amp;#039;order&amp;#039;&amp;lt;/tt&amp;gt; || &amp;lt;tt&amp;gt;Array(&amp;#039;INDEX&amp;#039;)&amp;lt;/tt&amp;gt; oder &amp;lt;tt&amp;gt;Array(&amp;#039;NAME&amp;#039;)&amp;lt;/tt&amp;gt; || Reihenfolge der Gruppen in der Navigation nach Name oder im Backend gesetzten Index&lt;br /&gt;
|-&lt;br /&gt;
||&amp;lt;tt&amp;gt;&amp;#039;sort&amp;#039;&amp;lt;/tt&amp;gt; || &amp;lt;tt&amp;gt;Array(&amp;#039;ASC&amp;#039;)&amp;lt;/tt&amp;gt; oder &amp;lt;tt&amp;gt;Array(&amp;#039;DESC&amp;#039;)&amp;lt;/tt&amp;gt; || aufsteigende oder absteigende Sortierung&lt;br /&gt;
|-&lt;br /&gt;
||&amp;lt;tt&amp;gt;&amp;#039;order_articles&amp;#039;&amp;lt;/tt&amp;gt; || z.B. &amp;lt;tt&amp;gt;Array(&amp;#039;INDEX&amp;#039;)&amp;lt;/tt&amp;gt; || sortiert Artikel in der dynamischen Navigation (falls diese angezeigt werden) &lt;br /&gt;
|-&lt;br /&gt;
||&amp;lt;tt&amp;gt;&amp;#039;sort_articles&amp;#039;&amp;lt;/tt&amp;gt; || z.B. &amp;lt;tt&amp;gt;Array(&amp;#039;ASC&amp;#039;)&amp;lt;/tt&amp;gt; || bestimmt aufsteigende oder absteigende Sortierreihenfolge der Artikel&lt;br /&gt;
|-&lt;br /&gt;
||&amp;lt;tt&amp;gt;&amp;#039;href_page_groups&amp;#039;&amp;lt;/tt&amp;gt; || z.B. &amp;lt;tt&amp;gt;&amp;#039;../folgeseite.php&amp;#039;&amp;lt;/tt&amp;gt; || Seite auf die weiterverlinkt wird bei einem Klick auf den Gruppennamen (ACHTUNG &amp;lt;tt&amp;gt;&amp;#039;../&amp;#039;&amp;lt;/tt&amp;gt; wichtig, siehe Ordnerstruktur weiter oben!)&lt;br /&gt;
|-&lt;br /&gt;
||&amp;lt;tt&amp;gt;&amp;#039;href_page_articles&amp;#039;&amp;lt;/tt&amp;gt; || z.B. &amp;lt;tt&amp;gt;&amp;#039;../folgeseite.php&amp;#039;&amp;lt;/tt&amp;gt; ||&lt;br /&gt;
|-&lt;br /&gt;
||&amp;lt;tt&amp;gt;&amp;#039;href_page_detail&amp;#039;&amp;lt;/tt&amp;gt; || z.B. &amp;lt;tt&amp;gt;&amp;#039;../folgeseite.php&amp;#039;&amp;lt;/tt&amp;gt; || Seite auf die weiterverlinkt wird bei einem Klick auf Artikelnamen in dynamischer Navigation (sofern Artikel angezeigt werden)&lt;br /&gt;
|-&lt;br /&gt;
||&amp;lt;tt&amp;gt;&amp;#039;href_subpages&amp;#039;&amp;lt;/tt&amp;gt; || z.B. &amp;lt;pre&amp;gt;Array(&lt;br /&gt;
  GRUPPENNUMMER =&amp;gt; Array( &lt;br /&gt;
    &amp;#039;page&amp;#039; =&amp;gt; &amp;#039;PHP-SEITE{query}&amp;#039;,&lt;br /&gt;
    &amp;#039;successors&amp;#039; =&amp;gt; true&lt;br /&gt;
  ),&lt;br /&gt;
...&lt;br /&gt;
...&lt;br /&gt;
...&lt;br /&gt;
  GRUPPENNUMMER =&amp;gt; Array( &lt;br /&gt;
    &amp;#039;page&amp;#039; =&amp;gt; &amp;#039;PHP-SEITE{query}&amp;#039;,&lt;br /&gt;
    &amp;#039;successors&amp;#039; =&amp;gt; true&lt;br /&gt;
  ) &lt;br /&gt;
)&amp;lt;/pre&amp;gt; || Ermöglicht für bestimmte Gruppen auf eine andere &amp;lt;tt&amp;gt;PHP-SEITE&amp;lt;/tt&amp;gt; zu verlinken&lt;br /&gt;
|-&lt;br /&gt;
||&amp;lt;tt&amp;gt;&amp;#039;full_load&amp;#039;&amp;lt;/tt&amp;gt; || &amp;lt;tt&amp;gt;false&amp;lt;/tt&amp;gt; oder &amp;lt;tt&amp;gt;true&amp;lt;/tt&amp;gt; || zeigt unabhängig von angeklickten Gruppen den kompletten Navigationsbaum mit Untergruppen an (oder auch nicht)&lt;br /&gt;
|-&lt;br /&gt;
|| &amp;lt;tt&amp;gt;&amp;#039;full_load_articles&amp;#039;&amp;lt;/tt&amp;gt; || &amp;lt;tt&amp;gt;false&amp;lt;/tt&amp;gt; ||&lt;br /&gt;
|-&lt;br /&gt;
|| &amp;lt;tt&amp;gt;&amp;#039;limit_articles&amp;#039;&amp;lt;/tt&amp;gt; || &amp;lt;tt&amp;gt;false&amp;lt;/tt&amp;gt; ||&lt;br /&gt;
|-&lt;br /&gt;
|| &amp;lt;tt&amp;gt;&amp;#039;expand_subtree&amp;#039;&amp;lt;/tt&amp;gt; || &amp;lt;tt&amp;gt;Array(4)&amp;lt;/tt&amp;gt; oder &amp;lt;tt&amp;gt;Array(4,5)&amp;lt;/tt&amp;gt; etc. || zeigt die Untergruppen von Gruppe 4 (bzw. 4 und 5) in jedem Fall an. Sei Gruppe 4 bspw. die Gruppe &amp;#039;&amp;#039;News&amp;#039;&amp;#039; des Backends, dann werden die beispielhaften Untergruppen &amp;#039;&amp;#039;Lokalnachrichten&amp;#039;&amp;#039; und &amp;#039;&amp;#039;Weltnachrichten&amp;#039;&amp;#039; immer zur Navigation angeboten, auch wenn sich ein Benutzer auf der Website gerade einen Artikel aus der Gruppe &amp;#039;&amp;#039;Kontakt&amp;#039;&amp;#039; anschaut&lt;br /&gt;
|- &lt;br /&gt;
|| &amp;lt;tt&amp;gt;&amp;#039;implode_subtree&amp;#039;&amp;lt;/tt&amp;gt; || &amp;lt;tt&amp;gt;Array(4)&amp;lt;/tt&amp;gt; oder &amp;lt;tt&amp;gt;Array(4,5)&amp;lt;/tt&amp;gt; etc. || zeigt die Untergruppen von Gruppe 4 (bzw. 4 und 5) in jedem Fall NICHT an. Anmerkung: der Parameter &amp;lt;tt&amp;gt;expand_subtree&amp;lt;/tt&amp;gt; überschreibt diese Einstellung! Ist also eine Gruppe in beiden Parametern aufgeführt, so werden die Untergruppen dieser Gruppe immer angezeigt, da der Parameter &amp;lt;tt&amp;gt;expand_subtree&amp;lt;/tt&amp;gt; wichtiger ist.&lt;br /&gt;
|-&lt;br /&gt;
|| &amp;lt;tt&amp;gt;&amp;#039;real_expand&amp;#039;&amp;lt;/tt&amp;gt; || &amp;lt;tt&amp;gt;false&amp;lt;/tt&amp;gt; ||&lt;br /&gt;
|-&lt;br /&gt;
|| &amp;lt;tt&amp;gt;&amp;#039;speed_mode&amp;#039;&amp;lt;/tt&amp;gt; || &amp;lt;tt&amp;gt;false&amp;lt;/tt&amp;gt; ||&lt;br /&gt;
|-&lt;br /&gt;
|| &amp;lt;tt&amp;gt;&amp;#039;parent_select&amp;#039;&amp;lt;/tt&amp;gt; || &amp;lt;tt&amp;gt;true&amp;lt;/tt&amp;gt; ||&lt;br /&gt;
|-&lt;br /&gt;
|| &amp;lt;tt&amp;gt;&amp;#039;max_depth&amp;#039;&amp;lt;/tt&amp;gt; || &amp;lt;tt&amp;gt;null&amp;lt;/tt&amp;gt; oder &amp;lt;tt&amp;gt;0&amp;lt;/tt&amp;gt; oder &amp;lt;tt&amp;gt;1&amp;lt;/tt&amp;gt; etc. || Tiefe bis zu der (Unter-)Gruppen angezeigt werden&lt;br /&gt;
|-&lt;br /&gt;
|| &amp;lt;tt&amp;gt;&amp;#039;min_depth&amp;#039;&amp;lt;/tt&amp;gt; || &amp;lt;tt&amp;gt;null&amp;lt;/tt&amp;gt; oder &amp;lt;tt&amp;gt;0&amp;lt;/tt&amp;gt; oder &amp;lt;tt&amp;gt;1&amp;lt;/tt&amp;gt; etc. || Tiefe, die eine Gruppe mindestens haben muss um angezeigt zu werden, z.B. 1 um oberste Ebene der Gruppen aus dem Backend auszublenden&lt;br /&gt;
|-&lt;br /&gt;
|| &amp;lt;tt&amp;gt;&amp;#039;fetch_only&amp;#039;&amp;lt;/tt&amp;gt; || &amp;lt;tt&amp;gt;null&amp;lt;/tt&amp;gt; ||&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Sinnvolle Globals vom DynPG-CMS===&lt;br /&gt;
&lt;br /&gt;
*&amp;#039;&amp;#039;&amp;#039;&amp;lt;tt&amp;gt;$GLOBALS[&amp;quot;DynPG&amp;quot;]-&amp;gt;SetupTemplate(&amp;#039;uneditable&amp;#039;);&amp;lt;/tt&amp;gt; :&amp;#039;&amp;#039;&amp;#039; ermöglicht Navigation in der Seite obwohl Editiermodus im Backend angeschaltet ist&lt;br /&gt;
*&amp;#039;&amp;#039;&amp;#039;&amp;lt;tt&amp;gt;$GLOBALS[&amp;quot;DynPG&amp;quot;]-&amp;gt;SetParam_A_Anytime(TRUE);&amp;lt;/tt&amp;gt; :&amp;#039;&amp;#039;&amp;#039; Menü soll immer angezeigt werden&lt;br /&gt;
*&amp;#039;&amp;#039;&amp;#039;&amp;lt;tt&amp;gt;$GLOBALS[&amp;quot;DynPG&amp;quot;]-&amp;gt;SetParam_A_CategoryNavigation(FALSE);&amp;lt;/tt&amp;gt; :&amp;#039;&amp;#039;&amp;#039; keine weitere Navigation(Breadcrumb) anzeigen&lt;br /&gt;
*&amp;#039;&amp;#039;&amp;#039;&amp;lt;tt&amp;gt;$GLOBALS[&amp;quot;DynPG&amp;quot;]-&amp;gt;SetParam_A_PrintNavigation(FALSE);&amp;lt;/tt&amp;gt; :&amp;#039;&amp;#039;&amp;#039; kein Link zu Print-Seite anzeigen&lt;br /&gt;
*&amp;#039;&amp;#039;&amp;#039;&amp;lt;tt&amp;gt;$GLOBALS[&amp;quot;DynPG&amp;quot;]-&amp;gt;SetParam_A_ArticleHeader(FALSE);&amp;lt;/tt&amp;gt; :&amp;#039;&amp;#039;&amp;#039; keine Artikelüberschrift (des Artikels mit dem DynMenü-Platzhalter) und kein Artikelleadtext anzeigen&lt;br /&gt;
*&amp;#039;&amp;#039;&amp;#039;&amp;lt;tt&amp;gt;$GLOBALS[&amp;quot;DynPG&amp;quot;]-&amp;gt;SetParam_A_Article(1);&amp;lt;/tt&amp;gt; :&amp;#039;&amp;#039;&amp;#039; Artikel mit dem Dynmenü-Platzhalter setzen (&amp;#039;&amp;#039;&amp;#039;Hier die Artikelnummer aus [[#Einrichten|Einrichten]] einfügen!&amp;#039;&amp;#039;&amp;#039;)&lt;br /&gt;
*&amp;#039;&amp;#039;&amp;#039;&amp;lt;tt&amp;gt;$GLOBALS[&amp;quot;DynPG&amp;quot;]-&amp;gt;Write_Article();&amp;lt;/tt&amp;gt; :&amp;#039;&amp;#039;&amp;#039; Artikel ausgeben&lt;br /&gt;
*&amp;#039;&amp;#039;&amp;#039;&amp;lt;tt&amp;gt;$GLOBALS[&amp;quot;DynPG&amp;quot;]-&amp;gt;SetupTemplate(&amp;#039;default&amp;#039;);&amp;lt;/tt&amp;gt; :&amp;#039;&amp;#039;&amp;#039; andere Teile der Website haben sicherlich andere Templates. Wir setzen daher hier wieder auf das Standard-Template zurück&lt;br /&gt;
&lt;br /&gt;
==CSS==&lt;br /&gt;
Die CSS-Dateien für die dynamische Navigation liegen im Verzeichnis &amp;lt;tt&amp;gt;dynpg/plugins/DPGdynmenu/styles&amp;lt;/tt&amp;gt;. Die Datei &amp;lt;tt&amp;gt;menu.css&amp;lt;/tt&amp;gt; ist hierbei meist die ausschlaggebende, so zum Beispiel in der Navigation der Musterwebsite 3.&lt;br /&gt;
&lt;br /&gt;
Die CSS-Klassen und -Bezeichner aus dieser Datei sind nach einem bestimmten Schema benannt. Hat man dieses einmal verstanden, so lassen sich leicht Änderungen an speziellen Teilen des Erscheinungsbildes der dynamischen Navigation durchführen.&lt;br /&gt;
&lt;br /&gt;
Die dynamische Navigation wird von einem &amp;lt;tt&amp;gt;div&amp;lt;/tt&amp;gt;-Tag mit der Id &amp;lt;tt&amp;gt;course_categories_menu&amp;lt;/tt&amp;gt; umschlossen.&lt;br /&gt;
&lt;br /&gt;
Diese Angaben gelten also grundsätzlich für die gesamte dynamische Navigation und werden gegebenenfalls weitervererbt.&lt;br /&gt;
Im &amp;lt;tt&amp;gt;menu.css&amp;lt;/tt&amp;gt; der Muster-Website 3 steht beispielsweise:&lt;br /&gt;
&amp;lt;code&amp;gt;[css, N]&lt;br /&gt;
div#course_categories_menu {&lt;br /&gt;
  margin: 0;&lt;br /&gt;
  padding: 0;&lt;br /&gt;
  width: 180px;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Um zu verhindern, dass die CSS-Angaben dieser Datei auch auf andere Teile der Website Einfluss haben, ist vor allen anderen CSS-Definitionen der Datei ebenfalls &amp;lt;tt&amp;gt;div#course_categories_menu&amp;lt;/tt&amp;gt; notiert. Dadurch wirken sich die Angaben nur auf die dynamische Navigation aus.&lt;br /&gt;
&lt;br /&gt;
Innerhalb des &amp;lt;tt&amp;gt;course_categories_menu&amp;lt;/tt&amp;gt; - &amp;lt;tt&amp;gt;div&amp;lt;/tt&amp;gt; - Tags gibt es für jede Gruppe der obersten angezeigten Gruppenebene ein &amp;lt;div&amp;gt;-Tag mit der CSS-Id &amp;lt;tt&amp;gt;group_fold_NUMMER&amp;lt;/tt&amp;gt; wobei &amp;lt;tt&amp;gt;NUMMER&amp;lt;/tt&amp;gt; der Gruppennummer der Gruppe aus dem Backend entspricht. In der Navigation der Muster-Website 3 gibt es also folgende Tags:&lt;br /&gt;
&amp;lt;code&amp;gt;[html, N]&lt;br /&gt;
&amp;lt;div id=&amp;quot;course_categories_menu&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;div id=&amp;quot;group_fold_2&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;  &amp;lt;!--Produkte--&amp;gt;&lt;br /&gt;
  &amp;lt;div id=&amp;quot;group_fold_3&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;  &amp;lt;!--Support--&amp;gt;&lt;br /&gt;
  &amp;lt;div id=&amp;quot;group_fold_9&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;  &amp;lt;!--News--&amp;gt;&lt;br /&gt;
  &amp;lt;div id=&amp;quot;group_fold_4&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;  &amp;lt;!--Über uns--&amp;gt;&lt;br /&gt;
  &amp;lt;div id=&amp;quot;group_fold_5&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;  &amp;lt;!--Kontakt--&amp;gt;&lt;br /&gt;
  &amp;lt;div id=&amp;quot;group_fold_21&amp;quot;&amp;gt;&amp;lt;/div&amp;gt; &amp;lt;!--Blog--&amp;gt;&lt;br /&gt;
  &amp;lt;div id=&amp;quot;group_fold_15&amp;quot;&amp;gt;&amp;lt;/div&amp;gt; &amp;lt;!--Sitemap--&amp;gt;&lt;br /&gt;
  &amp;lt;div id=&amp;quot;group_fold_6&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;  &amp;lt;!--Home--&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
Möchte man nun Eigenschaften nur an einem bestimmten Teil der Navigation machen, so könnte man im CSS-File folgende Angabe machen:&lt;br /&gt;
&amp;lt;code&amp;gt;[css, N]&lt;br /&gt;
div#course_categories_menu div#group_fold_9 {&lt;br /&gt;
  text-decoration:blink;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
Damit würde der Text der Gruppe &amp;#039;&amp;#039;News&amp;#039;&amp;#039; (und eventueller Untergruppen) in der dynamischen Navigation blinken.&lt;br /&gt;
&lt;br /&gt;
Innerhalb der &amp;lt;tt&amp;gt;group_fold_NUMMER&amp;lt;/tt&amp;gt; - &amp;lt;tt&amp;gt;div&amp;lt;/tt&amp;gt; - Tags gibt es nun ein &amp;lt;tt&amp;gt;div&amp;lt;/tt&amp;gt; - Tag, dass (neben einer weiteren CSS-Id) eine CSS-Klasse hat. Diese CSS-Klasse wird nach folgendem Muster gebildet:&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;&amp;lt;tt&amp;gt;level_&amp;#039;&amp;#039;A&amp;#039;&amp;#039;_&amp;#039;&amp;#039;B&amp;#039;&amp;#039;_&amp;#039;&amp;#039;C&amp;#039;&amp;#039;_&amp;#039;&amp;#039;D&amp;#039;&amp;#039;_&amp;#039;&amp;#039;E&amp;#039;&amp;#039;&amp;lt;/tt&amp;gt;&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;dynpgwikitable&amp;quot;&lt;br /&gt;
! Buchstabe !! mögliche Werte !! Beschreibung&lt;br /&gt;
|-&lt;br /&gt;
|| &amp;lt;tt&amp;gt;&amp;#039;&amp;#039;A&amp;#039;&amp;#039;&amp;lt;/tt&amp;gt; || 0 oder 1 oder 2 etc. || gibt das Level der Gruppe an, also die Verzweigungstiefe in der sich die Navigation befindet&lt;br /&gt;
|-&lt;br /&gt;
|| &amp;lt;tt&amp;gt;&amp;#039;&amp;#039;B&amp;#039;&amp;#039;&amp;lt;/tt&amp;gt; || &amp;lt;tt&amp;gt;r&amp;lt;/tt&amp;gt; (nicht letzter), &amp;lt;tt&amp;gt;e&amp;lt;/tt&amp;gt; (letzter) || gibt an, ob nach dieser Gruppe noch weitere aufgelistet werden (z.B. in Musterwebsite 3 ist die Gruppe 6 &amp;quot;Home&amp;quot; die letzte des Menüs)&lt;br /&gt;
|-&lt;br /&gt;
|| &amp;lt;tt&amp;gt;&amp;#039;&amp;#039;C&amp;#039;&amp;#039;&amp;lt;/tt&amp;gt; ||  &amp;lt;tt&amp;gt;a&amp;lt;/tt&amp;gt; (ist aktiv), &amp;lt;tt&amp;gt;i&amp;lt;/tt&amp;gt; (ist nicht aktiv) || gibt an, ob die Gruppe aktiv ist, d.h. ob sie durch einen Klick ausgewählt wurde&lt;br /&gt;
|-&lt;br /&gt;
|| &amp;lt;tt&amp;gt;&amp;#039;&amp;#039;D&amp;#039;&amp;#039;&amp;lt;/tt&amp;gt; ||  &amp;lt;tt&amp;gt;exp&amp;lt;/tt&amp;gt; (ausgeklappt), cll(eingeklappt) || gibt an, ob die Untergruppen dieser Gruppe ausgeklappt sind oder nicht&lt;br /&gt;
|-&lt;br /&gt;
|| &amp;lt;tt&amp;gt;&amp;#039;&amp;#039;E&amp;#039;&amp;#039;&amp;lt;/tt&amp;gt; ||  &amp;lt;tt&amp;gt;_hover&amp;lt;/tt&amp;gt; (Mauszeiger ist über dem Element), nichts (Mauszeiger ist nicht über dem Element) || gibt an, ob sich der Mauszeiger über dem Gruppennamen befindet oder nicht&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Mithilfe dieses Schemas kann man nun bestimmen, welche CSS-Klassen man in der CSS-Datei angeben muss um bestimmte Effekte hervorzurufen.&lt;br /&gt;
Möchte man beispielsweise, dass alle Elemente der zweitobersten Ebene blinken, wenn der Mauszeiger über dem Element ist, so notiert man in der CSS-Datei:&lt;br /&gt;
&amp;lt;code&amp;gt;[css, N]&lt;br /&gt;
div#course_categories_menu div#level_1_r_a_exp_hover,&lt;br /&gt;
div#course_categories_menu div#level_1_r_a_cll_hover,&lt;br /&gt;
div#course_categories_menu div#level_1_r_i_exp_hover,&lt;br /&gt;
div#course_categories_menu div#level_1_r_i_cll_hover,&lt;br /&gt;
div#course_categories_menu div#level_1_e_a_exp_hover,&lt;br /&gt;
div#course_categories_menu div#level_1_e_a_cll_hover,&lt;br /&gt;
div#course_categories_menu div#level_1_e_i_exp_hover,&lt;br /&gt;
div#course_categories_menu div#level_1_e_i_cll_hover {&lt;br /&gt;
  text-decoration:blink;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Diese Struktur der &amp;lt;tt&amp;gt;div&amp;lt;/tt&amp;gt;-Tags wiederholt sich mit tieferen Gruppenebenen / Untergruppen. Zum Beispiel tauchen die &amp;lt;tt&amp;gt;div&amp;lt;/tt&amp;gt;-Tags der Untergruppen vom &amp;#039;&amp;#039;Über uns&amp;#039;&amp;#039;-Menüpunkt aus der Muster-Website 3 innerhalb des &amp;lt;tt&amp;gt;group_fold_4&amp;lt;/tt&amp;gt; - &amp;lt;tt&amp;gt;div&amp;lt;/tt&amp;gt; - Tags auf.&lt;br /&gt;
&lt;br /&gt;
Weitere Informationen über die CSS-Klassen kann man schnell erhalten, indem man sich den HTML-Code eines generierten dynamischen Menüs anschaut, zum Beispiel aus der Muster-Website 3.&lt;br /&gt;
&lt;br /&gt;
==Templates==&lt;br /&gt;
Diese Templates liegen im Ordner &amp;lt;tt&amp;gt;dynpg/plugins/DPGdynmenu/templates&amp;lt;/tt&amp;gt;. Hier finden sie Ordner, die jeweils eine &amp;lt;tt&amp;gt;menu.tpl&amp;lt;/tt&amp;gt; enthalten. Welcher dieser Ordner aktiv ist, bestimmen Sie durch das Global &amp;lt;tt&amp;gt;$GLOBALS[&amp;quot;DynPG&amp;quot;]-&amp;gt;SetParam_PlugIn_Template(&amp;#039;DPGdynmenu&amp;#039;, &amp;#039;TEMPLATEORDNER&amp;#039;);&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Die Templates dienen als Vorlage für die Generierung des HTML-Codes der dynamischen Navigation. In ihnen werden auch die CSS-Klassen definiert, welche in [[#CSS|CSS]] erklärt wurden. Außerdem finden hier Templateplatzhalter der Form &amp;lt;tt&amp;gt;&amp;lt;nowiki&amp;gt;{$PLATZHALTER}&amp;lt;/nowiki&amp;gt;&amp;lt;/tt&amp;gt; Verwendung, die DynPG dynamisch durch Inhalt ersetzt.&lt;br /&gt;
&lt;br /&gt;
Das Template &amp;#039;&amp;#039;horizontal&amp;#039;&amp;#039; der Musterwebsite 3 generiert beispielsweise ein horizontales Menü, während das Template &amp;#039;&amp;#039;intelligent&amp;#039;&amp;#039; ein vertikales Menü erzeugt.&lt;br /&gt;
&lt;br /&gt;
Modifikationen an den Templates sind recht komplex. Sollten Sie vorhaben hier Änderungen durchzuführen, wenden Sie sich an das DynPG-Forum.&lt;br /&gt;
&lt;br /&gt;
==Feste Links einbauen==&lt;br /&gt;
&lt;br /&gt;
Hierzu erstellt man im Backend eine Gruppe mit dem Namen des festen Links und merkt sich die Gruppennummer. Mittels des Plugin-Parameters &amp;lt;tt&amp;gt;&amp;#039;href_subpages&amp;#039;&amp;lt;/tt&amp;gt; setzt man für diese Gruppennummer nun als Ziel die Datei &amp;lt;tt&amp;gt;counter.php&amp;lt;/tt&amp;gt; fest und übergibt dieser als Parameter das feste Linkziel. Beispiel: Wir wollen einen Link auf die Google-Webseite setzen. Also erstellen wir im Backend eine Gruppe mit dem Namen &amp;#039;&amp;#039;Google-Websuche&amp;#039;&amp;#039; und notieren die Gruppennummer (z.B. 33). In die PHP-Datei unserer dynamischen Navigation fügen wir nun folgendes ein:&lt;br /&gt;
&amp;lt;code&amp;gt;[php, N]&lt;br /&gt;
$GLOBALS[&amp;quot;DynPG&amp;quot;]-&amp;gt;SetParam_PlugIn_Param(&lt;br /&gt;
  &amp;#039;DPGdynmenu&amp;#039;,&lt;br /&gt;
  &amp;#039;href_subpages&amp;#039;,&lt;br /&gt;
  Array(&lt;br /&gt;
	33 =&amp;gt; Array(&lt;br /&gt;
      &amp;#039;page&amp;#039; =&amp;gt; &amp;#039;counter.php?inc=http://www.google.com&amp;#039;,&lt;br /&gt;
      &amp;#039;successors&amp;#039; =&amp;gt; true&lt;br /&gt;
    )		&lt;br /&gt;
  )&lt;br /&gt;
);&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Mehrsprachiges Menü==&lt;br /&gt;
&lt;br /&gt;
Hierzu gibt es einen Thread in unserem Forum unter [http://www.dynpg.ch/dynpg-forum.php?t=&amp;amp;read_group=30&amp;amp;thread_id=47&amp;amp;tt=Sprachwechsel]. Die grundsätzliche Idee ist (bei zwei Sprachen) zwei Gruppenbäume im Backend aufzubauen. Die oberste Gruppe des ersten Baumes wäre beispielsweise die Gruppe &amp;#039;&amp;#039;Deutsch&amp;#039;&amp;#039;, die oberste Gruppe des zweiten Baumes wäre zum Beispiel &amp;#039;&amp;#039;English&amp;#039;&amp;#039;.&lt;br /&gt;
&lt;br /&gt;
In der zweiten Ebene kommen dann unter &amp;#039;&amp;#039;Deutsch&amp;#039;&amp;#039; bzw. &amp;#039;&amp;#039;English&amp;#039;&amp;#039; Untergruppen wie &amp;#039;&amp;#039;News&amp;#039;&amp;#039;/&amp;#039;&amp;#039;Nachrichten&amp;#039;&amp;#039;, &amp;#039;&amp;#039;Produkte&amp;#039;&amp;#039;/&amp;#039;&amp;#039;Products&amp;#039;&amp;#039;, &amp;#039;&amp;#039;Hilfe&amp;#039;&amp;#039;/&amp;#039;&amp;#039;Support&amp;#039;&amp;#039; und so weiter. Man erstellt sich nun zwei PHP-Dateien (&amp;lt;tt&amp;gt;navi_de.php&amp;lt;/tt&amp;gt;, &amp;lt;tt&amp;gt;navi_en.php&amp;lt;/tt&amp;gt;) wie oben beschrieben [[#Einrichten|Einrichten]]. In diesen wird dann mit den Befehlen aus [[#Globalsreferenz|Globalsreferenz]] der jeweils nicht passende Baum ausgeblendet.&lt;br /&gt;
&lt;br /&gt;
==Siehe auch==&lt;br /&gt;
*[[Sitemap-Tutorial]]&lt;br /&gt;
*[[Implementation eines kompletten Hauptmenüs]]&lt;br /&gt;
*[[Code-Schnipsel Einfaches Hauptmenü]]&lt;br /&gt;
*[[Code-Schnipsel Menüeinträge sortieren]]&lt;br /&gt;
*[[Snippet-Beispiele]]&lt;/div&gt;</summary>
		<author><name>Sebastian</name></author>	</entry>

	<entry>
		<id>https://wiki-en.dynpg.org/wiki_de/index.php?title=Dynamische_Navigation</id>
		<title>Dynamische Navigation</title>
		<link rel="alternate" type="text/html" href="https://wiki-en.dynpg.org/wiki_de/index.php?title=Dynamische_Navigation"/>
				<updated>2009-08-17T15:41:24Z</updated>
		
		<summary type="html">&lt;p&gt;Sebastian: /* Die dynamische Navigation im Backend */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Kategorie:Module]]&lt;br /&gt;
==Beschreibung==&lt;br /&gt;
Die dynamische Navigation ist Bestandteil des kostenlosen Grundmoduls von DynPG und bereits im Standard-DynPG integriert. Es ist keine separate Installation notwendig. Sie ermöglicht es Ihnen einfach und flexibel Navigationen auf Ihrer Homepage zu erstellen. Die Anwendungsmöglichkeiten gestalten sich dabei flexibel als normales Menü oder auch als Sitemap.&lt;br /&gt;
&lt;br /&gt;
Ein dynamisches Menü bildet die Gruppenstruktur im Backend als Menü ab, macht also die logische Struktur ihrer Artikel aus dem Backend auf einer Webseite sichtbar und navigierbar.&lt;br /&gt;
&lt;br /&gt;
Der Vorteil ist, dass man im Backend neue Gruppen o.ä. erstellt und diese dann im Hauptmenü erscheinen. Dies ist auch bei Untergruppen nützlich,&lt;br /&gt;
z.B. wenn eine neue Untergruppe &amp;#039;&amp;#039;Lokalnachrichten&amp;#039;&amp;#039; zur Hauptgruppe &amp;#039;&amp;#039;News&amp;#039;&amp;#039; hinzukommt.&lt;br /&gt;
&lt;br /&gt;
Zum Verständnis der Funktionsvielfalt der dynamischen Navigation ist es hilfreich, einmal eine der [[Muster-Web-Sites|Musterwebsites]] zu installieren und in den entsprechenden Dateien der Musterwebsite die unten erklärten Einstellungsmöglichkeiten nachzuvollziehen und vielleicht auch einmal mit den Optionen herumzuspielen.&lt;br /&gt;
&lt;br /&gt;
==Einrichten==&lt;br /&gt;
&amp;#039;&amp;#039;Anmerkung: Benutzen sie die [[Muster-Web-Sites|Musterwebsites]], so müssen die nachfolgenden zwei Schritte nicht ausgeführt werden, da die dynamische Navigation bereits in den Musterwebsites genutzt wird&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
===Schritt 1: Artikel erstellen mit Platzhalter für die dynamische Navigation===&lt;br /&gt;
Wählen Sie im Menü des Backends &amp;#039;&amp;#039;Gruppen&amp;#039;&amp;#039; aus [[Media:dynmenue01.png|Klick]]. Suchen Sie sich nun eine Gruppe, in der Sie einen Artikel erfassen wollen. Hier wählen wir (die in diesem Falle schon vorhandene) Gruppe &amp;#039;&amp;#039;Startseite/Navigation/Formular&amp;#039;&amp;#039; durch Klick auf ihren Namen aus [[Media:dynmenue02.png|Klick]].&lt;br /&gt;
&lt;br /&gt;
Mit einem Klick auf &amp;#039;&amp;#039;Artikel Formular anzeigen&amp;#039;&amp;#039; [[Media:dynmenue03.PNG|Klick]] und danach auf &amp;#039;&amp;#039;Inhalt bearbeiten&amp;#039;&amp;#039; [[Media:dynmenue04.PNG|Klick]] erscheint der Editor.&lt;br /&gt;
&lt;br /&gt;
In diesem wählen Sie das Symbol für die dynamische Navigation [[Media:dynmenue05.PNG|Klick]], geben noch einen Titel, etwa &amp;#039;&amp;#039;Neue Seitennavigation&amp;#039;&amp;#039;, ein und bestätigen mit einem Klick auf &amp;#039;&amp;#039;Erstellen&amp;#039;&amp;#039; [[Media:dynmenue06.PNG|Klick]]. &lt;br /&gt;
&lt;br /&gt;
Hat alles geklappt, können Sie im unteren Teil der Seite den neuen Artikel sehen [[Media:dynmenue07.PNG|Klick]]. Die Nummer des Artikels benötigen Sie erneut, wenn Sie in eine PHP-Datei mittels eines Globals die dynamische Navigation einbinden.&lt;br /&gt;
&lt;br /&gt;
===Schritt 2: PHP-Datei für die dynamische Navigation erstellen===&lt;br /&gt;
Folgende Ordner-Struktur könnte bei Ihnen vorliegen:&lt;br /&gt;
:*&amp;lt;tt&amp;gt;http-docs/dynpg&amp;lt;/tt&amp;gt; : hier liegt das DynPG-CMS&lt;br /&gt;
:*&amp;lt;tt&amp;gt;http-docs/index.php&amp;lt;/tt&amp;gt; : die Hauptseite Ihrer Website&lt;br /&gt;
:*&amp;lt;tt&amp;gt;http-docs/folgeseite.php&amp;lt;/tt&amp;gt; : eine andere PHP-Datei der Website&lt;br /&gt;
:*&amp;lt;tt&amp;gt;http-docs/inc/navi.php&amp;lt;/tt&amp;gt; : In diese Datei platziert man häufig den Code für die Navigation, dadurch ist er leichter wiederverwendbar&lt;br /&gt;
&lt;br /&gt;
Den nötigen Code der &amp;lt;tt&amp;gt;inc/navi.php&amp;lt;/tt&amp;gt; kann man anhand der [[Muster-Web-Sites|Musterwebsites]] nachvollziehen (Für eine genauere Erklärung der einzelnen verwendeten Globals siehe die [[Funktionsreferenz/Globals|Globals-Übersicht von DynPG]] und weiter unten die [[#Globalsreferenz|Funktionsübersicht der dynamischen Navigation]]) :&lt;br /&gt;
:*&amp;#039;&amp;#039;&amp;#039;&amp;lt;tt&amp;gt;inc/navi.php&amp;lt;/tt&amp;gt;:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;code&amp;gt;[php, N]&lt;br /&gt;
&amp;lt;?php&lt;br /&gt;
  $GLOBALS[&amp;quot;DynPG&amp;quot;]-&amp;gt;SetParam_PlugIn_Template(&amp;#039;DPGdynmenu&amp;#039;, &amp;#039;intelligent&amp;#039;);&lt;br /&gt;
  $GLOBALS[&amp;quot;DynPG&amp;quot;]-&amp;gt;SetParam_PlugIn_Param(&amp;#039;DPGdynmenu&amp;#039;, &amp;#039;real_expand&amp;#039;, TRUE);&lt;br /&gt;
  $GLOBALS[&amp;quot;DynPG&amp;quot;]-&amp;gt;SetParam_PlugIn_Param(&amp;#039;DPGdynmenu&amp;#039;, &amp;#039;order&amp;#039;, Array(&amp;#039;INDEX&amp;#039;));&lt;br /&gt;
  $GLOBALS[&amp;quot;DynPG&amp;quot;]-&amp;gt;SetParam_PlugIn_Param(&amp;#039;DPGdynmenu&amp;#039;, &amp;#039;sort&amp;#039;, Array(&amp;#039;ASC&amp;#039;));&lt;br /&gt;
  $GLOBALS[&amp;quot;DynPG&amp;quot;]-&amp;gt;SetParam_PlugIn_Param(&amp;#039;DPGdynmenu&amp;#039;, &amp;#039;href_page_groups&amp;#039;, &amp;#039;../folgeseite.php&amp;#039;);&lt;br /&gt;
  $GLOBALS[&amp;quot;DynPG&amp;quot;]-&amp;gt;SetParam_PlugIn_Param(&amp;#039;DPGdynmenu&amp;#039;, &amp;#039;href_page_articles&amp;#039;, &amp;#039;../folgeseite.php&amp;#039;);&lt;br /&gt;
  $GLOBALS[&amp;quot;DynPG&amp;quot;]-&amp;gt;SetParam_PlugIn_Param(&amp;#039;DPGdynmenu&amp;#039;, &amp;#039;href_page_detail&amp;#039;, &amp;#039;../folgeseite.php&amp;#039;);&lt;br /&gt;
  $GLOBALS[&amp;quot;DynPG&amp;quot;]-&amp;gt;SetParam_PlugIn_Param(&lt;br /&gt;
    &amp;#039;DPGdynmenu&amp;#039;,&lt;br /&gt;
    &amp;#039;href_subpages&amp;#039;,&lt;br /&gt;
    Array(&lt;br /&gt;
      0 =&amp;gt; Array(&lt;br /&gt;
        &amp;#039;page&amp;#039; =&amp;gt; &amp;#039;../formular.php{query}&amp;#039;,&lt;br /&gt;
        &amp;#039;successors&amp;#039; =&amp;gt; true&lt;br /&gt;
      ),&lt;br /&gt;
      21 =&amp;gt; Array(&lt;br /&gt;
        &amp;#039;page&amp;#039; =&amp;gt; &amp;#039;../blog.php{query}&amp;#039;,&lt;br /&gt;
        &amp;#039;successors&amp;#039; =&amp;gt; true&lt;br /&gt;
      ),&lt;br /&gt;
      15 =&amp;gt; Array(&lt;br /&gt;
        &amp;#039;page&amp;#039; =&amp;gt; &amp;#039;../sitemap.php{query}&amp;#039;,&lt;br /&gt;
        &amp;#039;successors&amp;#039; =&amp;gt; true&lt;br /&gt;
      ),&lt;br /&gt;
      16 =&amp;gt; Array(&lt;br /&gt;
        &amp;#039;page&amp;#039; =&amp;gt; &amp;#039;../veranstaltungen.php{query}&amp;#039;,&lt;br /&gt;
        &amp;#039;successors&amp;#039; =&amp;gt; true&lt;br /&gt;
      ),&lt;br /&gt;
      21 =&amp;gt; Array(&lt;br /&gt;
        &amp;#039;page&amp;#039; =&amp;gt; &amp;#039;../blog.php{query}&amp;#039;,&lt;br /&gt;
        &amp;#039;successors&amp;#039; =&amp;gt; true&lt;br /&gt;
      ),&lt;br /&gt;
      6 =&amp;gt; Array(&lt;br /&gt;
        &amp;#039;page&amp;#039; =&amp;gt; &amp;#039;../index.php{query}&amp;#039;,&lt;br /&gt;
        &amp;#039;successors&amp;#039; =&amp;gt; true&lt;br /&gt;
      )&lt;br /&gt;
    )&lt;br /&gt;
  );    &lt;br /&gt;
  $GLOBALS[&amp;quot;DynPG&amp;quot;]-&amp;gt;SetupTemplate(&amp;#039;uneditable&amp;#039;); &lt;br /&gt;
  $GLOBALS[&amp;quot;DynPG&amp;quot;]-&amp;gt;SetParam_A_Anytime(TRUE);&lt;br /&gt;
  $GLOBALS[&amp;quot;DynPG&amp;quot;]-&amp;gt;SetParam_A_CategoryNavigation(FALSE);&lt;br /&gt;
  $GLOBALS[&amp;quot;DynPG&amp;quot;]-&amp;gt;SetParam_A_PrintNavigation(FALSE);&lt;br /&gt;
  $GLOBALS[&amp;quot;DynPG&amp;quot;]-&amp;gt;SetParam_A_ArticleHeader(FALSE);&lt;br /&gt;
  $GLOBALS[&amp;quot;DynPG&amp;quot;]-&amp;gt;SetParam_A_Article(1);&lt;br /&gt;
&lt;br /&gt;
  $GLOBALS[&amp;quot;DynPG&amp;quot;]-&amp;gt;Write_Article();&lt;br /&gt;
  $GLOBALS[&amp;quot;DynPG&amp;quot;]-&amp;gt;SetupTemplate(&amp;#039;default&amp;#039;);  &lt;br /&gt;
?&amp;gt;&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Man kann nun in der &amp;lt;tt&amp;gt;index.php&amp;lt;/tt&amp;gt; mittels &lt;br /&gt;
&amp;lt;code&amp;gt;[php, N]&lt;br /&gt;
&amp;lt;?php include(&amp;quot;inc/navi.php&amp;quot;); ?&amp;gt;&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
die Navigation einbinden, ebenso z.B. auch in der &amp;lt;tt&amp;gt;folgeseite.php&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Die dynamische Navigation kann nun an verschiedenen Stellen angepasst werden. Neben den Globals in der PHP-Datei ([[#Globalsreferenz|Globalsreferenz]]) ist dies im Backend durch das Erstellen von Gruppen und Artikeln möglich ([[#Dynamische_Navigation_im_Backend|Dynamische Navigation im Backend]]). Erweiterte Möglichkeiten ergeben sich durch das [[#CSS|CSS]] und die [[#Templates|Templates]].&lt;br /&gt;
&lt;br /&gt;
==Die dynamische Navigation im Backend==&lt;br /&gt;
&lt;br /&gt;
Wie bereits erwähnt, bildet die dynamische Navigation die Gruppenstruktur des Backends auf einer Webseite ab. In der Musterwebsite 3 ist im Backend zum Beispiel folgende Gruppenstruktur zu erkennen:&lt;br /&gt;
[[Media:dynmenue08.PNG|Klick]].&lt;br /&gt;
Auf der Website sieht dies dann wie folgt aus:&lt;br /&gt;
[[Media:dynmenue09.PNG|Klick]]&lt;br /&gt;
oder auch&lt;br /&gt;
[[Media:dynmenue10.PNG|Klick]]&lt;br /&gt;
.&lt;br /&gt;
&lt;br /&gt;
Welche Untergruppen angezeigt werden, hängt zum einen davon ab, welcher Navigationspunkt gerade aktiv ist (also angeklickt wurde) und zum anderen von den benutzten Globals in der PHP-Datei ([[#Globalsreferenz|z.B. Parameter &amp;#039;full_load&amp;#039;]]) und den Einstellungen der Gruppe im Backend. &lt;br /&gt;
&lt;br /&gt;
Die Eigenschaftsseite der Gruppe erreicht man über einen Klick auf:&lt;br /&gt;
[[Media:dynmenue11.PNG|Klick]]&lt;br /&gt;
. Unter dem Punkt &amp;#039;&amp;#039;Veröffentlichen&amp;#039;&amp;#039;&lt;br /&gt;
[[Media:dynmenue12.PNG|Klick]])&lt;br /&gt;
wählt man nun eine Option aus: &lt;br /&gt;
:* &amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039;Ja&amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039;: die Gruppe wird auf der gesamten Website angezeigt, also auch in der dynamischen Navigation&lt;br /&gt;
:* &amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039;Nein&amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039;: die Gruppe wird auf der ganze Website nicht angezeigt, also weder in Gruppenliste noch in der dynamischen Navigation&lt;br /&gt;
:* &amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039;Ja, ohne Navigation&amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039;: die Gruppe wird zwar normal auf der Website angezeigt, jedoch in der dynamischen Navigation ausgeblendet&lt;br /&gt;
:* &amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039;Ja, ohne Subnavigation&amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039;: wie &amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039;Ja&amp;#039;&amp;#039;&amp;#039;&amp;#039;&amp;#039;, jedoch werden von diesem Menüpunkt in der dynamischen Navigation nur Untergruppen angezeigt, jedoch keine Artikel, die eventuell in dieser Gruppe liegen&lt;br /&gt;
&lt;br /&gt;
==Globalsreferenz==&lt;br /&gt;
===Globals direkt für das Plugin===&lt;br /&gt;
&amp;#039;&amp;#039;Die Parameter haben Default-Werte, müssen also nicht immer gesetzt werden&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
*&amp;#039;&amp;#039;&amp;#039;&amp;lt;tt&amp;gt;$GLOBALS[&amp;quot;DynPG&amp;quot;]-&amp;gt;SetParam_PlugIn_Template(&amp;#039;DPGdynmenu&amp;#039;, &amp;#039;TEMPLATEORDNER&amp;#039;);&amp;lt;/tt&amp;gt;:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
:Hiermit wählt man den Template-Ordner für die dynamische Navigation aus. Diese Template-Ordner liegen in &amp;lt;tt&amp;gt;dynpg/plugins/DPGdynmenu/templates&amp;lt;/tt&amp;gt;. Aus diesem Ordner wird die Template-Datei &amp;lt;tt&amp;gt;menu.tpl&amp;lt;/tt&amp;gt; zur Generierung des Menüs genommen. Dies ist unabhängig vom Global &amp;lt;tt&amp;gt;$GLOBALS[&amp;quot;DynPG&amp;quot;]-&amp;gt;SetupTemplate(...);&amp;lt;/tt&amp;gt;, der sozusagen das Template des Artikels bestimmt, welcher die dynamische Navigation enthält.&lt;br /&gt;
&lt;br /&gt;
*&amp;#039;&amp;#039;&amp;#039;&amp;lt;tt&amp;gt;$GLOBALS[&amp;quot;DynPG&amp;quot;]-&amp;gt;SetParam_PlugIn_Param(&amp;#039;DPGdynmenu&amp;#039;, PARAMETERNAME, PARAMETERWERT);&amp;lt;/tt&amp;gt;&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
:{| class=&amp;quot;dynpgwikitable&amp;quot;&lt;br /&gt;
! &amp;lt;tt&amp;gt;PARAMETERNAME&amp;lt;/tt&amp;gt; !! &amp;lt;tt&amp;gt;PARAMETERWERT&amp;lt;/tt&amp;gt; !! Beschreibung&lt;br /&gt;
|-&lt;br /&gt;
||&amp;lt;tt&amp;gt;&amp;#039;order&amp;#039;&amp;lt;/tt&amp;gt; || &amp;lt;tt&amp;gt;Array(&amp;#039;INDEX&amp;#039;)&amp;lt;/tt&amp;gt; oder &amp;lt;tt&amp;gt;Array(&amp;#039;NAME&amp;#039;)&amp;lt;/tt&amp;gt; || Reihenfolge der Gruppen in der Navigation nach Name oder im Backend gesetzten Index&lt;br /&gt;
|-&lt;br /&gt;
||&amp;lt;tt&amp;gt;&amp;#039;sort&amp;#039;&amp;lt;/tt&amp;gt; || &amp;lt;tt&amp;gt;Array(&amp;#039;ASC&amp;#039;)&amp;lt;/tt&amp;gt; oder &amp;lt;tt&amp;gt;Array(&amp;#039;DESC&amp;#039;)&amp;lt;/tt&amp;gt; || aufsteigende oder absteigende Sortierung&lt;br /&gt;
|-&lt;br /&gt;
||&amp;lt;tt&amp;gt;&amp;#039;order_articles&amp;#039;&amp;lt;/tt&amp;gt; || z.B. &amp;lt;tt&amp;gt;Array(&amp;#039;INDEX&amp;#039;)&amp;lt;/tt&amp;gt; || sortiert Artikel in der dynamischen Navigation (falls diese angezeigt werden) &lt;br /&gt;
|-&lt;br /&gt;
||&amp;lt;tt&amp;gt;&amp;#039;sort_articles&amp;#039;&amp;lt;/tt&amp;gt; || z.B. &amp;lt;tt&amp;gt;Array(&amp;#039;ASC&amp;#039;)&amp;lt;/tt&amp;gt; || bestimmt aufsteigende oder absteigende Sortierreihenfolge der Artikel&lt;br /&gt;
|-&lt;br /&gt;
||&amp;lt;tt&amp;gt;&amp;#039;href_page_groups&amp;#039;&amp;lt;/tt&amp;gt; || z.B. &amp;lt;tt&amp;gt;&amp;#039;../folgeseite.php&amp;#039;&amp;lt;/tt&amp;gt; || Seite auf die weiterverlinkt wird bei einem Klick auf den Gruppennamen (ACHTUNG &amp;lt;tt&amp;gt;&amp;#039;../&amp;#039;&amp;lt;/tt&amp;gt; wichtig, siehe Ordnerstruktur weiter oben!)&lt;br /&gt;
|-&lt;br /&gt;
||&amp;lt;tt&amp;gt;&amp;#039;href_page_articles&amp;#039;&amp;lt;/tt&amp;gt; || z.B. &amp;lt;tt&amp;gt;&amp;#039;../folgeseite.php&amp;#039;&amp;lt;/tt&amp;gt; ||&lt;br /&gt;
|-&lt;br /&gt;
||&amp;lt;tt&amp;gt;&amp;#039;href_page_detail&amp;#039;&amp;lt;/tt&amp;gt; || z.B. &amp;lt;tt&amp;gt;&amp;#039;../folgeseite.php&amp;#039;&amp;lt;/tt&amp;gt; || Seite auf die weiterverlinkt wird bei einem Klick auf Artikelnamen in dynamischer Navigation (sofern Artikel angezeigt werden)&lt;br /&gt;
|-&lt;br /&gt;
||&amp;lt;tt&amp;gt;&amp;#039;href_subpages&amp;#039;&amp;lt;/tt&amp;gt; || z.B. &amp;lt;pre&amp;gt;Array(&lt;br /&gt;
  GRUPPENNUMMER =&amp;gt; Array( &lt;br /&gt;
    &amp;#039;page&amp;#039; =&amp;gt; &amp;#039;PHP-SEITE{query}&amp;#039;,&lt;br /&gt;
    &amp;#039;successors&amp;#039; =&amp;gt; true&lt;br /&gt;
  ),&lt;br /&gt;
...&lt;br /&gt;
...&lt;br /&gt;
...&lt;br /&gt;
  GRUPPENNUMMER =&amp;gt; Array( &lt;br /&gt;
    &amp;#039;page&amp;#039; =&amp;gt; &amp;#039;PHP-SEITE{query}&amp;#039;,&lt;br /&gt;
    &amp;#039;successors&amp;#039; =&amp;gt; true&lt;br /&gt;
  ) &lt;br /&gt;
)&amp;lt;/pre&amp;gt; || Ermöglicht für bestimmte Gruppen auf eine andere &amp;lt;tt&amp;gt;PHP-SEITE&amp;lt;/tt&amp;gt; zu verlinken&lt;br /&gt;
|-&lt;br /&gt;
||&amp;lt;tt&amp;gt;&amp;#039;full_load&amp;#039;&amp;lt;/tt&amp;gt; || &amp;lt;tt&amp;gt;false&amp;lt;/tt&amp;gt; oder &amp;lt;tt&amp;gt;true&amp;lt;/tt&amp;gt; || zeigt unabhängig von angeklickten Gruppen den kompletten Navigationsbaum mit Untergruppen an (oder auch nicht)&lt;br /&gt;
|-&lt;br /&gt;
|| &amp;lt;tt&amp;gt;&amp;#039;full_load_articles&amp;#039;&amp;lt;/tt&amp;gt; || &amp;lt;tt&amp;gt;false&amp;lt;/tt&amp;gt; ||&lt;br /&gt;
|-&lt;br /&gt;
|| &amp;lt;tt&amp;gt;&amp;#039;limit_articles&amp;#039;&amp;lt;/tt&amp;gt; || &amp;lt;tt&amp;gt;false&amp;lt;/tt&amp;gt; ||&lt;br /&gt;
|-&lt;br /&gt;
|| &amp;lt;tt&amp;gt;&amp;#039;expand_subtree&amp;#039;&amp;lt;/tt&amp;gt; || &amp;lt;tt&amp;gt;Array(4)&amp;lt;/tt&amp;gt; oder &amp;lt;tt&amp;gt;Array(4,5)&amp;lt;/tt&amp;gt; etc. || zeigt die Untergruppen von Gruppe 4 (bzw. 4 und 5) in jedem Fall an. Sei Gruppe 4 bspw. die Gruppe &amp;#039;&amp;#039;News&amp;#039;&amp;#039; des Backends, dann werden die beispielhaften Untergruppen &amp;#039;&amp;#039;Lokalnachrichten&amp;#039;&amp;#039; und &amp;#039;&amp;#039;Weltnachrichten&amp;#039;&amp;#039; immer zur Navigation angeboten, auch wenn sich ein Benutzer auf der Website gerade einen Artikel aus der Gruppe &amp;#039;&amp;#039;Kontakt&amp;#039;&amp;#039; anschaut&lt;br /&gt;
|- &lt;br /&gt;
|| &amp;lt;tt&amp;gt;&amp;#039;implode_subtree&amp;#039;&amp;lt;/tt&amp;gt; || &amp;lt;tt&amp;gt;Array(4)&amp;lt;/tt&amp;gt; oder &amp;lt;tt&amp;gt;Array(4,5)&amp;lt;/tt&amp;gt; etc. || zeigt die Untergruppen von Gruppe 4 (bzw. 4 und 5) in jedem Fall NICHT an. Anmerkung: der Parameter &amp;lt;tt&amp;gt;expand_subtree&amp;lt;/tt&amp;gt; überschreibt diese Einstellung! Ist also eine Gruppe in beiden Parametern aufgeführt, so werden die Untergruppen dieser Gruppe immer angezeigt, da der Parameter &amp;lt;tt&amp;gt;expand_subtree&amp;lt;/tt&amp;gt; wichtiger ist.&lt;br /&gt;
|-&lt;br /&gt;
|| &amp;lt;tt&amp;gt;&amp;#039;real_expand&amp;#039;&amp;lt;/tt&amp;gt; || &amp;lt;tt&amp;gt;false&amp;lt;/tt&amp;gt; ||&lt;br /&gt;
|-&lt;br /&gt;
|| &amp;lt;tt&amp;gt;&amp;#039;speed_mode&amp;#039;&amp;lt;/tt&amp;gt; || &amp;lt;tt&amp;gt;false&amp;lt;/tt&amp;gt; ||&lt;br /&gt;
|-&lt;br /&gt;
|| &amp;lt;tt&amp;gt;&amp;#039;parent_select&amp;#039;&amp;lt;/tt&amp;gt; || &amp;lt;tt&amp;gt;true&amp;lt;/tt&amp;gt; ||&lt;br /&gt;
|-&lt;br /&gt;
|| &amp;lt;tt&amp;gt;&amp;#039;max_depth&amp;#039;&amp;lt;/tt&amp;gt; || &amp;lt;tt&amp;gt;null&amp;lt;/tt&amp;gt; oder &amp;lt;tt&amp;gt;0&amp;lt;/tt&amp;gt; oder &amp;lt;tt&amp;gt;1&amp;lt;/tt&amp;gt; etc. || Tiefe bis zu der (Unter-)Gruppen angezeigt werden&lt;br /&gt;
|-&lt;br /&gt;
|| &amp;lt;tt&amp;gt;&amp;#039;min_depth&amp;#039;&amp;lt;/tt&amp;gt; || &amp;lt;tt&amp;gt;null&amp;lt;/tt&amp;gt; oder &amp;lt;tt&amp;gt;0&amp;lt;/tt&amp;gt; oder &amp;lt;tt&amp;gt;1&amp;lt;/tt&amp;gt; etc. || Tiefe, die eine Gruppe mindestens haben muss um angezeigt zu werden, z.B. 1 um oberste Ebene der Gruppen aus dem Backend auszublenden&lt;br /&gt;
|-&lt;br /&gt;
|| &amp;lt;tt&amp;gt;&amp;#039;fetch_only&amp;#039;&amp;lt;/tt&amp;gt; || &amp;lt;tt&amp;gt;null&amp;lt;/tt&amp;gt; ||&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Sinnvolle Globals vom DynPG-CMS===&lt;br /&gt;
&lt;br /&gt;
*&amp;#039;&amp;#039;&amp;#039;&amp;lt;tt&amp;gt;$GLOBALS[&amp;quot;DynPG&amp;quot;]-&amp;gt;SetupTemplate(&amp;#039;uneditable&amp;#039;);&amp;lt;/tt&amp;gt; :&amp;#039;&amp;#039;&amp;#039; ermöglicht Navigation in der Seite obwohl Editiermodus im Backend angeschaltet ist&lt;br /&gt;
*&amp;#039;&amp;#039;&amp;#039;&amp;lt;tt&amp;gt;$GLOBALS[&amp;quot;DynPG&amp;quot;]-&amp;gt;SetParam_A_Anytime(TRUE);&amp;lt;/tt&amp;gt; :&amp;#039;&amp;#039;&amp;#039; Menü soll immer angezeigt werden&lt;br /&gt;
*&amp;#039;&amp;#039;&amp;#039;&amp;lt;tt&amp;gt;$GLOBALS[&amp;quot;DynPG&amp;quot;]-&amp;gt;SetParam_A_CategoryNavigation(FALSE);&amp;lt;/tt&amp;gt; :&amp;#039;&amp;#039;&amp;#039; keine weitere Navigation(Breadcrumb) anzeigen&lt;br /&gt;
*&amp;#039;&amp;#039;&amp;#039;&amp;lt;tt&amp;gt;$GLOBALS[&amp;quot;DynPG&amp;quot;]-&amp;gt;SetParam_A_PrintNavigation(FALSE);&amp;lt;/tt&amp;gt; :&amp;#039;&amp;#039;&amp;#039; kein Link zu Print-Seite anzeigen&lt;br /&gt;
*&amp;#039;&amp;#039;&amp;#039;&amp;lt;tt&amp;gt;$GLOBALS[&amp;quot;DynPG&amp;quot;]-&amp;gt;SetParam_A_ArticleHeader(FALSE);&amp;lt;/tt&amp;gt; :&amp;#039;&amp;#039;&amp;#039; keine Artikelüberschrift (des Artikels mit dem DynMenü-Platzhalter) und kein Artikelleadtext anzeigen&lt;br /&gt;
*&amp;#039;&amp;#039;&amp;#039;&amp;lt;tt&amp;gt;$GLOBALS[&amp;quot;DynPG&amp;quot;]-&amp;gt;SetParam_A_Article(1);&amp;lt;/tt&amp;gt; :&amp;#039;&amp;#039;&amp;#039; Artikel mit dem Dynmenü-Platzhalter setzen (&amp;#039;&amp;#039;&amp;#039;Hier die Artikelnummer aus [[#Einrichten|Einrichten]] einfügen!&amp;#039;&amp;#039;&amp;#039;)&lt;br /&gt;
*&amp;#039;&amp;#039;&amp;#039;&amp;lt;tt&amp;gt;$GLOBALS[&amp;quot;DynPG&amp;quot;]-&amp;gt;Write_Article();&amp;lt;/tt&amp;gt; :&amp;#039;&amp;#039;&amp;#039; Artikel ausgeben&lt;br /&gt;
*&amp;#039;&amp;#039;&amp;#039;&amp;lt;tt&amp;gt;$GLOBALS[&amp;quot;DynPG&amp;quot;]-&amp;gt;SetupTemplate(&amp;#039;default&amp;#039;);&amp;lt;/tt&amp;gt; :&amp;#039;&amp;#039;&amp;#039; andere Teile der Website haben sicherlich andere Templates. Wir setzen daher hier wieder auf das Standard-Template zurück&lt;br /&gt;
&lt;br /&gt;
==CSS==&lt;br /&gt;
Die CSS-Dateien für die dynamische Navigation liegen im Verzeichnis &amp;lt;tt&amp;gt;dynpg/plugins/DPGdynmenu/styles&amp;lt;/tt&amp;gt;. Die Datei &amp;lt;tt&amp;gt;menu.css&amp;lt;/tt&amp;gt; ist hierbei meist die ausschlaggebende, so zum Beispiel in der Navigation der Musterwebsite 3.&lt;br /&gt;
&lt;br /&gt;
Die CSS-Klassen und -Bezeichner aus dieser Datei sind nach einem bestimmten Schema benannt. Hat man dieses einmal verstanden, so lassen sich leicht Änderungen an speziellen Teilen des Erscheinungsbildes der dynamischen Navigation durchführen.&lt;br /&gt;
&lt;br /&gt;
Die dynamische Navigation wird von einem &amp;lt;tt&amp;gt;div&amp;lt;/tt&amp;gt;-Tag mit der Id &amp;lt;tt&amp;gt;course_categories_menu&amp;lt;/tt&amp;gt; umschlossen.&lt;br /&gt;
&lt;br /&gt;
Diese Angaben gelten also grundsätzlich für die gesamte dynamische Navigation und werden gegebenenfalls weitervererbt.&lt;br /&gt;
Im &amp;lt;tt&amp;gt;menu.css&amp;lt;/tt&amp;gt; der Muster-Website 3 steht beispielsweise:&lt;br /&gt;
&amp;lt;code&amp;gt;[css, N]&lt;br /&gt;
div#course_categories_menu {&lt;br /&gt;
  margin: 0;&lt;br /&gt;
  padding: 0;&lt;br /&gt;
  width: 180px;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Um zu verhindern, dass die CSS-Angaben dieser Datei auch auf andere Teile der Website Einfluss haben, ist vor allen anderen CSS-Definitionen der Datei ebenfalls &amp;lt;tt&amp;gt;div#course_categories_menu&amp;lt;/tt&amp;gt; notiert. Dadurch wirken sich die Angaben nur auf die dynamische Navigation aus.&lt;br /&gt;
&lt;br /&gt;
Innerhalb des &amp;lt;tt&amp;gt;course_categories_menu&amp;lt;/tt&amp;gt; - &amp;lt;tt&amp;gt;div&amp;lt;/tt&amp;gt; - Tags gibt es für jede Gruppe der obersten angezeigten Gruppenebene ein &amp;lt;div&amp;gt;-Tag mit der CSS-Id &amp;lt;tt&amp;gt;group_fold_NUMMER&amp;lt;/tt&amp;gt; wobei &amp;lt;tt&amp;gt;NUMMER&amp;lt;/tt&amp;gt; der Gruppennummer der Gruppe aus dem Backend entspricht. In der Navigation der Muster-Website 3 gibt es also folgende Tags:&lt;br /&gt;
&amp;lt;code&amp;gt;[html, N]&lt;br /&gt;
&amp;lt;div id=&amp;quot;course_categories_menu&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;div id=&amp;quot;group_fold_2&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;  &amp;lt;!--Produkte--&amp;gt;&lt;br /&gt;
  &amp;lt;div id=&amp;quot;group_fold_3&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;  &amp;lt;!--Support--&amp;gt;&lt;br /&gt;
  &amp;lt;div id=&amp;quot;group_fold_9&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;  &amp;lt;!--News--&amp;gt;&lt;br /&gt;
  &amp;lt;div id=&amp;quot;group_fold_4&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;  &amp;lt;!--Über uns--&amp;gt;&lt;br /&gt;
  &amp;lt;div id=&amp;quot;group_fold_5&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;  &amp;lt;!--Kontakt--&amp;gt;&lt;br /&gt;
  &amp;lt;div id=&amp;quot;group_fold_21&amp;quot;&amp;gt;&amp;lt;/div&amp;gt; &amp;lt;!--Blog--&amp;gt;&lt;br /&gt;
  &amp;lt;div id=&amp;quot;group_fold_15&amp;quot;&amp;gt;&amp;lt;/div&amp;gt; &amp;lt;!--Sitemap--&amp;gt;&lt;br /&gt;
  &amp;lt;div id=&amp;quot;group_fold_6&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;  &amp;lt;!--Home--&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
Möchte man nun Eigenschaften nur an einem bestimmten Teil der Navigation machen, so könnte man im CSS-File folgende Angabe machen:&lt;br /&gt;
&amp;lt;code&amp;gt;[css, N]&lt;br /&gt;
div#course_categories_menu div#group_fold_9 {&lt;br /&gt;
  text-decoration:blink;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
Damit würde der Text der Gruppe &amp;#039;&amp;#039;News&amp;#039;&amp;#039; (und eventueller Untergruppen) in der dynamischen Navigation blinken.&lt;br /&gt;
&lt;br /&gt;
Innerhalb der &amp;lt;tt&amp;gt;group_fold_NUMMER&amp;lt;/tt&amp;gt; - &amp;lt;tt&amp;gt;div&amp;lt;/tt&amp;gt; - Tags gibt es nun ein &amp;lt;tt&amp;gt;div&amp;lt;/tt&amp;gt; - Tag, dass (neben einer weiteren CSS-Id) eine CSS-Klasse hat. Diese CSS-Klasse wird nach folgendem Muster gebildet:&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;&amp;lt;tt&amp;gt;level_&amp;#039;&amp;#039;A&amp;#039;&amp;#039;_&amp;#039;&amp;#039;B&amp;#039;&amp;#039;_&amp;#039;&amp;#039;C&amp;#039;&amp;#039;_&amp;#039;&amp;#039;D&amp;#039;&amp;#039;_&amp;#039;&amp;#039;E&amp;#039;&amp;#039;&amp;lt;/tt&amp;gt;&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;dynpgwikitable&amp;quot;&lt;br /&gt;
! Buchstabe !! mögliche Werte !! Beschreibung&lt;br /&gt;
|-&lt;br /&gt;
|| &amp;lt;tt&amp;gt;&amp;#039;&amp;#039;A&amp;#039;&amp;#039;&amp;lt;/tt&amp;gt; || 0 oder 1 oder 2 etc. || gibt das Level der Gruppe an, also die Verzweigungstiefe in der sich die Navigation befindet&lt;br /&gt;
|-&lt;br /&gt;
|| &amp;lt;tt&amp;gt;&amp;#039;&amp;#039;B&amp;#039;&amp;#039;&amp;lt;/tt&amp;gt; || &amp;lt;tt&amp;gt;r&amp;lt;/tt&amp;gt; (nicht letzter), &amp;lt;tt&amp;gt;e&amp;lt;/tt&amp;gt; (letzter) || gibt an, ob nach dieser Gruppe noch weitere aufgelistet werden (z.B. in Musterwebsite 3 ist die Gruppe 6 &amp;quot;Home&amp;quot; die letzte des Menüs)&lt;br /&gt;
|-&lt;br /&gt;
|| &amp;lt;tt&amp;gt;&amp;#039;&amp;#039;C&amp;#039;&amp;#039;&amp;lt;/tt&amp;gt; ||  &amp;lt;tt&amp;gt;a&amp;lt;/tt&amp;gt; (ist aktiv), &amp;lt;tt&amp;gt;i&amp;lt;/tt&amp;gt; (ist nicht aktiv) || gibt an, ob die Gruppe aktiv ist, d.h. ob sie durch einen Klick ausgewählt wurde&lt;br /&gt;
|-&lt;br /&gt;
|| &amp;lt;tt&amp;gt;&amp;#039;&amp;#039;D&amp;#039;&amp;#039;&amp;lt;/tt&amp;gt; ||  &amp;lt;tt&amp;gt;exp&amp;lt;/tt&amp;gt; (ausgeklappt), cll(eingeklappt) || gibt an, ob die Untergruppen dieser Gruppe ausgeklappt sind oder nicht&lt;br /&gt;
|-&lt;br /&gt;
|| &amp;lt;tt&amp;gt;&amp;#039;&amp;#039;E&amp;#039;&amp;#039;&amp;lt;/tt&amp;gt; ||  &amp;lt;tt&amp;gt;_hover&amp;lt;/tt&amp;gt; (Mauszeiger ist über dem Element), nichts (Mauszeiger ist nicht über dem Element) || gibt an, ob sich der Mauszeiger über dem Gruppennamen befindet oder nicht&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Mithilfe dieses Schemas kann man nun bestimmen, welche CSS-Klassen man in der CSS-Datei angeben muss um bestimmte Effekte hervorzurufen.&lt;br /&gt;
Möchte man beispielsweise, dass alle Elemente der zweitobersten Ebene blinken, wenn der Mauszeiger über dem Element ist, so notiert man in der CSS-Datei:&lt;br /&gt;
&amp;lt;code&amp;gt;[css, N]&lt;br /&gt;
div#course_categories_menu div#level_1_r_a_exp_hover,&lt;br /&gt;
div#course_categories_menu div#level_1_r_a_cll_hover,&lt;br /&gt;
div#course_categories_menu div#level_1_r_i_exp_hover,&lt;br /&gt;
div#course_categories_menu div#level_1_r_i_cll_hover,&lt;br /&gt;
div#course_categories_menu div#level_1_e_a_exp_hover,&lt;br /&gt;
div#course_categories_menu div#level_1_e_a_cll_hover,&lt;br /&gt;
div#course_categories_menu div#level_1_e_i_exp_hover,&lt;br /&gt;
div#course_categories_menu div#level_1_e_i_cll_hover {&lt;br /&gt;
  text-decoration:blink;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Diese Struktur der &amp;lt;tt&amp;gt;div&amp;lt;/tt&amp;gt;-Tags wiederholt sich mit tieferen Gruppenebenen / Untergruppen. Zum Beispiel tauchen die &amp;lt;tt&amp;gt;div&amp;lt;/tt&amp;gt;-Tags der Untergruppen vom &amp;#039;&amp;#039;Über uns&amp;#039;&amp;#039;-Menüpunkt aus der Muster-Website 3 innerhalb des &amp;lt;tt&amp;gt;group_fold_4&amp;lt;/tt&amp;gt; - &amp;lt;tt&amp;gt;div&amp;lt;/tt&amp;gt; - Tags auf.&lt;br /&gt;
&lt;br /&gt;
Weitere Informationen über die CSS-Klassen kann man schnell erhalten, indem man sich den HTML-Code eines generierten dynamischen Menüs anschaut, zum Beispiel aus der Muster-Website 3.&lt;br /&gt;
&lt;br /&gt;
==Templates==&lt;br /&gt;
Diese Templates liegen im Ordner &amp;lt;tt&amp;gt;dynpg/plugins/DPGdynmenu/templates&amp;lt;/tt&amp;gt;. Hier finden sie Ordner, die jeweils eine &amp;lt;tt&amp;gt;menu.tpl&amp;lt;/tt&amp;gt; enthalten. Welcher dieser Ordner aktiv ist, bestimmen Sie durch das Global &amp;lt;tt&amp;gt;$GLOBALS[&amp;quot;DynPG&amp;quot;]-&amp;gt;SetParam_PlugIn_Template(&amp;#039;DPGdynmenu&amp;#039;, &amp;#039;TEMPLATEORDNER&amp;#039;);&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Die Templates dienen als Vorlage für die Generierung des HTML-Codes der dynamischen Navigation. In ihnen werden auch die CSS-Klassen definiert, welche in [[#CSS|CSS]] erklärt wurden. Außerdem finden hier Templateplatzhalter der Form &amp;lt;tt&amp;gt;&amp;lt;nowiki&amp;gt;{$PLATZHALTER}&amp;lt;/nowiki&amp;gt;&amp;lt;/tt&amp;gt; Verwendung, die DynPG dynamisch durch Inhalt ersetzt.&lt;br /&gt;
&lt;br /&gt;
Das Template &amp;#039;&amp;#039;horizontal&amp;#039;&amp;#039; der Musterwebsite 3 generiert beispielsweise ein horizontales Menü, während das Template &amp;#039;&amp;#039;intelligent&amp;#039;&amp;#039; ein vertikales Menü erzeugt.&lt;br /&gt;
&lt;br /&gt;
Modifikationen an den Templates sind recht komplex. Sollten Sie vorhaben hier Änderungen durchzuführen, wenden Sie sich an das DynPG-Forum.&lt;br /&gt;
&lt;br /&gt;
==Feste Links einbauen==&lt;br /&gt;
&lt;br /&gt;
Hierzu erstellt man im Backend eine Gruppe mit dem Namen des festen Links und merkt sich die Gruppennummer. Mittels des Plugin-Parameters &amp;lt;tt&amp;gt;&amp;#039;href_subpages&amp;#039;&amp;lt;/tt&amp;gt; setzt man für diese Gruppennummer nun als Ziel die Datei &amp;lt;tt&amp;gt;counter.php&amp;lt;/tt&amp;gt; fest und übergibt dieser als Parameter das feste Linkziel. Beispiel: Wir wollen einen Link auf die Google-Webseite setzen. Also erstellen wir im Backend eine Gruppe mit dem Namen &amp;#039;&amp;#039;Google-Websuche&amp;#039;&amp;#039; und notieren die Gruppennummer (z.B. 33). In die PHP-Datei unserer dynamischen Navigation fügen wir nun folgendes ein:&lt;br /&gt;
&amp;lt;code&amp;gt;[php, N]&lt;br /&gt;
$GLOBALS[&amp;quot;DynPG&amp;quot;]-&amp;gt;SetParam_PlugIn_Param(&lt;br /&gt;
  &amp;#039;DPGdynmenu&amp;#039;,&lt;br /&gt;
  &amp;#039;href_subpages&amp;#039;,&lt;br /&gt;
  Array(&lt;br /&gt;
	33 =&amp;gt; Array(&lt;br /&gt;
      &amp;#039;page&amp;#039; =&amp;gt; &amp;#039;counter.php?inc=http://www.google.com&amp;#039;,&lt;br /&gt;
      &amp;#039;successors&amp;#039; =&amp;gt; true&lt;br /&gt;
    )		&lt;br /&gt;
  )&lt;br /&gt;
);&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Mehrsprachiges Menü==&lt;br /&gt;
&lt;br /&gt;
Hierzu gibt es einen Thread in unserem Forum unter [http://www.dynpg.ch/dynpg-forum.php?t=&amp;amp;read_group=30&amp;amp;thread_id=47&amp;amp;tt=Sprachwechsel]. Die grundsätzliche Idee ist (bei zwei Sprachen) zwei Gruppenbäume im Backend aufzubauen. Die oberste Gruppe des ersten Baumes wäre beispielsweise die Gruppe &amp;#039;&amp;#039;Deutsch&amp;#039;&amp;#039;, die oberste Gruppe des zweiten Baumes wäre zum Beispiel &amp;#039;&amp;#039;English&amp;#039;&amp;#039;.&lt;br /&gt;
&lt;br /&gt;
In der zweiten Ebene kommen dann unter &amp;#039;&amp;#039;Deutsch&amp;#039;&amp;#039; bzw. &amp;#039;&amp;#039;English&amp;#039;&amp;#039; Untergruppen wie &amp;#039;&amp;#039;News&amp;#039;&amp;#039;/&amp;#039;&amp;#039;Nachrichten&amp;#039;&amp;#039;, &amp;#039;&amp;#039;Produkte&amp;#039;&amp;#039;/&amp;#039;&amp;#039;Products&amp;#039;&amp;#039;, &amp;#039;&amp;#039;Hilfe&amp;#039;&amp;#039;/&amp;#039;&amp;#039;Support&amp;#039;&amp;#039; und so weiter. Man erstellt sich nun zwei PHP-Dateien (&amp;lt;tt&amp;gt;navi_de.php&amp;lt;/tt&amp;gt;, &amp;lt;tt&amp;gt;navi_en.php&amp;lt;/tt&amp;gt;) wie oben beschrieben [[#Einrichten|Einrichten]]. In diesen wird dann mit den Befehlen aus [[#Globalsreferenz|Globalsreferenz]] der jeweils nicht passende Baum ausgeblendet.&lt;br /&gt;
&lt;br /&gt;
==Siehe auch==&lt;br /&gt;
*[[Sitemap-Tutorial]]&lt;br /&gt;
*[[Implementation eines kompletten Hauptmenüs]]&lt;br /&gt;
*[[Code-Schnipsel Einfaches Hauptmenü]]&lt;br /&gt;
*[[Code-Schnipsel Menüeinträge sortieren]]&lt;br /&gt;
*[[Snippet-Beispiele]]&lt;/div&gt;</summary>
		<author><name>Sebastian</name></author>	</entry>

	<entry>
		<id>https://wiki-en.dynpg.org/wiki_de/index.php?title=Dynamische_Navigation</id>
		<title>Dynamische Navigation</title>
		<link rel="alternate" type="text/html" href="https://wiki-en.dynpg.org/wiki_de/index.php?title=Dynamische_Navigation"/>
				<updated>2009-08-16T18:15:48Z</updated>
		
		<summary type="html">&lt;p&gt;Sebastian: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Kategorie:Module]]&lt;br /&gt;
==Beschreibung==&lt;br /&gt;
Die dynamische Navigation ist Bestandteil des kostenlosen Grundmoduls von DynPG und bereits im Standard-DynPG integriert. Es ist keine separate Installation notwendig. Sie ermöglicht es Ihnen einfach und flexibel Navigationen auf Ihrer Homepage zu erstellen. Die Anwendungsmöglichkeiten gestalten sich dabei flexibel als normales Menü oder auch als Sitemap.&lt;br /&gt;
&lt;br /&gt;
Ein dynamisches Menü bildet die Gruppenstruktur im Backend als Menü ab, macht also die logische Struktur ihrer Artikel aus dem Backend auf einer Webseite sichtbar und navigierbar.&lt;br /&gt;
&lt;br /&gt;
Der Vorteil ist, dass man im Backend neue Gruppen o.ä. erstellt und diese dann im Hauptmenü erscheinen. Dies ist auch bei Untergruppen nützlich,&lt;br /&gt;
z.B. wenn eine neue Untergruppe &amp;#039;&amp;#039;Lokalnachrichten&amp;#039;&amp;#039; zur Hauptgruppe &amp;#039;&amp;#039;News&amp;#039;&amp;#039; hinzukommt.&lt;br /&gt;
&lt;br /&gt;
Zum Verständnis der Funktionsvielfalt der dynamischen Navigation ist es hilfreich, einmal eine der [[Muster-Web-Sites|Musterwebsites]] zu installieren und in den entsprechenden Dateien der Musterwebsite die unten erklärten Einstellungsmöglichkeiten nachzuvollziehen und vielleicht auch einmal mit den Optionen herumzuspielen.&lt;br /&gt;
&lt;br /&gt;
==Einrichten==&lt;br /&gt;
&amp;#039;&amp;#039;Anmerkung: Benutzen sie die [[Muster-Web-Sites|Musterwebsites]], so müssen die nachfolgenden zwei Schritte nicht ausgeführt werden, da die dynamische Navigation bereits in den Musterwebsites genutzt wird&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
===Schritt 1: Artikel erstellen mit Platzhalter für die dynamische Navigation===&lt;br /&gt;
Wählen Sie im Menü des Backends &amp;#039;&amp;#039;Gruppen&amp;#039;&amp;#039; aus [[Media:dynmenue01.png|Klick]]. Suchen Sie sich nun eine Gruppe, in der Sie einen Artikel erfassen wollen. Hier wählen wir (die in diesem Falle schon vorhandene) Gruppe &amp;#039;&amp;#039;Startseite/Navigation/Formular&amp;#039;&amp;#039; durch Klick auf ihren Namen aus [[Media:dynmenue02.png|Klick]].&lt;br /&gt;
&lt;br /&gt;
Mit einem Klick auf &amp;#039;&amp;#039;Artikel Formular anzeigen&amp;#039;&amp;#039; [[Media:dynmenue03.PNG|Klick]] und danach auf &amp;#039;&amp;#039;Inhalt bearbeiten&amp;#039;&amp;#039; [[Media:dynmenue04.PNG|Klick]] erscheint der Editor.&lt;br /&gt;
&lt;br /&gt;
In diesem wählen Sie das Symbol für die dynamische Navigation [[Media:dynmenue05.PNG|Klick]], geben noch einen Titel, etwa &amp;#039;&amp;#039;Neue Seitennavigation&amp;#039;&amp;#039;, ein und bestätigen mit einem Klick auf &amp;#039;&amp;#039;Erstellen&amp;#039;&amp;#039; [[Media:dynmenue06.PNG|Klick]]. &lt;br /&gt;
&lt;br /&gt;
Hat alles geklappt, können Sie im unteren Teil der Seite den neuen Artikel sehen [[Media:dynmenue07.PNG|Klick]]. Die Nummer des Artikels benötigen Sie erneut, wenn Sie in eine PHP-Datei mittels eines Globals die dynamische Navigation einbinden.&lt;br /&gt;
&lt;br /&gt;
===Schritt 2: PHP-Datei für die dynamische Navigation erstellen===&lt;br /&gt;
Folgende Ordner-Struktur könnte bei Ihnen vorliegen:&lt;br /&gt;
:*&amp;lt;tt&amp;gt;http-docs/dynpg&amp;lt;/tt&amp;gt; : hier liegt das DynPG-CMS&lt;br /&gt;
:*&amp;lt;tt&amp;gt;http-docs/index.php&amp;lt;/tt&amp;gt; : die Hauptseite Ihrer Website&lt;br /&gt;
:*&amp;lt;tt&amp;gt;http-docs/folgeseite.php&amp;lt;/tt&amp;gt; : eine andere PHP-Datei der Website&lt;br /&gt;
:*&amp;lt;tt&amp;gt;http-docs/inc/navi.php&amp;lt;/tt&amp;gt; : In diese Datei platziert man häufig den Code für die Navigation, dadurch ist er leichter wiederverwendbar&lt;br /&gt;
&lt;br /&gt;
Den nötigen Code der &amp;lt;tt&amp;gt;inc/navi.php&amp;lt;/tt&amp;gt; kann man anhand der [[Muster-Web-Sites|Musterwebsites]] nachvollziehen (Für eine genauere Erklärung der einzelnen verwendeten Globals siehe die [[Funktionsreferenz/Globals|Globals-Übersicht von DynPG]] und weiter unten die [[#Globalsreferenz|Funktionsübersicht der dynamischen Navigation]]) :&lt;br /&gt;
:*&amp;#039;&amp;#039;&amp;#039;&amp;lt;tt&amp;gt;inc/navi.php&amp;lt;/tt&amp;gt;:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;code&amp;gt;[php, N]&lt;br /&gt;
&amp;lt;?php&lt;br /&gt;
  $GLOBALS[&amp;quot;DynPG&amp;quot;]-&amp;gt;SetParam_PlugIn_Template(&amp;#039;DPGdynmenu&amp;#039;, &amp;#039;intelligent&amp;#039;);&lt;br /&gt;
  $GLOBALS[&amp;quot;DynPG&amp;quot;]-&amp;gt;SetParam_PlugIn_Param(&amp;#039;DPGdynmenu&amp;#039;, &amp;#039;real_expand&amp;#039;, TRUE);&lt;br /&gt;
  $GLOBALS[&amp;quot;DynPG&amp;quot;]-&amp;gt;SetParam_PlugIn_Param(&amp;#039;DPGdynmenu&amp;#039;, &amp;#039;order&amp;#039;, Array(&amp;#039;INDEX&amp;#039;));&lt;br /&gt;
  $GLOBALS[&amp;quot;DynPG&amp;quot;]-&amp;gt;SetParam_PlugIn_Param(&amp;#039;DPGdynmenu&amp;#039;, &amp;#039;sort&amp;#039;, Array(&amp;#039;ASC&amp;#039;));&lt;br /&gt;
  $GLOBALS[&amp;quot;DynPG&amp;quot;]-&amp;gt;SetParam_PlugIn_Param(&amp;#039;DPGdynmenu&amp;#039;, &amp;#039;href_page_groups&amp;#039;, &amp;#039;../folgeseite.php&amp;#039;);&lt;br /&gt;
  $GLOBALS[&amp;quot;DynPG&amp;quot;]-&amp;gt;SetParam_PlugIn_Param(&amp;#039;DPGdynmenu&amp;#039;, &amp;#039;href_page_articles&amp;#039;, &amp;#039;../folgeseite.php&amp;#039;);&lt;br /&gt;
  $GLOBALS[&amp;quot;DynPG&amp;quot;]-&amp;gt;SetParam_PlugIn_Param(&amp;#039;DPGdynmenu&amp;#039;, &amp;#039;href_page_detail&amp;#039;, &amp;#039;../folgeseite.php&amp;#039;);&lt;br /&gt;
  $GLOBALS[&amp;quot;DynPG&amp;quot;]-&amp;gt;SetParam_PlugIn_Param(&lt;br /&gt;
    &amp;#039;DPGdynmenu&amp;#039;,&lt;br /&gt;
    &amp;#039;href_subpages&amp;#039;,&lt;br /&gt;
    Array(&lt;br /&gt;
      0 =&amp;gt; Array(&lt;br /&gt;
        &amp;#039;page&amp;#039; =&amp;gt; &amp;#039;../formular.php{query}&amp;#039;,&lt;br /&gt;
        &amp;#039;successors&amp;#039; =&amp;gt; true&lt;br /&gt;
      ),&lt;br /&gt;
      21 =&amp;gt; Array(&lt;br /&gt;
        &amp;#039;page&amp;#039; =&amp;gt; &amp;#039;../blog.php{query}&amp;#039;,&lt;br /&gt;
        &amp;#039;successors&amp;#039; =&amp;gt; true&lt;br /&gt;
      ),&lt;br /&gt;
      15 =&amp;gt; Array(&lt;br /&gt;
        &amp;#039;page&amp;#039; =&amp;gt; &amp;#039;../sitemap.php{query}&amp;#039;,&lt;br /&gt;
        &amp;#039;successors&amp;#039; =&amp;gt; true&lt;br /&gt;
      ),&lt;br /&gt;
      16 =&amp;gt; Array(&lt;br /&gt;
        &amp;#039;page&amp;#039; =&amp;gt; &amp;#039;../veranstaltungen.php{query}&amp;#039;,&lt;br /&gt;
        &amp;#039;successors&amp;#039; =&amp;gt; true&lt;br /&gt;
      ),&lt;br /&gt;
      21 =&amp;gt; Array(&lt;br /&gt;
        &amp;#039;page&amp;#039; =&amp;gt; &amp;#039;../blog.php{query}&amp;#039;,&lt;br /&gt;
        &amp;#039;successors&amp;#039; =&amp;gt; true&lt;br /&gt;
      ),&lt;br /&gt;
      6 =&amp;gt; Array(&lt;br /&gt;
        &amp;#039;page&amp;#039; =&amp;gt; &amp;#039;../index.php{query}&amp;#039;,&lt;br /&gt;
        &amp;#039;successors&amp;#039; =&amp;gt; true&lt;br /&gt;
      )&lt;br /&gt;
    )&lt;br /&gt;
  );    &lt;br /&gt;
  $GLOBALS[&amp;quot;DynPG&amp;quot;]-&amp;gt;SetupTemplate(&amp;#039;uneditable&amp;#039;); &lt;br /&gt;
  $GLOBALS[&amp;quot;DynPG&amp;quot;]-&amp;gt;SetParam_A_Anytime(TRUE);&lt;br /&gt;
  $GLOBALS[&amp;quot;DynPG&amp;quot;]-&amp;gt;SetParam_A_CategoryNavigation(FALSE);&lt;br /&gt;
  $GLOBALS[&amp;quot;DynPG&amp;quot;]-&amp;gt;SetParam_A_PrintNavigation(FALSE);&lt;br /&gt;
  $GLOBALS[&amp;quot;DynPG&amp;quot;]-&amp;gt;SetParam_A_ArticleHeader(FALSE);&lt;br /&gt;
  $GLOBALS[&amp;quot;DynPG&amp;quot;]-&amp;gt;SetParam_A_Article(1);&lt;br /&gt;
&lt;br /&gt;
  $GLOBALS[&amp;quot;DynPG&amp;quot;]-&amp;gt;Write_Article();&lt;br /&gt;
  $GLOBALS[&amp;quot;DynPG&amp;quot;]-&amp;gt;SetupTemplate(&amp;#039;default&amp;#039;);  &lt;br /&gt;
?&amp;gt;&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Man kann nun in der &amp;lt;tt&amp;gt;index.php&amp;lt;/tt&amp;gt; mittels &lt;br /&gt;
&amp;lt;code&amp;gt;[php, N]&lt;br /&gt;
&amp;lt;?php include(&amp;quot;inc/navi.php&amp;quot;); ?&amp;gt;&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
die Navigation einbinden, ebenso z.B. auch in der &amp;lt;tt&amp;gt;folgeseite.php&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Die dynamische Navigation kann nun an verschiedenen Stellen angepasst werden. Neben den Globals in der PHP-Datei ([[#Globalsreferenz|Globalsreferenz]]) ist dies im Backend durch das Erstellen von Gruppen und Artikeln möglich ([[#Dynamische_Navigation_im_Backend|Dynamische Navigation im Backend]]). Erweiterte Möglichkeiten ergeben sich durch das [[#CSS|CSS]] und die [[#Templates|Templates]].&lt;br /&gt;
&lt;br /&gt;
==Die dynamische Navigation im Backend==&lt;br /&gt;
&lt;br /&gt;
Wie bereits erwähnt, bildet die dynamische Navigation die Gruppenstruktur des Backends auf einer Webseite ab. In der Musterwebsite 3 ist im Backend zum Beispiel folgende Gruppenstruktur zu erkennen:&lt;br /&gt;
[[Media:dynmenue08.PNG|Klick]].&lt;br /&gt;
Auf der Website sieht dies dann wie folgt aus:&lt;br /&gt;
[[Media:dynmenue09.PNG|Klick]]&lt;br /&gt;
oder auch&lt;br /&gt;
[[Media:dynmenue10.PNG|Klick]]&lt;br /&gt;
.&lt;br /&gt;
&lt;br /&gt;
Welche Untergruppen angezeigt werden, hängt zum einen davon ab, welcher Navigationspunkt gerade aktiv ist (also angeklickt wurde) und zum anderen von den benutzten Globals in der PHP-Datei ([[#Globalsreferenz|z.B. Parameter &amp;#039;full_load&amp;#039;]]) und den Einstellungen der Gruppe im Backend. &lt;br /&gt;
&lt;br /&gt;
In diesen Einstellungen kann man z.B. auch bestimmen, dass eine bestimmte Gruppe nicht im Menü der Website sichtbar ist (so zum Beispiel die Gruppe &amp;quot;Diverses&amp;quot; aus der Musterwebsite 3). Die Eigenschaftenseite der Gruppe erreicht man über einen Klick auf:&lt;br /&gt;
[[Media:dynmenue11.PNG|Klick]]&lt;br /&gt;
. Unter dem Punkt &amp;#039;&amp;#039;Veröffentlichen&amp;#039;&amp;#039;&lt;br /&gt;
[[Media:dynmenue12.PNG|Klick]])&lt;br /&gt;
wählt man nun die Option &amp;#039;&amp;#039;Nein&amp;#039;&amp;#039; aus. &lt;br /&gt;
&lt;br /&gt;
Die Option &amp;#039;&amp;#039;Ja&amp;#039;&amp;#039; führt dazu, dass auf der Website der Navigationspunkt &amp;#039;&amp;#039;Diverses&amp;#039;&amp;#039; erscheint&lt;br /&gt;
[[Media:dynmenue14.PNG|Klick]]&lt;br /&gt;
. Ist der Punkt &amp;#039;&amp;#039;Diverses&amp;#039;&amp;#039; ausgewählt, erscheinen auch die Untergruppen&lt;br /&gt;
[[Media:dynmenue13.PNG|Klick]]&lt;br /&gt;
.&lt;br /&gt;
&lt;br /&gt;
==Globalsreferenz==&lt;br /&gt;
===Globals direkt für das Plugin===&lt;br /&gt;
&amp;#039;&amp;#039;Die Parameter haben Default-Werte, müssen also nicht immer gesetzt werden&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
*&amp;#039;&amp;#039;&amp;#039;&amp;lt;tt&amp;gt;$GLOBALS[&amp;quot;DynPG&amp;quot;]-&amp;gt;SetParam_PlugIn_Template(&amp;#039;DPGdynmenu&amp;#039;, &amp;#039;TEMPLATEORDNER&amp;#039;);&amp;lt;/tt&amp;gt;:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
:Hiermit wählt man den Template-Ordner für die dynamische Navigation aus. Diese Template-Ordner liegen in &amp;lt;tt&amp;gt;dynpg/plugins/DPGdynmenu/templates&amp;lt;/tt&amp;gt;. Aus diesem Ordner wird die Template-Datei &amp;lt;tt&amp;gt;menu.tpl&amp;lt;/tt&amp;gt; zur Generierung des Menüs genommen. Dies ist unabhängig vom Global &amp;lt;tt&amp;gt;$GLOBALS[&amp;quot;DynPG&amp;quot;]-&amp;gt;SetupTemplate(...);&amp;lt;/tt&amp;gt;, der sozusagen das Template des Artikels bestimmt, welcher die dynamische Navigation enthält.&lt;br /&gt;
&lt;br /&gt;
*&amp;#039;&amp;#039;&amp;#039;&amp;lt;tt&amp;gt;$GLOBALS[&amp;quot;DynPG&amp;quot;]-&amp;gt;SetParam_PlugIn_Param(&amp;#039;DPGdynmenu&amp;#039;, PARAMETERNAME, PARAMETERWERT);&amp;lt;/tt&amp;gt;&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
:{| class=&amp;quot;dynpgwikitable&amp;quot;&lt;br /&gt;
! &amp;lt;tt&amp;gt;PARAMETERNAME&amp;lt;/tt&amp;gt; !! &amp;lt;tt&amp;gt;PARAMETERWERT&amp;lt;/tt&amp;gt; !! Beschreibung&lt;br /&gt;
|-&lt;br /&gt;
||&amp;lt;tt&amp;gt;&amp;#039;order&amp;#039;&amp;lt;/tt&amp;gt; || &amp;lt;tt&amp;gt;Array(&amp;#039;INDEX&amp;#039;)&amp;lt;/tt&amp;gt; oder &amp;lt;tt&amp;gt;Array(&amp;#039;NAME&amp;#039;)&amp;lt;/tt&amp;gt; || Reihenfolge der Gruppen in der Navigation nach Name oder im Backend gesetzten Index&lt;br /&gt;
|-&lt;br /&gt;
||&amp;lt;tt&amp;gt;&amp;#039;sort&amp;#039;&amp;lt;/tt&amp;gt; || &amp;lt;tt&amp;gt;Array(&amp;#039;ASC&amp;#039;)&amp;lt;/tt&amp;gt; oder &amp;lt;tt&amp;gt;Array(&amp;#039;DESC&amp;#039;)&amp;lt;/tt&amp;gt; || aufsteigende oder absteigende Sortierung&lt;br /&gt;
|-&lt;br /&gt;
||&amp;lt;tt&amp;gt;&amp;#039;order_articles&amp;#039;&amp;lt;/tt&amp;gt; || z.B. &amp;lt;tt&amp;gt;Array(&amp;#039;INDEX&amp;#039;)&amp;lt;/tt&amp;gt; || sortiert Artikel in der dynamischen Navigation (falls diese angezeigt werden) &lt;br /&gt;
|-&lt;br /&gt;
||&amp;lt;tt&amp;gt;&amp;#039;sort_articles&amp;#039;&amp;lt;/tt&amp;gt; || z.B. &amp;lt;tt&amp;gt;Array(&amp;#039;ASC&amp;#039;)&amp;lt;/tt&amp;gt; || bestimmt aufsteigende oder absteigende Sortierreihenfolge der Artikel&lt;br /&gt;
|-&lt;br /&gt;
||&amp;lt;tt&amp;gt;&amp;#039;href_page_groups&amp;#039;&amp;lt;/tt&amp;gt; || z.B. &amp;lt;tt&amp;gt;&amp;#039;../folgeseite.php&amp;#039;&amp;lt;/tt&amp;gt; || Seite auf die weiterverlinkt wird bei einem Klick auf den Gruppennamen (ACHTUNG &amp;lt;tt&amp;gt;&amp;#039;../&amp;#039;&amp;lt;/tt&amp;gt; wichtig, siehe Ordnerstruktur weiter oben!)&lt;br /&gt;
|-&lt;br /&gt;
||&amp;lt;tt&amp;gt;&amp;#039;href_page_articles&amp;#039;&amp;lt;/tt&amp;gt; || z.B. &amp;lt;tt&amp;gt;&amp;#039;../folgeseite.php&amp;#039;&amp;lt;/tt&amp;gt; ||&lt;br /&gt;
|-&lt;br /&gt;
||&amp;lt;tt&amp;gt;&amp;#039;href_page_detail&amp;#039;&amp;lt;/tt&amp;gt; || z.B. &amp;lt;tt&amp;gt;&amp;#039;../folgeseite.php&amp;#039;&amp;lt;/tt&amp;gt; || Seite auf die weiterverlinkt wird bei einem Klick auf Artikelnamen in dynamischer Navigation (sofern Artikel angezeigt werden)&lt;br /&gt;
|-&lt;br /&gt;
||&amp;lt;tt&amp;gt;&amp;#039;href_subpages&amp;#039;&amp;lt;/tt&amp;gt; || z.B. &amp;lt;pre&amp;gt;Array(&lt;br /&gt;
  GRUPPENNUMMER =&amp;gt; Array( &lt;br /&gt;
    &amp;#039;page&amp;#039; =&amp;gt; &amp;#039;PHP-SEITE{query}&amp;#039;,&lt;br /&gt;
    &amp;#039;successors&amp;#039; =&amp;gt; true&lt;br /&gt;
  ),&lt;br /&gt;
...&lt;br /&gt;
...&lt;br /&gt;
...&lt;br /&gt;
  GRUPPENNUMMER =&amp;gt; Array( &lt;br /&gt;
    &amp;#039;page&amp;#039; =&amp;gt; &amp;#039;PHP-SEITE{query}&amp;#039;,&lt;br /&gt;
    &amp;#039;successors&amp;#039; =&amp;gt; true&lt;br /&gt;
  ) &lt;br /&gt;
)&amp;lt;/pre&amp;gt; || Ermöglicht für bestimmte Gruppen auf eine andere &amp;lt;tt&amp;gt;PHP-SEITE&amp;lt;/tt&amp;gt; zu verlinken&lt;br /&gt;
|-&lt;br /&gt;
||&amp;lt;tt&amp;gt;&amp;#039;full_load&amp;#039;&amp;lt;/tt&amp;gt; || &amp;lt;tt&amp;gt;false&amp;lt;/tt&amp;gt; oder &amp;lt;tt&amp;gt;true&amp;lt;/tt&amp;gt; || zeigt unabhängig von angeklickten Gruppen den kompletten Navigationsbaum mit Untergruppen an (oder auch nicht)&lt;br /&gt;
|-&lt;br /&gt;
|| &amp;lt;tt&amp;gt;&amp;#039;full_load_articles&amp;#039;&amp;lt;/tt&amp;gt; || &amp;lt;tt&amp;gt;false&amp;lt;/tt&amp;gt; ||&lt;br /&gt;
|-&lt;br /&gt;
|| &amp;lt;tt&amp;gt;&amp;#039;limit_articles&amp;#039;&amp;lt;/tt&amp;gt; || &amp;lt;tt&amp;gt;false&amp;lt;/tt&amp;gt; ||&lt;br /&gt;
|-&lt;br /&gt;
|| &amp;lt;tt&amp;gt;&amp;#039;expand_subtree&amp;#039;&amp;lt;/tt&amp;gt; || &amp;lt;tt&amp;gt;Array(4)&amp;lt;/tt&amp;gt; oder &amp;lt;tt&amp;gt;Array(4,5)&amp;lt;/tt&amp;gt; etc. || zeigt die Untergruppen von Gruppe 4 (bzw. 4 und 5) in jedem Fall an. Sei Gruppe 4 bspw. die Gruppe &amp;#039;&amp;#039;News&amp;#039;&amp;#039; des Backends, dann werden die beispielhaften Untergruppen &amp;#039;&amp;#039;Lokalnachrichten&amp;#039;&amp;#039; und &amp;#039;&amp;#039;Weltnachrichten&amp;#039;&amp;#039; immer zur Navigation angeboten, auch wenn sich ein Benutzer auf der Website gerade einen Artikel aus der Gruppe &amp;#039;&amp;#039;Kontakt&amp;#039;&amp;#039; anschaut&lt;br /&gt;
|- &lt;br /&gt;
|| &amp;lt;tt&amp;gt;&amp;#039;implode_subtree&amp;#039;&amp;lt;/tt&amp;gt; || &amp;lt;tt&amp;gt;Array(4)&amp;lt;/tt&amp;gt; oder &amp;lt;tt&amp;gt;Array(4,5)&amp;lt;/tt&amp;gt; etc. || zeigt die Untergruppen von Gruppe 4 (bzw. 4 und 5) in jedem Fall NICHT an. Anmerkung: der Parameter &amp;lt;tt&amp;gt;expand_subtree&amp;lt;/tt&amp;gt; überschreibt diese Einstellung! Ist also eine Gruppe in beiden Parametern aufgeführt, so werden die Untergruppen dieser Gruppe immer angezeigt, da der Parameter &amp;lt;tt&amp;gt;expand_subtree&amp;lt;/tt&amp;gt; wichtiger ist.&lt;br /&gt;
|-&lt;br /&gt;
|| &amp;lt;tt&amp;gt;&amp;#039;real_expand&amp;#039;&amp;lt;/tt&amp;gt; || &amp;lt;tt&amp;gt;false&amp;lt;/tt&amp;gt; ||&lt;br /&gt;
|-&lt;br /&gt;
|| &amp;lt;tt&amp;gt;&amp;#039;speed_mode&amp;#039;&amp;lt;/tt&amp;gt; || &amp;lt;tt&amp;gt;false&amp;lt;/tt&amp;gt; ||&lt;br /&gt;
|-&lt;br /&gt;
|| &amp;lt;tt&amp;gt;&amp;#039;parent_select&amp;#039;&amp;lt;/tt&amp;gt; || &amp;lt;tt&amp;gt;true&amp;lt;/tt&amp;gt; ||&lt;br /&gt;
|-&lt;br /&gt;
|| &amp;lt;tt&amp;gt;&amp;#039;max_depth&amp;#039;&amp;lt;/tt&amp;gt; || &amp;lt;tt&amp;gt;null&amp;lt;/tt&amp;gt; oder &amp;lt;tt&amp;gt;0&amp;lt;/tt&amp;gt; oder &amp;lt;tt&amp;gt;1&amp;lt;/tt&amp;gt; etc. || Tiefe bis zu der (Unter-)Gruppen angezeigt werden&lt;br /&gt;
|-&lt;br /&gt;
|| &amp;lt;tt&amp;gt;&amp;#039;min_depth&amp;#039;&amp;lt;/tt&amp;gt; || &amp;lt;tt&amp;gt;null&amp;lt;/tt&amp;gt; oder &amp;lt;tt&amp;gt;0&amp;lt;/tt&amp;gt; oder &amp;lt;tt&amp;gt;1&amp;lt;/tt&amp;gt; etc. || Tiefe, die eine Gruppe mindestens haben muss um angezeigt zu werden, z.B. 1 um oberste Ebene der Gruppen aus dem Backend auszublenden&lt;br /&gt;
|-&lt;br /&gt;
|| &amp;lt;tt&amp;gt;&amp;#039;fetch_only&amp;#039;&amp;lt;/tt&amp;gt; || &amp;lt;tt&amp;gt;null&amp;lt;/tt&amp;gt; ||&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Sinnvolle Globals vom DynPG-CMS===&lt;br /&gt;
&lt;br /&gt;
*&amp;#039;&amp;#039;&amp;#039;&amp;lt;tt&amp;gt;$GLOBALS[&amp;quot;DynPG&amp;quot;]-&amp;gt;SetupTemplate(&amp;#039;uneditable&amp;#039;);&amp;lt;/tt&amp;gt; :&amp;#039;&amp;#039;&amp;#039; ermöglicht Navigation in der Seite obwohl Editiermodus im Backend angeschaltet ist&lt;br /&gt;
*&amp;#039;&amp;#039;&amp;#039;&amp;lt;tt&amp;gt;$GLOBALS[&amp;quot;DynPG&amp;quot;]-&amp;gt;SetParam_A_Anytime(TRUE);&amp;lt;/tt&amp;gt; :&amp;#039;&amp;#039;&amp;#039; Menü soll immer angezeigt werden&lt;br /&gt;
*&amp;#039;&amp;#039;&amp;#039;&amp;lt;tt&amp;gt;$GLOBALS[&amp;quot;DynPG&amp;quot;]-&amp;gt;SetParam_A_CategoryNavigation(FALSE);&amp;lt;/tt&amp;gt; :&amp;#039;&amp;#039;&amp;#039; keine weitere Navigation(Breadcrumb) anzeigen&lt;br /&gt;
*&amp;#039;&amp;#039;&amp;#039;&amp;lt;tt&amp;gt;$GLOBALS[&amp;quot;DynPG&amp;quot;]-&amp;gt;SetParam_A_PrintNavigation(FALSE);&amp;lt;/tt&amp;gt; :&amp;#039;&amp;#039;&amp;#039; kein Link zu Print-Seite anzeigen&lt;br /&gt;
*&amp;#039;&amp;#039;&amp;#039;&amp;lt;tt&amp;gt;$GLOBALS[&amp;quot;DynPG&amp;quot;]-&amp;gt;SetParam_A_ArticleHeader(FALSE);&amp;lt;/tt&amp;gt; :&amp;#039;&amp;#039;&amp;#039; keine Artikelüberschrift (des Artikels mit dem DynMenü-Platzhalter) und kein Artikelleadtext anzeigen&lt;br /&gt;
*&amp;#039;&amp;#039;&amp;#039;&amp;lt;tt&amp;gt;$GLOBALS[&amp;quot;DynPG&amp;quot;]-&amp;gt;SetParam_A_Article(1);&amp;lt;/tt&amp;gt; :&amp;#039;&amp;#039;&amp;#039; Artikel mit dem Dynmenü-Platzhalter setzen (&amp;#039;&amp;#039;&amp;#039;Hier die Artikelnummer aus [[#Einrichten|Einrichten]] einfügen!&amp;#039;&amp;#039;&amp;#039;)&lt;br /&gt;
*&amp;#039;&amp;#039;&amp;#039;&amp;lt;tt&amp;gt;$GLOBALS[&amp;quot;DynPG&amp;quot;]-&amp;gt;Write_Article();&amp;lt;/tt&amp;gt; :&amp;#039;&amp;#039;&amp;#039; Artikel ausgeben&lt;br /&gt;
*&amp;#039;&amp;#039;&amp;#039;&amp;lt;tt&amp;gt;$GLOBALS[&amp;quot;DynPG&amp;quot;]-&amp;gt;SetupTemplate(&amp;#039;default&amp;#039;);&amp;lt;/tt&amp;gt; :&amp;#039;&amp;#039;&amp;#039; andere Teile der Website haben sicherlich andere Templates. Wir setzen daher hier wieder auf das Standard-Template zurück&lt;br /&gt;
&lt;br /&gt;
==CSS==&lt;br /&gt;
Die CSS-Dateien für die dynamische Navigation liegen im Verzeichnis &amp;lt;tt&amp;gt;dynpg/plugins/DPGdynmenu/styles&amp;lt;/tt&amp;gt;. Die Datei &amp;lt;tt&amp;gt;menu.css&amp;lt;/tt&amp;gt; ist hierbei meist die ausschlaggebende, so zum Beispiel in der Navigation der Musterwebsite 3.&lt;br /&gt;
&lt;br /&gt;
Die CSS-Klassen und -Bezeichner aus dieser Datei sind nach einem bestimmten Schema benannt. Hat man dieses einmal verstanden, so lassen sich leicht Änderungen an speziellen Teilen des Erscheinungsbildes der dynamischen Navigation durchführen.&lt;br /&gt;
&lt;br /&gt;
Die dynamische Navigation wird von einem &amp;lt;tt&amp;gt;div&amp;lt;/tt&amp;gt;-Tag mit der Id &amp;lt;tt&amp;gt;course_categories_menu&amp;lt;/tt&amp;gt; umschlossen.&lt;br /&gt;
&lt;br /&gt;
Diese Angaben gelten also grundsätzlich für die gesamte dynamische Navigation und werden gegebenenfalls weitervererbt.&lt;br /&gt;
Im &amp;lt;tt&amp;gt;menu.css&amp;lt;/tt&amp;gt; der Muster-Website 3 steht beispielsweise:&lt;br /&gt;
&amp;lt;code&amp;gt;[css, N]&lt;br /&gt;
div#course_categories_menu {&lt;br /&gt;
  margin: 0;&lt;br /&gt;
  padding: 0;&lt;br /&gt;
  width: 180px;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Um zu verhindern, dass die CSS-Angaben dieser Datei auch auf andere Teile der Website Einfluss haben, ist vor allen anderen CSS-Definitionen der Datei ebenfalls &amp;lt;tt&amp;gt;div#course_categories_menu&amp;lt;/tt&amp;gt; notiert. Dadurch wirken sich die Angaben nur auf die dynamische Navigation aus.&lt;br /&gt;
&lt;br /&gt;
Innerhalb des &amp;lt;tt&amp;gt;course_categories_menu&amp;lt;/tt&amp;gt; - &amp;lt;tt&amp;gt;div&amp;lt;/tt&amp;gt; - Tags gibt es für jede Gruppe der obersten angezeigten Gruppenebene ein &amp;lt;div&amp;gt;-Tag mit der CSS-Id &amp;lt;tt&amp;gt;group_fold_NUMMER&amp;lt;/tt&amp;gt; wobei &amp;lt;tt&amp;gt;NUMMER&amp;lt;/tt&amp;gt; der Gruppennummer der Gruppe aus dem Backend entspricht. In der Navigation der Muster-Website 3 gibt es also folgende Tags:&lt;br /&gt;
&amp;lt;code&amp;gt;[html, N]&lt;br /&gt;
&amp;lt;div id=&amp;quot;course_categories_menu&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;div id=&amp;quot;group_fold_2&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;  &amp;lt;!--Produkte--&amp;gt;&lt;br /&gt;
  &amp;lt;div id=&amp;quot;group_fold_3&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;  &amp;lt;!--Support--&amp;gt;&lt;br /&gt;
  &amp;lt;div id=&amp;quot;group_fold_9&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;  &amp;lt;!--News--&amp;gt;&lt;br /&gt;
  &amp;lt;div id=&amp;quot;group_fold_4&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;  &amp;lt;!--Über uns--&amp;gt;&lt;br /&gt;
  &amp;lt;div id=&amp;quot;group_fold_5&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;  &amp;lt;!--Kontakt--&amp;gt;&lt;br /&gt;
  &amp;lt;div id=&amp;quot;group_fold_21&amp;quot;&amp;gt;&amp;lt;/div&amp;gt; &amp;lt;!--Blog--&amp;gt;&lt;br /&gt;
  &amp;lt;div id=&amp;quot;group_fold_15&amp;quot;&amp;gt;&amp;lt;/div&amp;gt; &amp;lt;!--Sitemap--&amp;gt;&lt;br /&gt;
  &amp;lt;div id=&amp;quot;group_fold_6&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;  &amp;lt;!--Home--&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
Möchte man nun Eigenschaften nur an einem bestimmten Teil der Navigation machen, so könnte man im CSS-File folgende Angabe machen:&lt;br /&gt;
&amp;lt;code&amp;gt;[css, N]&lt;br /&gt;
div#course_categories_menu div#group_fold_9 {&lt;br /&gt;
  text-decoration:blink;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
Damit würde der Text der Gruppe &amp;#039;&amp;#039;News&amp;#039;&amp;#039; (und eventueller Untergruppen) in der dynamischen Navigation blinken.&lt;br /&gt;
&lt;br /&gt;
Innerhalb der &amp;lt;tt&amp;gt;group_fold_NUMMER&amp;lt;/tt&amp;gt; - &amp;lt;tt&amp;gt;div&amp;lt;/tt&amp;gt; - Tags gibt es nun ein &amp;lt;tt&amp;gt;div&amp;lt;/tt&amp;gt; - Tag, dass (neben einer weiteren CSS-Id) eine CSS-Klasse hat. Diese CSS-Klasse wird nach folgendem Muster gebildet:&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;&amp;lt;tt&amp;gt;level_&amp;#039;&amp;#039;A&amp;#039;&amp;#039;_&amp;#039;&amp;#039;B&amp;#039;&amp;#039;_&amp;#039;&amp;#039;C&amp;#039;&amp;#039;_&amp;#039;&amp;#039;D&amp;#039;&amp;#039;_&amp;#039;&amp;#039;E&amp;#039;&amp;#039;&amp;lt;/tt&amp;gt;&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;dynpgwikitable&amp;quot;&lt;br /&gt;
! Buchstabe !! mögliche Werte !! Beschreibung&lt;br /&gt;
|-&lt;br /&gt;
|| &amp;lt;tt&amp;gt;&amp;#039;&amp;#039;A&amp;#039;&amp;#039;&amp;lt;/tt&amp;gt; || 0 oder 1 oder 2 etc. || gibt das Level der Gruppe an, also die Verzweigungstiefe in der sich die Navigation befindet&lt;br /&gt;
|-&lt;br /&gt;
|| &amp;lt;tt&amp;gt;&amp;#039;&amp;#039;B&amp;#039;&amp;#039;&amp;lt;/tt&amp;gt; || &amp;lt;tt&amp;gt;r&amp;lt;/tt&amp;gt; (nicht letzter), &amp;lt;tt&amp;gt;e&amp;lt;/tt&amp;gt; (letzter) || gibt an, ob nach dieser Gruppe noch weitere aufgelistet werden (z.B. in Musterwebsite 3 ist die Gruppe 6 &amp;quot;Home&amp;quot; die letzte des Menüs)&lt;br /&gt;
|-&lt;br /&gt;
|| &amp;lt;tt&amp;gt;&amp;#039;&amp;#039;C&amp;#039;&amp;#039;&amp;lt;/tt&amp;gt; ||  &amp;lt;tt&amp;gt;a&amp;lt;/tt&amp;gt; (ist aktiv), &amp;lt;tt&amp;gt;i&amp;lt;/tt&amp;gt; (ist nicht aktiv) || gibt an, ob die Gruppe aktiv ist, d.h. ob sie durch einen Klick ausgewählt wurde&lt;br /&gt;
|-&lt;br /&gt;
|| &amp;lt;tt&amp;gt;&amp;#039;&amp;#039;D&amp;#039;&amp;#039;&amp;lt;/tt&amp;gt; ||  &amp;lt;tt&amp;gt;exp&amp;lt;/tt&amp;gt; (ausgeklappt), cll(eingeklappt) || gibt an, ob die Untergruppen dieser Gruppe ausgeklappt sind oder nicht&lt;br /&gt;
|-&lt;br /&gt;
|| &amp;lt;tt&amp;gt;&amp;#039;&amp;#039;E&amp;#039;&amp;#039;&amp;lt;/tt&amp;gt; ||  &amp;lt;tt&amp;gt;_hover&amp;lt;/tt&amp;gt; (Mauszeiger ist über dem Element), nichts (Mauszeiger ist nicht über dem Element) || gibt an, ob sich der Mauszeiger über dem Gruppennamen befindet oder nicht&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Mithilfe dieses Schemas kann man nun bestimmen, welche CSS-Klassen man in der CSS-Datei angeben muss um bestimmte Effekte hervorzurufen.&lt;br /&gt;
Möchte man beispielsweise, dass alle Elemente der zweitobersten Ebene blinken, wenn der Mauszeiger über dem Element ist, so notiert man in der CSS-Datei:&lt;br /&gt;
&amp;lt;code&amp;gt;[css, N]&lt;br /&gt;
div#course_categories_menu div#level_1_r_a_exp_hover,&lt;br /&gt;
div#course_categories_menu div#level_1_r_a_cll_hover,&lt;br /&gt;
div#course_categories_menu div#level_1_r_i_exp_hover,&lt;br /&gt;
div#course_categories_menu div#level_1_r_i_cll_hover,&lt;br /&gt;
div#course_categories_menu div#level_1_e_a_exp_hover,&lt;br /&gt;
div#course_categories_menu div#level_1_e_a_cll_hover,&lt;br /&gt;
div#course_categories_menu div#level_1_e_i_exp_hover,&lt;br /&gt;
div#course_categories_menu div#level_1_e_i_cll_hover {&lt;br /&gt;
  text-decoration:blink;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Diese Struktur der &amp;lt;tt&amp;gt;div&amp;lt;/tt&amp;gt;-Tags wiederholt sich mit tieferen Gruppenebenen / Untergruppen. Zum Beispiel tauchen die &amp;lt;tt&amp;gt;div&amp;lt;/tt&amp;gt;-Tags der Untergruppen vom &amp;#039;&amp;#039;Über uns&amp;#039;&amp;#039;-Menüpunkt aus der Muster-Website 3 innerhalb des &amp;lt;tt&amp;gt;group_fold_4&amp;lt;/tt&amp;gt; - &amp;lt;tt&amp;gt;div&amp;lt;/tt&amp;gt; - Tags auf.&lt;br /&gt;
&lt;br /&gt;
Weitere Informationen über die CSS-Klassen kann man schnell erhalten, indem man sich den HTML-Code eines generierten dynamischen Menüs anschaut, zum Beispiel aus der Muster-Website 3.&lt;br /&gt;
&lt;br /&gt;
==Templates==&lt;br /&gt;
Diese Templates liegen im Ordner &amp;lt;tt&amp;gt;dynpg/plugins/DPGdynmenu/templates&amp;lt;/tt&amp;gt;. Hier finden sie Ordner, die jeweils eine &amp;lt;tt&amp;gt;menu.tpl&amp;lt;/tt&amp;gt; enthalten. Welcher dieser Ordner aktiv ist, bestimmen Sie durch das Global &amp;lt;tt&amp;gt;$GLOBALS[&amp;quot;DynPG&amp;quot;]-&amp;gt;SetParam_PlugIn_Template(&amp;#039;DPGdynmenu&amp;#039;, &amp;#039;TEMPLATEORDNER&amp;#039;);&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Die Templates dienen als Vorlage für die Generierung des HTML-Codes der dynamischen Navigation. In ihnen werden auch die CSS-Klassen definiert, welche in [[#CSS|CSS]] erklärt wurden. Außerdem finden hier Templateplatzhalter der Form &amp;lt;tt&amp;gt;&amp;lt;nowiki&amp;gt;{$PLATZHALTER}&amp;lt;/nowiki&amp;gt;&amp;lt;/tt&amp;gt; Verwendung, die DynPG dynamisch durch Inhalt ersetzt.&lt;br /&gt;
&lt;br /&gt;
Das Template &amp;#039;&amp;#039;horizontal&amp;#039;&amp;#039; der Musterwebsite 3 generiert beispielsweise ein horizontales Menü, während das Template &amp;#039;&amp;#039;intelligent&amp;#039;&amp;#039; ein vertikales Menü erzeugt.&lt;br /&gt;
&lt;br /&gt;
Modifikationen an den Templates sind recht komplex. Sollten Sie vorhaben hier Änderungen durchzuführen, wenden Sie sich an das DynPG-Forum.&lt;br /&gt;
&lt;br /&gt;
==Feste Links einbauen==&lt;br /&gt;
&lt;br /&gt;
Hierzu erstellt man im Backend eine Gruppe mit dem Namen des festen Links und merkt sich die Gruppennummer. Mittels des Plugin-Parameters &amp;lt;tt&amp;gt;&amp;#039;href_subpages&amp;#039;&amp;lt;/tt&amp;gt; setzt man für diese Gruppennummer nun als Ziel die Datei &amp;lt;tt&amp;gt;counter.php&amp;lt;/tt&amp;gt; fest und übergibt dieser als Parameter das feste Linkziel. Beispiel: Wir wollen einen Link auf die Google-Webseite setzen. Also erstellen wir im Backend eine Gruppe mit dem Namen &amp;#039;&amp;#039;Google-Websuche&amp;#039;&amp;#039; und notieren die Gruppennummer (z.B. 33). In die PHP-Datei unserer dynamischen Navigation fügen wir nun folgendes ein:&lt;br /&gt;
&amp;lt;code&amp;gt;[php, N]&lt;br /&gt;
$GLOBALS[&amp;quot;DynPG&amp;quot;]-&amp;gt;SetParam_PlugIn_Param(&lt;br /&gt;
  &amp;#039;DPGdynmenu&amp;#039;,&lt;br /&gt;
  &amp;#039;href_subpages&amp;#039;,&lt;br /&gt;
  Array(&lt;br /&gt;
	33 =&amp;gt; Array(&lt;br /&gt;
      &amp;#039;page&amp;#039; =&amp;gt; &amp;#039;counter.php?inc=http://www.google.com&amp;#039;,&lt;br /&gt;
      &amp;#039;successors&amp;#039; =&amp;gt; true&lt;br /&gt;
    )		&lt;br /&gt;
  )&lt;br /&gt;
);&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Mehrsprachiges Menü==&lt;br /&gt;
&lt;br /&gt;
Hierzu gibt es einen Thread in unserem Forum unter [http://www.dynpg.ch/dynpg-forum.php?t=&amp;amp;read_group=30&amp;amp;thread_id=47&amp;amp;tt=Sprachwechsel]. Die grundsätzliche Idee ist (bei zwei Sprachen) zwei Gruppenbäume im Backend aufzubauen. Die oberste Gruppe des ersten Baumes wäre beispielsweise die Gruppe &amp;#039;&amp;#039;Deutsch&amp;#039;&amp;#039;, die oberste Gruppe des zweiten Baumes wäre zum Beispiel &amp;#039;&amp;#039;English&amp;#039;&amp;#039;.&lt;br /&gt;
&lt;br /&gt;
In der zweiten Ebene kommen dann unter &amp;#039;&amp;#039;Deutsch&amp;#039;&amp;#039; bzw. &amp;#039;&amp;#039;English&amp;#039;&amp;#039; Untergruppen wie &amp;#039;&amp;#039;News&amp;#039;&amp;#039;/&amp;#039;&amp;#039;Nachrichten&amp;#039;&amp;#039;, &amp;#039;&amp;#039;Produkte&amp;#039;&amp;#039;/&amp;#039;&amp;#039;Products&amp;#039;&amp;#039;, &amp;#039;&amp;#039;Hilfe&amp;#039;&amp;#039;/&amp;#039;&amp;#039;Support&amp;#039;&amp;#039; und so weiter. Man erstellt sich nun zwei PHP-Dateien (&amp;lt;tt&amp;gt;navi_de.php&amp;lt;/tt&amp;gt;, &amp;lt;tt&amp;gt;navi_en.php&amp;lt;/tt&amp;gt;) wie oben beschrieben [[#Einrichten|Einrichten]]. In diesen wird dann mit den Befehlen aus [[#Globalsreferenz|Globalsreferenz]] der jeweils nicht passende Baum ausgeblendet.&lt;br /&gt;
&lt;br /&gt;
==Siehe auch==&lt;br /&gt;
*[[Sitemap-Tutorial]]&lt;br /&gt;
*[[Implementation eines kompletten Hauptmenüs]]&lt;br /&gt;
*[[Code-Schnipsel Einfaches Hauptmenü]]&lt;br /&gt;
*[[Code-Schnipsel Menüeinträge sortieren]]&lt;br /&gt;
*[[Snippet-Beispiele]]&lt;/div&gt;</summary>
		<author><name>Sebastian</name></author>	</entry>

	<entry>
		<id>https://wiki-en.dynpg.org/wiki_de/index.php?title=Dynamische_Navigation</id>
		<title>Dynamische Navigation</title>
		<link rel="alternate" type="text/html" href="https://wiki-en.dynpg.org/wiki_de/index.php?title=Dynamische_Navigation"/>
				<updated>2009-08-16T18:11:04Z</updated>
		
		<summary type="html">&lt;p&gt;Sebastian: /* Sinnvolle Globals vom DynPG-CMS */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Kategorie:Module]]&lt;br /&gt;
==Beschreibung==&lt;br /&gt;
Die dynamische Navigation ist Bestandteil des kostenlosen Grundmoduls von DynPG und bereits im Standard-DynPG integriert. Es ist keine separate Installation notwendig. Sie ermöglicht es Ihnen einfach und flexibel Navigationen auf Ihrer Homepage zu erstellen. Die Anwendungsmöglichkeiten gestalten sich dabei flexibel als normales Menü oder auch als Sitemap.&lt;br /&gt;
&lt;br /&gt;
Ein dynamisches Menü bildet die Gruppenstruktur im Backend als Menü ab, macht also die logische Struktur ihrer Artikel aus dem Backend auf einer Webseite sichtbar und navigierbar.&lt;br /&gt;
&lt;br /&gt;
Der Vorteil ist, dass man im Backend neue Gruppen o.ä. erstellt und diese dann im Hauptmenü erscheinen. Dies ist auch bei Untergruppen nützlich,&lt;br /&gt;
z.B. wenn eine neue Untergruppe &amp;#039;&amp;#039;Lokalnachrichten&amp;#039;&amp;#039; zur Hauptgruppe &amp;#039;&amp;#039;News&amp;#039;&amp;#039; hinzukommt.&lt;br /&gt;
&lt;br /&gt;
Zum Verständnis der Funktionsvielfalt der dynamischen Navigation ist es hilfreich, einmal eine der [[Muster-Web-Sites|Musterwebsites]] zu installieren und in den entsprechenden Dateien der Musterwebsite die unten erklärten Einstellungsmöglichkeiten nachzuvollziehen und vielleicht auch einmal mit den Optionen herumzuspielen.&lt;br /&gt;
&lt;br /&gt;
==Einrichten==&lt;br /&gt;
&amp;#039;&amp;#039;Anmerkung: Benutzen sie die [[Muster-Web-Sites|Musterwebsites]], so müssen die nachfolgenden zwei Schritte nicht ausgeführt werden, da die dynamische Navigation bereits in den Musterwebsites genutzt wird&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
===Schritt 1: Artikel erstellen mit Platzhalter für die dynamische Navigation===&lt;br /&gt;
Wählen Sie im Menü des Backends &amp;#039;&amp;#039;Gruppen&amp;#039;&amp;#039; aus [[Media:dynmenue01.png|Klick]]. Suchen Sie sich nun eine Gruppe, in der Sie einen Artikel erfassen wollen. Hier wählen wir (die in diesem Falle schon vorhandene) Gruppe &amp;#039;&amp;#039;Startseite/Navigation/Formular&amp;#039;&amp;#039; durch Klick auf ihren Namen aus [[Media:dynmenue02.png|Klick]].&lt;br /&gt;
&lt;br /&gt;
Mit einem Klick auf &amp;#039;&amp;#039;Artikel Formular anzeigen&amp;#039;&amp;#039; [[Media:dynmenue03.PNG|Klick]] und danach auf &amp;#039;&amp;#039;Inhalt bearbeiten&amp;#039;&amp;#039; [[Media:dynmenue04.PNG|Klick]] erscheint der Editor.&lt;br /&gt;
&lt;br /&gt;
In diesem wählen Sie das Symbol für die dynamische Navigation [[Media:dynmenue05.PNG|Klick]], geben noch einen Titel, etwa &amp;#039;&amp;#039;Neue Seitennavigation&amp;#039;&amp;#039;, ein und bestätigen mit einem Klick auf &amp;#039;&amp;#039;Erstellen&amp;#039;&amp;#039; [[Media:dynmenue06.PNG|Klick]]. &lt;br /&gt;
&lt;br /&gt;
Hat alles geklappt, können Sie im unteren Teil der Seite den neuen Artikel sehen [[Media:dynmenue07.PNG|Klick]]. Die Nummer des Artikels benötigen Sie erneut, wenn Sie in eine PHP-Datei mittels eines Globals die dynamische Navigation einbinden.&lt;br /&gt;
&lt;br /&gt;
===Schritt 2: PHP-Datei für die dynamische Navigation erstellen===&lt;br /&gt;
Folgende Ordner-Struktur könnte bei Ihnen vorliegen:&lt;br /&gt;
:*&amp;lt;tt&amp;gt;http-docs/dynpg&amp;lt;/tt&amp;gt; : hier liegt das DynPG-CMS&lt;br /&gt;
:*&amp;lt;tt&amp;gt;http-docs/index.php&amp;lt;/tt&amp;gt; : die Hauptseite Ihrer Website&lt;br /&gt;
:*&amp;lt;tt&amp;gt;http-docs/folgeseite.php&amp;lt;/tt&amp;gt; : eine andere PHP-Datei der Website&lt;br /&gt;
:*&amp;lt;tt&amp;gt;http-docs/inc/navi.php&amp;lt;/tt&amp;gt; : In diese Datei platziert man häufig den Code für die Navigation, dadurch ist er leichter wiederverwendbar&lt;br /&gt;
&lt;br /&gt;
Den nötigen Code der &amp;lt;tt&amp;gt;inc/navi.php&amp;lt;/tt&amp;gt; kann man anhand der [[Muster-Web-Sites|Musterwebsites]] nachvollziehen (Für eine genauere Erklärung der einzelnen verwendeten Globals siehe die [[Funktionsreferenz/Globals|Globals-Übersicht von DynPG]] und weiter unten die [[#Globalsreferenz|Funktionsübersicht der dynamischen Navigation]]) :&lt;br /&gt;
:*&amp;#039;&amp;#039;&amp;#039;&amp;lt;tt&amp;gt;inc/navi.php&amp;lt;/tt&amp;gt;:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;code&amp;gt;[php, N]&lt;br /&gt;
&amp;lt;?php&lt;br /&gt;
  $GLOBALS[&amp;quot;DynPG&amp;quot;]-&amp;gt;SetParam_PlugIn_Template(&amp;#039;DPGdynmenu&amp;#039;, &amp;#039;intelligent&amp;#039;);&lt;br /&gt;
  $GLOBALS[&amp;quot;DynPG&amp;quot;]-&amp;gt;SetParam_PlugIn_Param(&amp;#039;DPGdynmenu&amp;#039;, &amp;#039;real_expand&amp;#039;, TRUE);&lt;br /&gt;
  $GLOBALS[&amp;quot;DynPG&amp;quot;]-&amp;gt;SetParam_PlugIn_Param(&amp;#039;DPGdynmenu&amp;#039;, &amp;#039;order&amp;#039;, Array(&amp;#039;INDEX&amp;#039;));&lt;br /&gt;
  $GLOBALS[&amp;quot;DynPG&amp;quot;]-&amp;gt;SetParam_PlugIn_Param(&amp;#039;DPGdynmenu&amp;#039;, &amp;#039;sort&amp;#039;, Array(&amp;#039;ASC&amp;#039;));&lt;br /&gt;
  $GLOBALS[&amp;quot;DynPG&amp;quot;]-&amp;gt;SetParam_PlugIn_Param(&amp;#039;DPGdynmenu&amp;#039;, &amp;#039;href_page_groups&amp;#039;, &amp;#039;../folgeseite.php&amp;#039;);&lt;br /&gt;
  $GLOBALS[&amp;quot;DynPG&amp;quot;]-&amp;gt;SetParam_PlugIn_Param(&amp;#039;DPGdynmenu&amp;#039;, &amp;#039;href_page_articles&amp;#039;, &amp;#039;../folgeseite.php&amp;#039;);&lt;br /&gt;
  $GLOBALS[&amp;quot;DynPG&amp;quot;]-&amp;gt;SetParam_PlugIn_Param(&amp;#039;DPGdynmenu&amp;#039;, &amp;#039;href_page_detail&amp;#039;, &amp;#039;../folgeseite.php&amp;#039;);&lt;br /&gt;
  $GLOBALS[&amp;quot;DynPG&amp;quot;]-&amp;gt;SetParam_PlugIn_Param(&lt;br /&gt;
    &amp;#039;DPGdynmenu&amp;#039;,&lt;br /&gt;
    &amp;#039;href_subpages&amp;#039;,&lt;br /&gt;
    Array(&lt;br /&gt;
      0 =&amp;gt; Array(&lt;br /&gt;
        &amp;#039;page&amp;#039; =&amp;gt; &amp;#039;../formular.php{query}&amp;#039;,&lt;br /&gt;
        &amp;#039;successors&amp;#039; =&amp;gt; true&lt;br /&gt;
      ),&lt;br /&gt;
      21 =&amp;gt; Array(&lt;br /&gt;
        &amp;#039;page&amp;#039; =&amp;gt; &amp;#039;../blog.php{query}&amp;#039;,&lt;br /&gt;
        &amp;#039;successors&amp;#039; =&amp;gt; true&lt;br /&gt;
      ),&lt;br /&gt;
      15 =&amp;gt; Array(&lt;br /&gt;
        &amp;#039;page&amp;#039; =&amp;gt; &amp;#039;../sitemap.php{query}&amp;#039;,&lt;br /&gt;
        &amp;#039;successors&amp;#039; =&amp;gt; true&lt;br /&gt;
      ),&lt;br /&gt;
      16 =&amp;gt; Array(&lt;br /&gt;
        &amp;#039;page&amp;#039; =&amp;gt; &amp;#039;../veranstaltungen.php{query}&amp;#039;,&lt;br /&gt;
        &amp;#039;successors&amp;#039; =&amp;gt; true&lt;br /&gt;
      ),&lt;br /&gt;
      21 =&amp;gt; Array(&lt;br /&gt;
        &amp;#039;page&amp;#039; =&amp;gt; &amp;#039;../blog.php{query}&amp;#039;,&lt;br /&gt;
        &amp;#039;successors&amp;#039; =&amp;gt; true&lt;br /&gt;
      ),&lt;br /&gt;
      6 =&amp;gt; Array(&lt;br /&gt;
        &amp;#039;page&amp;#039; =&amp;gt; &amp;#039;../index.php{query}&amp;#039;,&lt;br /&gt;
        &amp;#039;successors&amp;#039; =&amp;gt; true&lt;br /&gt;
      )&lt;br /&gt;
    )&lt;br /&gt;
  );    &lt;br /&gt;
  $GLOBALS[&amp;quot;DynPG&amp;quot;]-&amp;gt;SetupTemplate(&amp;#039;uneditable&amp;#039;); &lt;br /&gt;
  $GLOBALS[&amp;quot;DynPG&amp;quot;]-&amp;gt;SetParam_A_Anytime(TRUE);&lt;br /&gt;
  $GLOBALS[&amp;quot;DynPG&amp;quot;]-&amp;gt;SetParam_A_CategoryNavigation(FALSE);&lt;br /&gt;
  $GLOBALS[&amp;quot;DynPG&amp;quot;]-&amp;gt;SetParam_A_PrintNavigation(FALSE);&lt;br /&gt;
  $GLOBALS[&amp;quot;DynPG&amp;quot;]-&amp;gt;SetParam_A_ArticleHeader(FALSE);&lt;br /&gt;
  $GLOBALS[&amp;quot;DynPG&amp;quot;]-&amp;gt;SetParam_A_Article(1);&lt;br /&gt;
&lt;br /&gt;
  $GLOBALS[&amp;quot;DynPG&amp;quot;]-&amp;gt;Write_Article();&lt;br /&gt;
  $GLOBALS[&amp;quot;DynPG&amp;quot;]-&amp;gt;SetupTemplate(&amp;#039;default&amp;#039;);  &lt;br /&gt;
?&amp;gt;&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Man kann nun in der &amp;lt;tt&amp;gt;index.php&amp;lt;/tt&amp;gt; mittels &lt;br /&gt;
&amp;lt;code&amp;gt;[php, N]&lt;br /&gt;
&amp;lt;?php include(&amp;quot;inc/navi.php&amp;quot;); ?&amp;gt;&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
die Navigation einbinden, ebenso z.B. auch in der &amp;lt;tt&amp;gt;folgeseite.php&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Die dynamische Navigation kann nun an verschiedenen Stellen angepasst werden. Neben den Globals in der PHP-Datei ([[#Globalsreferenz|Globalsreferenz]]) ist dies im Backend durch das Erstellen von Gruppen und Artikeln möglich ([[#Dynamische_Navigation_im_Backend|Dynamische Navigation im Backend]]). Erweiterte Möglichkeiten ergeben sich durch das [[#CSS|CSS]] und die [[#Templates|Templates]].&lt;br /&gt;
&lt;br /&gt;
==Die dynamische Navigation im Backend==&lt;br /&gt;
&lt;br /&gt;
Wie bereits erwähnt, bildet die dynamische Navigation die Gruppenstruktur des Backends auf einer Webseite ab. In der Musterwebsite 3 ist im Backend zum Beispiel folgende Gruppenstruktur zu erkennen:&lt;br /&gt;
[[Media:dynmenue08.PNG|Klick]].&lt;br /&gt;
Auf der Website sieht dies dann wie folgt aus:&lt;br /&gt;
[[Media:dynmenue09.PNG|Klick]]&lt;br /&gt;
oder auch&lt;br /&gt;
[[Media:dynmenue10.PNG|Klick]]&lt;br /&gt;
.&lt;br /&gt;
&lt;br /&gt;
Welche Untergruppen angezeigt werden, hängt zum einen davon ab, welcher Navigationspunkt gerade aktiv ist (also angeklickt wurde) und zum anderen von den benutzten Globals in der PHP-Datei ([[#Globalsreferenz|z.B. Parameter &amp;#039;full_load&amp;#039;]]) und den Einstellungen der Gruppe im Backend. &lt;br /&gt;
&lt;br /&gt;
In diesen Einstellungen kann man z.B. auch bestimmen, dass eine bestimmte Gruppe nicht im Menü der Website sichtbar ist (so zum Beispiel die Gruppe &amp;quot;Diverses&amp;quot; aus der Musterwebsite 3). Die Eigenschaftenseite der Gruppe erreicht man über einen Klick auf:&lt;br /&gt;
[[Media:dynmenue11.PNG|Klick]]&lt;br /&gt;
. Unter dem Punkt &amp;#039;&amp;#039;Veröffentlichen&amp;#039;&amp;#039;&lt;br /&gt;
[[Media:dynmenue12.PNG|Klick]])&lt;br /&gt;
wählt man nun die Option &amp;#039;&amp;#039;Nein&amp;#039;&amp;#039; aus. &lt;br /&gt;
&lt;br /&gt;
Die Option &amp;#039;&amp;#039;Ja&amp;#039;&amp;#039; führt dazu, dass auf der Website der Navigationspunkt &amp;#039;&amp;#039;Diverses&amp;#039;&amp;#039; erscheint&lt;br /&gt;
[[Media:dynmenue14.PNG|Klick]]&lt;br /&gt;
. Ist der Punkt &amp;#039;&amp;#039;Diverses&amp;#039;&amp;#039; ausgewählt, erscheinen auch die Untergruppen&lt;br /&gt;
[[Media:dynmenue13.PNG|Klick]]&lt;br /&gt;
.&lt;br /&gt;
&lt;br /&gt;
==Globalsreferenz==&lt;br /&gt;
===Globals direkt für das Plugin===&lt;br /&gt;
&amp;#039;&amp;#039;Die Parameter haben Default-Werte, müssen also nicht immer gesetzt werden&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
*&amp;#039;&amp;#039;&amp;#039;&amp;lt;tt&amp;gt;$GLOBALS[&amp;quot;DynPG&amp;quot;]-&amp;gt;SetParam_PlugIn_Template(&amp;#039;DPGdynmenu&amp;#039;, &amp;#039;TEMPLATEORDNER&amp;#039;);&amp;lt;/tt&amp;gt;:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
:Hiermit wählt man den Template-Ordner für die dynamische Navigation aus. Diese Template-Ordner liegen in &amp;lt;tt&amp;gt;dynpg/plugins/DPGdynmenu/templates&amp;lt;/tt&amp;gt;. Aus diesem Ordner wird die Template-Datei &amp;lt;tt&amp;gt;menu.tpl&amp;lt;/tt&amp;gt; zur Generierung des Menüs genommen. Dies ist unabhängig vom Global &amp;lt;tt&amp;gt;$GLOBALS[&amp;quot;DynPG&amp;quot;]-&amp;gt;SetupTemplate(...);&amp;lt;/tt&amp;gt;, der sozusagen das Template des Artikels bestimmt, welcher die dynamische Navigation enthält.&lt;br /&gt;
&lt;br /&gt;
*&amp;#039;&amp;#039;&amp;#039;&amp;lt;tt&amp;gt;$GLOBALS[&amp;quot;DynPG&amp;quot;]-&amp;gt;SetParam_PlugIn_Param(&amp;#039;DPGdynmenu&amp;#039;, PARAMETERNAME, PARAMETERWERT);&amp;lt;/tt&amp;gt;&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
:{| class=&amp;quot;dynpgwikitable&amp;quot;&lt;br /&gt;
! &amp;lt;tt&amp;gt;PARAMETERNAME&amp;lt;/tt&amp;gt; !! &amp;lt;tt&amp;gt;PARAMETERWERT&amp;lt;/tt&amp;gt; !! Beschreibung&lt;br /&gt;
|-&lt;br /&gt;
||&amp;lt;tt&amp;gt;&amp;#039;order&amp;#039;&amp;lt;/tt&amp;gt; || &amp;lt;tt&amp;gt;Array(&amp;#039;INDEX&amp;#039;)&amp;lt;/tt&amp;gt; oder &amp;lt;tt&amp;gt;Array(&amp;#039;NAME&amp;#039;)&amp;lt;/tt&amp;gt; || Reihenfolge der Gruppen in der Navigation nach Name oder im Backend gesetzten Index&lt;br /&gt;
|-&lt;br /&gt;
||&amp;lt;tt&amp;gt;&amp;#039;sort&amp;#039;&amp;lt;/tt&amp;gt; || &amp;lt;tt&amp;gt;Array(&amp;#039;ASC&amp;#039;)&amp;lt;/tt&amp;gt; oder &amp;lt;tt&amp;gt;Array(&amp;#039;DESC&amp;#039;)&amp;lt;/tt&amp;gt; || aufsteigende oder absteigende Sortierung&lt;br /&gt;
|-&lt;br /&gt;
||&amp;lt;tt&amp;gt;&amp;#039;order_articles&amp;#039;&amp;lt;/tt&amp;gt; || z.B. &amp;lt;tt&amp;gt;Array(&amp;#039;INDEX&amp;#039;)&amp;lt;/tt&amp;gt; || sortiert Artikel in der dynamischen Navigation (falls diese angezeigt werden) &lt;br /&gt;
|-&lt;br /&gt;
||&amp;lt;tt&amp;gt;&amp;#039;sort_articles&amp;#039;&amp;lt;/tt&amp;gt; || z.B. &amp;lt;tt&amp;gt;Array(&amp;#039;ASC&amp;#039;)&amp;lt;/tt&amp;gt; || bestimmt aufsteigende oder absteigende Sortierreihenfolge der Artikel&lt;br /&gt;
|-&lt;br /&gt;
||&amp;lt;tt&amp;gt;&amp;#039;href_page_groups&amp;#039;&amp;lt;/tt&amp;gt; || z.B. &amp;lt;tt&amp;gt;&amp;#039;../folgeseite.php&amp;#039;&amp;lt;/tt&amp;gt; || Seite auf die weiterverlinkt wird bei einem Klick auf den Gruppennamen (ACHTUNG &amp;lt;tt&amp;gt;&amp;#039;../&amp;#039;&amp;lt;/tt&amp;gt; wichtig, siehe Ordnerstruktur weiter oben!)&lt;br /&gt;
|-&lt;br /&gt;
||&amp;lt;tt&amp;gt;&amp;#039;href_page_articles&amp;#039;&amp;lt;/tt&amp;gt; || z.B. &amp;lt;tt&amp;gt;&amp;#039;../folgeseite.php&amp;#039;&amp;lt;/tt&amp;gt; ||&lt;br /&gt;
|-&lt;br /&gt;
||&amp;lt;tt&amp;gt;&amp;#039;href_page_detail&amp;#039;&amp;lt;/tt&amp;gt; || z.B. &amp;lt;tt&amp;gt;&amp;#039;../folgeseite.php&amp;#039;&amp;lt;/tt&amp;gt; || Seite auf die weiterverlinkt wird bei einem Klick auf Artikelnamen in dynamischer Navigation (sofern Artikel angezeigt werden)&lt;br /&gt;
|-&lt;br /&gt;
||&amp;lt;tt&amp;gt;&amp;#039;href_subpages&amp;#039;&amp;lt;/tt&amp;gt; || z.B. &amp;lt;pre&amp;gt;Array(&lt;br /&gt;
  GRUPPENNUMMER =&amp;gt; Array( &lt;br /&gt;
    &amp;#039;page&amp;#039; =&amp;gt; &amp;#039;PHP-SEITE{query}&amp;#039;,&lt;br /&gt;
    &amp;#039;successors&amp;#039; =&amp;gt; true&lt;br /&gt;
  ),&lt;br /&gt;
...&lt;br /&gt;
...&lt;br /&gt;
...&lt;br /&gt;
  GRUPPENNUMMER =&amp;gt; Array( &lt;br /&gt;
    &amp;#039;page&amp;#039; =&amp;gt; &amp;#039;PHP-SEITE{query}&amp;#039;,&lt;br /&gt;
    &amp;#039;successors&amp;#039; =&amp;gt; true&lt;br /&gt;
  ) &lt;br /&gt;
)&amp;lt;/pre&amp;gt; || Ermöglicht für bestimmte Gruppen auf eine andere &amp;lt;tt&amp;gt;PHP-SEITE&amp;lt;/tt&amp;gt; zu verlinken&lt;br /&gt;
|-&lt;br /&gt;
||&amp;lt;tt&amp;gt;&amp;#039;full_load&amp;#039;&amp;lt;/tt&amp;gt; || &amp;lt;tt&amp;gt;false&amp;lt;/tt&amp;gt; oder &amp;lt;tt&amp;gt;true&amp;lt;/tt&amp;gt; || zeigt unabhängig von angeklickten Gruppen den kompletten Navigationsbaum mit Untergruppen an (oder auch nicht)&lt;br /&gt;
|-&lt;br /&gt;
|| &amp;lt;tt&amp;gt;&amp;#039;full_load_articles&amp;#039;&amp;lt;/tt&amp;gt; || &amp;lt;tt&amp;gt;false&amp;lt;/tt&amp;gt; ||&lt;br /&gt;
|-&lt;br /&gt;
|| &amp;lt;tt&amp;gt;&amp;#039;limit_articles&amp;#039;&amp;lt;/tt&amp;gt; || &amp;lt;tt&amp;gt;false&amp;lt;/tt&amp;gt; ||&lt;br /&gt;
|-&lt;br /&gt;
|| &amp;lt;tt&amp;gt;&amp;#039;expand_subtree&amp;#039;&amp;lt;/tt&amp;gt; || &amp;lt;tt&amp;gt;Array(4)&amp;lt;/tt&amp;gt; oder &amp;lt;tt&amp;gt;Array(4,5)&amp;lt;/tt&amp;gt; etc. || zeigt die Untergruppen von Gruppe 4 (bzw. 4 und 5) in jedem Fall an. Sei Gruppe 4 bspw. die Gruppe &amp;#039;&amp;#039;News&amp;#039;&amp;#039; des Backends, dann werden die beispielhaften Untergruppen &amp;#039;&amp;#039;Lokalnachrichten&amp;#039;&amp;#039; und &amp;#039;&amp;#039;Weltnachrichten&amp;#039;&amp;#039; immer zur Navigation angeboten, auch wenn sich ein Benutzer auf der Website gerade einen Artikel aus der Gruppe &amp;#039;&amp;#039;Kontakt&amp;#039;&amp;#039; anschaut&lt;br /&gt;
|- &lt;br /&gt;
|| &amp;lt;tt&amp;gt;&amp;#039;implode_subtree&amp;#039;&amp;lt;/tt&amp;gt; || &amp;lt;tt&amp;gt;Array(4)&amp;lt;/tt&amp;gt; oder &amp;lt;tt&amp;gt;Array(4,5)&amp;lt;/tt&amp;gt; etc. || zeigt die Untergruppen von Gruppe 4 (bzw. 4 und 5) in jedem Fall NICHT an. Anmerkung: der Parameter &amp;lt;tt&amp;gt;expand_subtree&amp;lt;/tt&amp;gt; überschreibt diese Einstellung! Ist also eine Gruppe in beiden Parametern aufgeführt, so werden die Untergruppen dieser Gruppe immer angezeigt, da der Parameter &amp;lt;tt&amp;gt;expand_subtree&amp;lt;/tt&amp;gt; wichtiger ist.&lt;br /&gt;
|-&lt;br /&gt;
|| &amp;lt;tt&amp;gt;&amp;#039;real_expand&amp;#039;&amp;lt;/tt&amp;gt; || &amp;lt;tt&amp;gt;false&amp;lt;/tt&amp;gt; ||&lt;br /&gt;
|-&lt;br /&gt;
|| &amp;lt;tt&amp;gt;&amp;#039;speed_mode&amp;#039;&amp;lt;/tt&amp;gt; || &amp;lt;tt&amp;gt;false&amp;lt;/tt&amp;gt; ||&lt;br /&gt;
|-&lt;br /&gt;
|| &amp;lt;tt&amp;gt;&amp;#039;parent_select&amp;#039;&amp;lt;/tt&amp;gt; || &amp;lt;tt&amp;gt;true&amp;lt;/tt&amp;gt; ||&lt;br /&gt;
|-&lt;br /&gt;
|| &amp;lt;tt&amp;gt;&amp;#039;max_depth&amp;#039;&amp;lt;/tt&amp;gt; || &amp;lt;tt&amp;gt;null&amp;lt;/tt&amp;gt; oder &amp;lt;tt&amp;gt;0&amp;lt;/tt&amp;gt; oder &amp;lt;tt&amp;gt;1&amp;lt;/tt&amp;gt; etc. || Tiefe bis zu der (Unter-)Gruppen angezeigt werden&lt;br /&gt;
|-&lt;br /&gt;
|| &amp;lt;tt&amp;gt;&amp;#039;min_depth&amp;#039;&amp;lt;/tt&amp;gt; || &amp;lt;tt&amp;gt;null&amp;lt;/tt&amp;gt; oder &amp;lt;tt&amp;gt;0&amp;lt;/tt&amp;gt; oder &amp;lt;tt&amp;gt;1&amp;lt;/tt&amp;gt; etc. || Tiefe, die eine Gruppe mindestens haben muss um angezeigt zu werden, z.B. 1 um oberste Ebene der Gruppen aus dem Backend auszublenden&lt;br /&gt;
|-&lt;br /&gt;
|| &amp;lt;tt&amp;gt;&amp;#039;fetch_only&amp;#039;&amp;lt;/tt&amp;gt; || &amp;lt;tt&amp;gt;null&amp;lt;/tt&amp;gt; ||&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Sinnvolle Globals vom DynPG-CMS===&lt;br /&gt;
&lt;br /&gt;
*&amp;#039;&amp;#039;&amp;#039;&amp;lt;tt&amp;gt;$GLOBALS[&amp;quot;DynPG&amp;quot;]-&amp;gt;SetupTemplate(&amp;#039;uneditable&amp;#039;);&amp;lt;/tt&amp;gt; :&amp;#039;&amp;#039;&amp;#039; ermöglicht Navigation in der Seite obwohl Editiermodus im Backend angeschaltet ist&lt;br /&gt;
*&amp;#039;&amp;#039;&amp;#039;&amp;lt;tt&amp;gt;$GLOBALS[&amp;quot;DynPG&amp;quot;]-&amp;gt;SetParam_A_Anytime(TRUE);&amp;lt;/tt&amp;gt; :&amp;#039;&amp;#039;&amp;#039; Menü soll immer angezeigt werden&lt;br /&gt;
*&amp;#039;&amp;#039;&amp;#039;&amp;lt;tt&amp;gt;$GLOBALS[&amp;quot;DynPG&amp;quot;]-&amp;gt;SetParam_A_CategoryNavigation(FALSE);&amp;lt;/tt&amp;gt; :&amp;#039;&amp;#039;&amp;#039; keine weitere Navigation(Breadcrumb) anzeigen&lt;br /&gt;
*&amp;#039;&amp;#039;&amp;#039;&amp;lt;tt&amp;gt;$GLOBALS[&amp;quot;DynPG&amp;quot;]-&amp;gt;SetParam_A_PrintNavigation(FALSE);&amp;lt;/tt&amp;gt; :&amp;#039;&amp;#039;&amp;#039; kein Link zu Print-Seite anzeigen&lt;br /&gt;
*&amp;#039;&amp;#039;&amp;#039;&amp;lt;tt&amp;gt;$GLOBALS[&amp;quot;DynPG&amp;quot;]-&amp;gt;SetParam_A_ArticleHeader(FALSE);&amp;lt;/tt&amp;gt; :&amp;#039;&amp;#039;&amp;#039; keine Artikelüberschrift (des Artikels mit dem DynMenü-Platzhalter) und kein Artikelleadtext anzeigen&lt;br /&gt;
*&amp;#039;&amp;#039;&amp;#039;&amp;lt;tt&amp;gt;$GLOBALS[&amp;quot;DynPG&amp;quot;]-&amp;gt;SetParam_A_Article(1);&amp;lt;/tt&amp;gt; :&amp;#039;&amp;#039;&amp;#039; Artikel mit dem Dynmenü-Platzhalter setzen (&amp;#039;&amp;#039;&amp;#039;Hier die Artikelnummer aus [[#Einrichten|Einrichten]] einfügen!&amp;#039;&amp;#039;&amp;#039;)&lt;br /&gt;
*&amp;#039;&amp;#039;&amp;#039;&amp;lt;tt&amp;gt;$GLOBALS[&amp;quot;DynPG&amp;quot;]-&amp;gt;Write_Article();&amp;lt;/tt&amp;gt; :&amp;#039;&amp;#039;&amp;#039; Artikel ausgeben&lt;br /&gt;
*&amp;#039;&amp;#039;&amp;#039;&amp;lt;tt&amp;gt;$GLOBALS[&amp;quot;DynPG&amp;quot;]-&amp;gt;SetupTemplate(&amp;#039;default&amp;#039;);&amp;lt;/tt&amp;gt; :&amp;#039;&amp;#039;&amp;#039; andere Teile der Website haben sicherlich andere Templates. Wir setzen daher hier wieder auf das Standard-Template zurück&lt;br /&gt;
&lt;br /&gt;
===CSS===&lt;br /&gt;
Die CSS-Dateien für die dynamische Navigation liegen im Verzeichnis &amp;lt;tt&amp;gt;dynpg/plugins/DPGdynmenu/styles&amp;lt;/tt&amp;gt;. Die Datei &amp;lt;tt&amp;gt;menu.css&amp;lt;/tt&amp;gt; ist hierbei meist die ausschlaggebende, so zum Beispiel in der Navigation der Musterwebsite 3.&lt;br /&gt;
&lt;br /&gt;
Die CSS-Klassen und -Bezeichner aus dieser Datei sind nach einem bestimmten Schema benannt. Hat man dieses einmal verstanden, so lassen sich leicht Änderungen an speziellen Teilen des Erscheinungsbildes der dynamischen Navigation durchführen.&lt;br /&gt;
&lt;br /&gt;
Die dynamische Navigation wird von einem &amp;lt;tt&amp;gt;div&amp;lt;/tt&amp;gt;-Tag mit der Id &amp;lt;tt&amp;gt;course_categories_menu&amp;lt;/tt&amp;gt; umschlossen.&lt;br /&gt;
&lt;br /&gt;
Diese Angaben gelten also grundsätzlich für die gesamte dynamische Navigation und werden gegebenenfalls weitervererbt.&lt;br /&gt;
Im &amp;lt;tt&amp;gt;menu.css&amp;lt;/tt&amp;gt; der Muster-Website 3 steht beispielsweise:&lt;br /&gt;
&amp;lt;code&amp;gt;[css, N]&lt;br /&gt;
div#course_categories_menu {&lt;br /&gt;
  margin: 0;&lt;br /&gt;
  padding: 0;&lt;br /&gt;
  width: 180px;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Um zu verhindern, dass die CSS-Angaben dieser Datei auch auf andere Teile der Website Einfluss haben, ist vor allen anderen CSS-Definitionen der Datei ebenfalls &amp;lt;tt&amp;gt;div#course_categories_menu&amp;lt;/tt&amp;gt; notiert. Dadurch wirken sich die Angaben nur auf die dynamische Navigation aus.&lt;br /&gt;
&lt;br /&gt;
Innerhalb des &amp;lt;tt&amp;gt;course_categories_menu&amp;lt;/tt&amp;gt; - &amp;lt;tt&amp;gt;div&amp;lt;/tt&amp;gt; - Tags gibt es für jede Gruppe der obersten angezeigten Gruppenebene ein &amp;lt;div&amp;gt;-Tag mit der CSS-Id &amp;lt;tt&amp;gt;group_fold_NUMMER&amp;lt;/tt&amp;gt; wobei &amp;lt;tt&amp;gt;NUMMER&amp;lt;/tt&amp;gt; der Gruppennummer der Gruppe aus dem Backend entspricht. In der Navigation der Muster-Website 3 gibt es also folgende Tags:&lt;br /&gt;
&amp;lt;code&amp;gt;[html, N]&lt;br /&gt;
&amp;lt;div id=&amp;quot;course_categories_menu&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;div id=&amp;quot;group_fold_2&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;  &amp;lt;!--Produkte--&amp;gt;&lt;br /&gt;
  &amp;lt;div id=&amp;quot;group_fold_3&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;  &amp;lt;!--Support--&amp;gt;&lt;br /&gt;
  &amp;lt;div id=&amp;quot;group_fold_9&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;  &amp;lt;!--News--&amp;gt;&lt;br /&gt;
  &amp;lt;div id=&amp;quot;group_fold_4&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;  &amp;lt;!--Über uns--&amp;gt;&lt;br /&gt;
  &amp;lt;div id=&amp;quot;group_fold_5&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;  &amp;lt;!--Kontakt--&amp;gt;&lt;br /&gt;
  &amp;lt;div id=&amp;quot;group_fold_21&amp;quot;&amp;gt;&amp;lt;/div&amp;gt; &amp;lt;!--Blog--&amp;gt;&lt;br /&gt;
  &amp;lt;div id=&amp;quot;group_fold_15&amp;quot;&amp;gt;&amp;lt;/div&amp;gt; &amp;lt;!--Sitemap--&amp;gt;&lt;br /&gt;
  &amp;lt;div id=&amp;quot;group_fold_6&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;  &amp;lt;!--Home--&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
Möchte man nun Eigenschaften nur an einem bestimmten Teil der Navigation machen, so könnte man im CSS-File folgende Angabe machen:&lt;br /&gt;
&amp;lt;code&amp;gt;[css, N]&lt;br /&gt;
div#course_categories_menu div#group_fold_9 {&lt;br /&gt;
  text-decoration:blink;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
Damit würde der Text der Gruppe &amp;#039;&amp;#039;News&amp;#039;&amp;#039; (und eventueller Untergruppen) in der dynamischen Navigation blinken.&lt;br /&gt;
&lt;br /&gt;
Innerhalb der &amp;lt;tt&amp;gt;group_fold_NUMMER&amp;lt;/tt&amp;gt; - &amp;lt;tt&amp;gt;div&amp;lt;/tt&amp;gt; - Tags gibt es nun ein &amp;lt;tt&amp;gt;div&amp;lt;/tt&amp;gt; - Tag, dass (neben einer weiteren CSS-Id) eine CSS-Klasse hat. Diese CSS-Klasse wird nach folgendem Muster gebildet:&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;&amp;lt;tt&amp;gt;level_&amp;#039;&amp;#039;A&amp;#039;&amp;#039;_&amp;#039;&amp;#039;B&amp;#039;&amp;#039;_&amp;#039;&amp;#039;C&amp;#039;&amp;#039;_&amp;#039;&amp;#039;D&amp;#039;&amp;#039;_&amp;#039;&amp;#039;E&amp;#039;&amp;#039;&amp;lt;/tt&amp;gt;&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;dynpgwikitable&amp;quot;&lt;br /&gt;
! Buchstabe !! mögliche Werte !! Beschreibung&lt;br /&gt;
|-&lt;br /&gt;
|| &amp;lt;tt&amp;gt;&amp;#039;&amp;#039;A&amp;#039;&amp;#039;&amp;lt;/tt&amp;gt; || 0 oder 1 oder 2 etc. || gibt das Level der Gruppe an, also die Verzweigungstiefe in der sich die Navigation befindet&lt;br /&gt;
|-&lt;br /&gt;
|| &amp;lt;tt&amp;gt;&amp;#039;&amp;#039;B&amp;#039;&amp;#039;&amp;lt;/tt&amp;gt; || &amp;lt;tt&amp;gt;r&amp;lt;/tt&amp;gt; (nicht letzter), &amp;lt;tt&amp;gt;e&amp;lt;/tt&amp;gt; (letzter) || gibt an, ob nach dieser Gruppe noch weitere aufgelistet werden (z.B. in Musterwebsite 3 ist die Gruppe 6 &amp;quot;Home&amp;quot; die letzte des Menüs)&lt;br /&gt;
|-&lt;br /&gt;
|| &amp;lt;tt&amp;gt;&amp;#039;&amp;#039;C&amp;#039;&amp;#039;&amp;lt;/tt&amp;gt; ||  &amp;lt;tt&amp;gt;a&amp;lt;/tt&amp;gt; (ist aktiv), &amp;lt;tt&amp;gt;i&amp;lt;/tt&amp;gt; (ist nicht aktiv) || gibt an, ob die Gruppe aktiv ist, d.h. ob sie durch einen Klick ausgewählt wurde&lt;br /&gt;
|-&lt;br /&gt;
|| &amp;lt;tt&amp;gt;&amp;#039;&amp;#039;D&amp;#039;&amp;#039;&amp;lt;/tt&amp;gt; ||  &amp;lt;tt&amp;gt;exp&amp;lt;/tt&amp;gt; (ausgeklappt), cll(eingeklappt) || gibt an, ob die Untergruppen dieser Gruppe ausgeklappt sind oder nicht&lt;br /&gt;
|-&lt;br /&gt;
|| &amp;lt;tt&amp;gt;&amp;#039;&amp;#039;E&amp;#039;&amp;#039;&amp;lt;/tt&amp;gt; ||  &amp;lt;tt&amp;gt;_hover&amp;lt;/tt&amp;gt; (Mauszeiger ist über dem Element), nichts (Mauszeiger ist nicht über dem Element) || gibt an, ob sich der Mauszeiger über dem Gruppennamen befindet oder nicht&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Mithilfe dieses Schemas kann man nun bestimmen, welche CSS-Klassen man in der CSS-Datei angeben muss um bestimmte Effekte hervorzurufen.&lt;br /&gt;
Möchte man beispielsweise, dass alle Elemente der zweitobersten Ebene blinken, wenn der Mauszeiger über dem Element ist, so notiert man in der CSS-Datei:&lt;br /&gt;
&amp;lt;code&amp;gt;[css, N]&lt;br /&gt;
div#course_categories_menu div#level_1_r_a_exp_hover,&lt;br /&gt;
div#course_categories_menu div#level_1_r_a_cll_hover,&lt;br /&gt;
div#course_categories_menu div#level_1_r_i_exp_hover,&lt;br /&gt;
div#course_categories_menu div#level_1_r_i_cll_hover,&lt;br /&gt;
div#course_categories_menu div#level_1_e_a_exp_hover,&lt;br /&gt;
div#course_categories_menu div#level_1_e_a_cll_hover,&lt;br /&gt;
div#course_categories_menu div#level_1_e_i_exp_hover,&lt;br /&gt;
div#course_categories_menu div#level_1_e_i_cll_hover {&lt;br /&gt;
  text-decoration:blink;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Diese Struktur der &amp;lt;tt&amp;gt;div&amp;lt;/tt&amp;gt;-Tags wiederholt sich mit tieferen Gruppenebenen / Untergruppen. Zum Beispiel tauchen die &amp;lt;tt&amp;gt;div&amp;lt;/tt&amp;gt;-Tags der Untergruppen vom &amp;#039;&amp;#039;Über uns&amp;#039;&amp;#039;-Menüpunkt aus der Muster-Website 3 innerhalb des &amp;lt;tt&amp;gt;group_fold_4&amp;lt;/tt&amp;gt; - &amp;lt;tt&amp;gt;div&amp;lt;/tt&amp;gt; - Tags auf.&lt;br /&gt;
&lt;br /&gt;
Weitere Informationen über die CSS-Klassen kann man schnell erhalten, indem man sich den HTML-Code eines generierten dynamischen Menüs anschaut, zum Beispiel aus der Muster-Website 3.&lt;br /&gt;
&lt;br /&gt;
==Templates==&lt;br /&gt;
Diese Templates liegen im Ordner &amp;lt;tt&amp;gt;dynpg/plugins/DPGdynmenu/templates&amp;lt;/tt&amp;gt;. Hier finden sie Ordner, die jeweils eine &amp;lt;tt&amp;gt;menu.tpl&amp;lt;/tt&amp;gt; enthalten. Welcher dieser Ordner aktiv ist, bestimmen Sie durch das Global &amp;lt;tt&amp;gt;$GLOBALS[&amp;quot;DynPG&amp;quot;]-&amp;gt;SetParam_PlugIn_Template(&amp;#039;DPGdynmenu&amp;#039;, &amp;#039;TEMPLATEORDNER&amp;#039;);&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Die Templates dienen als Vorlage für die Generierung des HTML-Codes der dynamischen Navigation. In ihnen werden auch die CSS-Klassen definiert, welche in [[#CSS|CSS]] erklärt wurden. Außerdem finden hier Templateplatzhalter der Form &amp;lt;tt&amp;gt;&amp;lt;nowiki&amp;gt;{$PLATZHALTER}&amp;lt;/nowiki&amp;gt;&amp;lt;/tt&amp;gt; Verwendung, die DynPG dynamisch durch Inhalt ersetzt.&lt;br /&gt;
&lt;br /&gt;
Das Template &amp;#039;&amp;#039;horizontal&amp;#039;&amp;#039; der Musterwebsite 3 generiert beispielsweise ein horizontales Menü, während das Template &amp;#039;&amp;#039;intelligent&amp;#039;&amp;#039; ein vertikales Menü erzeugt.&lt;br /&gt;
&lt;br /&gt;
Modifikationen an den Templates sind recht komplex. Sollten Sie vorhaben hier Änderungen durchzuführen, wenden Sie sich an das DynPG-Forum.&lt;br /&gt;
&lt;br /&gt;
==Feste Links einbauen==&lt;br /&gt;
&lt;br /&gt;
Hierzu erstellt man im Backend eine Gruppe mit dem Namen des festen Links und merkt sich die Gruppennummer. Mittels des Plugin-Parameters &amp;lt;tt&amp;gt;&amp;#039;href_subpages&amp;#039;&amp;lt;/tt&amp;gt; setzt man für diese Gruppennummer nun als Ziel die Datei &amp;lt;tt&amp;gt;counter.php&amp;lt;/tt&amp;gt; fest und übergibt dieser als Parameter das feste Linkziel. Beispiel: Wir wollen einen Link auf die Google-Webseite setzen. Also erstellen wir im Backend eine Gruppe mit dem Namen &amp;#039;&amp;#039;Google-Websuche&amp;#039;&amp;#039; und notieren die Gruppennummer (z.B. 33). In die PHP-Datei unserer dynamischen Navigation fügen wir nun folgendes ein:&lt;br /&gt;
&amp;lt;code&amp;gt;[php, N]&lt;br /&gt;
$GLOBALS[&amp;quot;DynPG&amp;quot;]-&amp;gt;SetParam_PlugIn_Param(&lt;br /&gt;
  &amp;#039;DPGdynmenu&amp;#039;,&lt;br /&gt;
  &amp;#039;href_subpages&amp;#039;,&lt;br /&gt;
  Array(&lt;br /&gt;
	33 =&amp;gt; Array(&lt;br /&gt;
      &amp;#039;page&amp;#039; =&amp;gt; &amp;#039;counter.php?inc=http://www.google.com&amp;#039;,&lt;br /&gt;
      &amp;#039;successors&amp;#039; =&amp;gt; true&lt;br /&gt;
    )		&lt;br /&gt;
  )&lt;br /&gt;
);&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Mehrsprachiges Menü==&lt;br /&gt;
&lt;br /&gt;
Hierzu gibt es einen Thread in unserem Forum unter [http://www.dynpg.ch/dynpg-forum.php?t=&amp;amp;read_group=30&amp;amp;thread_id=47&amp;amp;tt=Sprachwechsel]. Die grundsätzliche Idee ist (bei zwei Sprachen) zwei Gruppenbäume im Backend aufzubauen. Die oberste Gruppe des ersten Baumes wäre beispielsweise die Gruppe &amp;#039;&amp;#039;Deutsch&amp;#039;&amp;#039;, die oberste Gruppe des zweiten Baumes wäre zum Beispiel &amp;#039;&amp;#039;English&amp;#039;&amp;#039;.&lt;br /&gt;
&lt;br /&gt;
In der zweiten Ebene kommen dann unter &amp;#039;&amp;#039;Deutsch&amp;#039;&amp;#039; bzw. &amp;#039;&amp;#039;English&amp;#039;&amp;#039; Untergruppen wie &amp;#039;&amp;#039;News&amp;#039;&amp;#039;/&amp;#039;&amp;#039;Nachrichten&amp;#039;&amp;#039;, &amp;#039;&amp;#039;Produkte&amp;#039;&amp;#039;/&amp;#039;&amp;#039;Products&amp;#039;&amp;#039;, &amp;#039;&amp;#039;Hilfe&amp;#039;&amp;#039;/&amp;#039;&amp;#039;Support&amp;#039;&amp;#039; und so weiter. Man erstellt sich nun zwei PHP-Dateien (&amp;lt;tt&amp;gt;navi_de.php&amp;lt;/tt&amp;gt;, &amp;lt;tt&amp;gt;navi_en.php&amp;lt;/tt&amp;gt;) wie oben beschrieben [[#Einrichten|Einrichten]]. In diesen wird dann mit den Befehlen aus [[#Globalsreferenz|Globalsreferenz]] der jeweils nicht passende Baum ausgeblendet.&lt;br /&gt;
&lt;br /&gt;
==Siehe auch==&lt;br /&gt;
*[[Sitemap-Tutorial]]&lt;br /&gt;
*[[Implementation eines kompletten Hauptmenüs]]&lt;br /&gt;
*[[Code-Schnipsel Einfaches Hauptmenü]]&lt;br /&gt;
*[[Code-Schnipsel Menüeinträge sortieren]]&lt;br /&gt;
*[[Snippet-Beispiele]]&lt;/div&gt;</summary>
		<author><name>Sebastian</name></author>	</entry>

	<entry>
		<id>https://wiki-en.dynpg.org/wiki_de/index.php?title=Dynamische_Navigation</id>
		<title>Dynamische Navigation</title>
		<link rel="alternate" type="text/html" href="https://wiki-en.dynpg.org/wiki_de/index.php?title=Dynamische_Navigation"/>
				<updated>2009-08-16T18:10:12Z</updated>
		
		<summary type="html">&lt;p&gt;Sebastian: /* Globals direkt für das Plugin */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Kategorie:Module]]&lt;br /&gt;
==Beschreibung==&lt;br /&gt;
Die dynamische Navigation ist Bestandteil des kostenlosen Grundmoduls von DynPG und bereits im Standard-DynPG integriert. Es ist keine separate Installation notwendig. Sie ermöglicht es Ihnen einfach und flexibel Navigationen auf Ihrer Homepage zu erstellen. Die Anwendungsmöglichkeiten gestalten sich dabei flexibel als normales Menü oder auch als Sitemap.&lt;br /&gt;
&lt;br /&gt;
Ein dynamisches Menü bildet die Gruppenstruktur im Backend als Menü ab, macht also die logische Struktur ihrer Artikel aus dem Backend auf einer Webseite sichtbar und navigierbar.&lt;br /&gt;
&lt;br /&gt;
Der Vorteil ist, dass man im Backend neue Gruppen o.ä. erstellt und diese dann im Hauptmenü erscheinen. Dies ist auch bei Untergruppen nützlich,&lt;br /&gt;
z.B. wenn eine neue Untergruppe &amp;#039;&amp;#039;Lokalnachrichten&amp;#039;&amp;#039; zur Hauptgruppe &amp;#039;&amp;#039;News&amp;#039;&amp;#039; hinzukommt.&lt;br /&gt;
&lt;br /&gt;
Zum Verständnis der Funktionsvielfalt der dynamischen Navigation ist es hilfreich, einmal eine der [[Muster-Web-Sites|Musterwebsites]] zu installieren und in den entsprechenden Dateien der Musterwebsite die unten erklärten Einstellungsmöglichkeiten nachzuvollziehen und vielleicht auch einmal mit den Optionen herumzuspielen.&lt;br /&gt;
&lt;br /&gt;
==Einrichten==&lt;br /&gt;
&amp;#039;&amp;#039;Anmerkung: Benutzen sie die [[Muster-Web-Sites|Musterwebsites]], so müssen die nachfolgenden zwei Schritte nicht ausgeführt werden, da die dynamische Navigation bereits in den Musterwebsites genutzt wird&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
===Schritt 1: Artikel erstellen mit Platzhalter für die dynamische Navigation===&lt;br /&gt;
Wählen Sie im Menü des Backends &amp;#039;&amp;#039;Gruppen&amp;#039;&amp;#039; aus [[Media:dynmenue01.png|Klick]]. Suchen Sie sich nun eine Gruppe, in der Sie einen Artikel erfassen wollen. Hier wählen wir (die in diesem Falle schon vorhandene) Gruppe &amp;#039;&amp;#039;Startseite/Navigation/Formular&amp;#039;&amp;#039; durch Klick auf ihren Namen aus [[Media:dynmenue02.png|Klick]].&lt;br /&gt;
&lt;br /&gt;
Mit einem Klick auf &amp;#039;&amp;#039;Artikel Formular anzeigen&amp;#039;&amp;#039; [[Media:dynmenue03.PNG|Klick]] und danach auf &amp;#039;&amp;#039;Inhalt bearbeiten&amp;#039;&amp;#039; [[Media:dynmenue04.PNG|Klick]] erscheint der Editor.&lt;br /&gt;
&lt;br /&gt;
In diesem wählen Sie das Symbol für die dynamische Navigation [[Media:dynmenue05.PNG|Klick]], geben noch einen Titel, etwa &amp;#039;&amp;#039;Neue Seitennavigation&amp;#039;&amp;#039;, ein und bestätigen mit einem Klick auf &amp;#039;&amp;#039;Erstellen&amp;#039;&amp;#039; [[Media:dynmenue06.PNG|Klick]]. &lt;br /&gt;
&lt;br /&gt;
Hat alles geklappt, können Sie im unteren Teil der Seite den neuen Artikel sehen [[Media:dynmenue07.PNG|Klick]]. Die Nummer des Artikels benötigen Sie erneut, wenn Sie in eine PHP-Datei mittels eines Globals die dynamische Navigation einbinden.&lt;br /&gt;
&lt;br /&gt;
===Schritt 2: PHP-Datei für die dynamische Navigation erstellen===&lt;br /&gt;
Folgende Ordner-Struktur könnte bei Ihnen vorliegen:&lt;br /&gt;
:*&amp;lt;tt&amp;gt;http-docs/dynpg&amp;lt;/tt&amp;gt; : hier liegt das DynPG-CMS&lt;br /&gt;
:*&amp;lt;tt&amp;gt;http-docs/index.php&amp;lt;/tt&amp;gt; : die Hauptseite Ihrer Website&lt;br /&gt;
:*&amp;lt;tt&amp;gt;http-docs/folgeseite.php&amp;lt;/tt&amp;gt; : eine andere PHP-Datei der Website&lt;br /&gt;
:*&amp;lt;tt&amp;gt;http-docs/inc/navi.php&amp;lt;/tt&amp;gt; : In diese Datei platziert man häufig den Code für die Navigation, dadurch ist er leichter wiederverwendbar&lt;br /&gt;
&lt;br /&gt;
Den nötigen Code der &amp;lt;tt&amp;gt;inc/navi.php&amp;lt;/tt&amp;gt; kann man anhand der [[Muster-Web-Sites|Musterwebsites]] nachvollziehen (Für eine genauere Erklärung der einzelnen verwendeten Globals siehe die [[Funktionsreferenz/Globals|Globals-Übersicht von DynPG]] und weiter unten die [[#Globalsreferenz|Funktionsübersicht der dynamischen Navigation]]) :&lt;br /&gt;
:*&amp;#039;&amp;#039;&amp;#039;&amp;lt;tt&amp;gt;inc/navi.php&amp;lt;/tt&amp;gt;:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;code&amp;gt;[php, N]&lt;br /&gt;
&amp;lt;?php&lt;br /&gt;
  $GLOBALS[&amp;quot;DynPG&amp;quot;]-&amp;gt;SetParam_PlugIn_Template(&amp;#039;DPGdynmenu&amp;#039;, &amp;#039;intelligent&amp;#039;);&lt;br /&gt;
  $GLOBALS[&amp;quot;DynPG&amp;quot;]-&amp;gt;SetParam_PlugIn_Param(&amp;#039;DPGdynmenu&amp;#039;, &amp;#039;real_expand&amp;#039;, TRUE);&lt;br /&gt;
  $GLOBALS[&amp;quot;DynPG&amp;quot;]-&amp;gt;SetParam_PlugIn_Param(&amp;#039;DPGdynmenu&amp;#039;, &amp;#039;order&amp;#039;, Array(&amp;#039;INDEX&amp;#039;));&lt;br /&gt;
  $GLOBALS[&amp;quot;DynPG&amp;quot;]-&amp;gt;SetParam_PlugIn_Param(&amp;#039;DPGdynmenu&amp;#039;, &amp;#039;sort&amp;#039;, Array(&amp;#039;ASC&amp;#039;));&lt;br /&gt;
  $GLOBALS[&amp;quot;DynPG&amp;quot;]-&amp;gt;SetParam_PlugIn_Param(&amp;#039;DPGdynmenu&amp;#039;, &amp;#039;href_page_groups&amp;#039;, &amp;#039;../folgeseite.php&amp;#039;);&lt;br /&gt;
  $GLOBALS[&amp;quot;DynPG&amp;quot;]-&amp;gt;SetParam_PlugIn_Param(&amp;#039;DPGdynmenu&amp;#039;, &amp;#039;href_page_articles&amp;#039;, &amp;#039;../folgeseite.php&amp;#039;);&lt;br /&gt;
  $GLOBALS[&amp;quot;DynPG&amp;quot;]-&amp;gt;SetParam_PlugIn_Param(&amp;#039;DPGdynmenu&amp;#039;, &amp;#039;href_page_detail&amp;#039;, &amp;#039;../folgeseite.php&amp;#039;);&lt;br /&gt;
  $GLOBALS[&amp;quot;DynPG&amp;quot;]-&amp;gt;SetParam_PlugIn_Param(&lt;br /&gt;
    &amp;#039;DPGdynmenu&amp;#039;,&lt;br /&gt;
    &amp;#039;href_subpages&amp;#039;,&lt;br /&gt;
    Array(&lt;br /&gt;
      0 =&amp;gt; Array(&lt;br /&gt;
        &amp;#039;page&amp;#039; =&amp;gt; &amp;#039;../formular.php{query}&amp;#039;,&lt;br /&gt;
        &amp;#039;successors&amp;#039; =&amp;gt; true&lt;br /&gt;
      ),&lt;br /&gt;
      21 =&amp;gt; Array(&lt;br /&gt;
        &amp;#039;page&amp;#039; =&amp;gt; &amp;#039;../blog.php{query}&amp;#039;,&lt;br /&gt;
        &amp;#039;successors&amp;#039; =&amp;gt; true&lt;br /&gt;
      ),&lt;br /&gt;
      15 =&amp;gt; Array(&lt;br /&gt;
        &amp;#039;page&amp;#039; =&amp;gt; &amp;#039;../sitemap.php{query}&amp;#039;,&lt;br /&gt;
        &amp;#039;successors&amp;#039; =&amp;gt; true&lt;br /&gt;
      ),&lt;br /&gt;
      16 =&amp;gt; Array(&lt;br /&gt;
        &amp;#039;page&amp;#039; =&amp;gt; &amp;#039;../veranstaltungen.php{query}&amp;#039;,&lt;br /&gt;
        &amp;#039;successors&amp;#039; =&amp;gt; true&lt;br /&gt;
      ),&lt;br /&gt;
      21 =&amp;gt; Array(&lt;br /&gt;
        &amp;#039;page&amp;#039; =&amp;gt; &amp;#039;../blog.php{query}&amp;#039;,&lt;br /&gt;
        &amp;#039;successors&amp;#039; =&amp;gt; true&lt;br /&gt;
      ),&lt;br /&gt;
      6 =&amp;gt; Array(&lt;br /&gt;
        &amp;#039;page&amp;#039; =&amp;gt; &amp;#039;../index.php{query}&amp;#039;,&lt;br /&gt;
        &amp;#039;successors&amp;#039; =&amp;gt; true&lt;br /&gt;
      )&lt;br /&gt;
    )&lt;br /&gt;
  );    &lt;br /&gt;
  $GLOBALS[&amp;quot;DynPG&amp;quot;]-&amp;gt;SetupTemplate(&amp;#039;uneditable&amp;#039;); &lt;br /&gt;
  $GLOBALS[&amp;quot;DynPG&amp;quot;]-&amp;gt;SetParam_A_Anytime(TRUE);&lt;br /&gt;
  $GLOBALS[&amp;quot;DynPG&amp;quot;]-&amp;gt;SetParam_A_CategoryNavigation(FALSE);&lt;br /&gt;
  $GLOBALS[&amp;quot;DynPG&amp;quot;]-&amp;gt;SetParam_A_PrintNavigation(FALSE);&lt;br /&gt;
  $GLOBALS[&amp;quot;DynPG&amp;quot;]-&amp;gt;SetParam_A_ArticleHeader(FALSE);&lt;br /&gt;
  $GLOBALS[&amp;quot;DynPG&amp;quot;]-&amp;gt;SetParam_A_Article(1);&lt;br /&gt;
&lt;br /&gt;
  $GLOBALS[&amp;quot;DynPG&amp;quot;]-&amp;gt;Write_Article();&lt;br /&gt;
  $GLOBALS[&amp;quot;DynPG&amp;quot;]-&amp;gt;SetupTemplate(&amp;#039;default&amp;#039;);  &lt;br /&gt;
?&amp;gt;&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Man kann nun in der &amp;lt;tt&amp;gt;index.php&amp;lt;/tt&amp;gt; mittels &lt;br /&gt;
&amp;lt;code&amp;gt;[php, N]&lt;br /&gt;
&amp;lt;?php include(&amp;quot;inc/navi.php&amp;quot;); ?&amp;gt;&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
die Navigation einbinden, ebenso z.B. auch in der &amp;lt;tt&amp;gt;folgeseite.php&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Die dynamische Navigation kann nun an verschiedenen Stellen angepasst werden. Neben den Globals in der PHP-Datei ([[#Globalsreferenz|Globalsreferenz]]) ist dies im Backend durch das Erstellen von Gruppen und Artikeln möglich ([[#Dynamische_Navigation_im_Backend|Dynamische Navigation im Backend]]). Erweiterte Möglichkeiten ergeben sich durch das [[#CSS|CSS]] und die [[#Templates|Templates]].&lt;br /&gt;
&lt;br /&gt;
==Die dynamische Navigation im Backend==&lt;br /&gt;
&lt;br /&gt;
Wie bereits erwähnt, bildet die dynamische Navigation die Gruppenstruktur des Backends auf einer Webseite ab. In der Musterwebsite 3 ist im Backend zum Beispiel folgende Gruppenstruktur zu erkennen:&lt;br /&gt;
[[Media:dynmenue08.PNG|Klick]].&lt;br /&gt;
Auf der Website sieht dies dann wie folgt aus:&lt;br /&gt;
[[Media:dynmenue09.PNG|Klick]]&lt;br /&gt;
oder auch&lt;br /&gt;
[[Media:dynmenue10.PNG|Klick]]&lt;br /&gt;
.&lt;br /&gt;
&lt;br /&gt;
Welche Untergruppen angezeigt werden, hängt zum einen davon ab, welcher Navigationspunkt gerade aktiv ist (also angeklickt wurde) und zum anderen von den benutzten Globals in der PHP-Datei ([[#Globalsreferenz|z.B. Parameter &amp;#039;full_load&amp;#039;]]) und den Einstellungen der Gruppe im Backend. &lt;br /&gt;
&lt;br /&gt;
In diesen Einstellungen kann man z.B. auch bestimmen, dass eine bestimmte Gruppe nicht im Menü der Website sichtbar ist (so zum Beispiel die Gruppe &amp;quot;Diverses&amp;quot; aus der Musterwebsite 3). Die Eigenschaftenseite der Gruppe erreicht man über einen Klick auf:&lt;br /&gt;
[[Media:dynmenue11.PNG|Klick]]&lt;br /&gt;
. Unter dem Punkt &amp;#039;&amp;#039;Veröffentlichen&amp;#039;&amp;#039;&lt;br /&gt;
[[Media:dynmenue12.PNG|Klick]])&lt;br /&gt;
wählt man nun die Option &amp;#039;&amp;#039;Nein&amp;#039;&amp;#039; aus. &lt;br /&gt;
&lt;br /&gt;
Die Option &amp;#039;&amp;#039;Ja&amp;#039;&amp;#039; führt dazu, dass auf der Website der Navigationspunkt &amp;#039;&amp;#039;Diverses&amp;#039;&amp;#039; erscheint&lt;br /&gt;
[[Media:dynmenue14.PNG|Klick]]&lt;br /&gt;
. Ist der Punkt &amp;#039;&amp;#039;Diverses&amp;#039;&amp;#039; ausgewählt, erscheinen auch die Untergruppen&lt;br /&gt;
[[Media:dynmenue13.PNG|Klick]]&lt;br /&gt;
.&lt;br /&gt;
&lt;br /&gt;
==Globalsreferenz==&lt;br /&gt;
===Globals direkt für das Plugin===&lt;br /&gt;
&amp;#039;&amp;#039;Die Parameter haben Default-Werte, müssen also nicht immer gesetzt werden&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
*&amp;#039;&amp;#039;&amp;#039;&amp;lt;tt&amp;gt;$GLOBALS[&amp;quot;DynPG&amp;quot;]-&amp;gt;SetParam_PlugIn_Template(&amp;#039;DPGdynmenu&amp;#039;, &amp;#039;TEMPLATEORDNER&amp;#039;);&amp;lt;/tt&amp;gt;:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
:Hiermit wählt man den Template-Ordner für die dynamische Navigation aus. Diese Template-Ordner liegen in &amp;lt;tt&amp;gt;dynpg/plugins/DPGdynmenu/templates&amp;lt;/tt&amp;gt;. Aus diesem Ordner wird die Template-Datei &amp;lt;tt&amp;gt;menu.tpl&amp;lt;/tt&amp;gt; zur Generierung des Menüs genommen. Dies ist unabhängig vom Global &amp;lt;tt&amp;gt;$GLOBALS[&amp;quot;DynPG&amp;quot;]-&amp;gt;SetupTemplate(...);&amp;lt;/tt&amp;gt;, der sozusagen das Template des Artikels bestimmt, welcher die dynamische Navigation enthält.&lt;br /&gt;
&lt;br /&gt;
*&amp;#039;&amp;#039;&amp;#039;&amp;lt;tt&amp;gt;$GLOBALS[&amp;quot;DynPG&amp;quot;]-&amp;gt;SetParam_PlugIn_Param(&amp;#039;DPGdynmenu&amp;#039;, PARAMETERNAME, PARAMETERWERT);&amp;lt;/tt&amp;gt;&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
:{| class=&amp;quot;dynpgwikitable&amp;quot;&lt;br /&gt;
! &amp;lt;tt&amp;gt;PARAMETERNAME&amp;lt;/tt&amp;gt; !! &amp;lt;tt&amp;gt;PARAMETERWERT&amp;lt;/tt&amp;gt; !! Beschreibung&lt;br /&gt;
|-&lt;br /&gt;
||&amp;lt;tt&amp;gt;&amp;#039;order&amp;#039;&amp;lt;/tt&amp;gt; || &amp;lt;tt&amp;gt;Array(&amp;#039;INDEX&amp;#039;)&amp;lt;/tt&amp;gt; oder &amp;lt;tt&amp;gt;Array(&amp;#039;NAME&amp;#039;)&amp;lt;/tt&amp;gt; || Reihenfolge der Gruppen in der Navigation nach Name oder im Backend gesetzten Index&lt;br /&gt;
|-&lt;br /&gt;
||&amp;lt;tt&amp;gt;&amp;#039;sort&amp;#039;&amp;lt;/tt&amp;gt; || &amp;lt;tt&amp;gt;Array(&amp;#039;ASC&amp;#039;)&amp;lt;/tt&amp;gt; oder &amp;lt;tt&amp;gt;Array(&amp;#039;DESC&amp;#039;)&amp;lt;/tt&amp;gt; || aufsteigende oder absteigende Sortierung&lt;br /&gt;
|-&lt;br /&gt;
||&amp;lt;tt&amp;gt;&amp;#039;order_articles&amp;#039;&amp;lt;/tt&amp;gt; || z.B. &amp;lt;tt&amp;gt;Array(&amp;#039;INDEX&amp;#039;)&amp;lt;/tt&amp;gt; || sortiert Artikel in der dynamischen Navigation (falls diese angezeigt werden) &lt;br /&gt;
|-&lt;br /&gt;
||&amp;lt;tt&amp;gt;&amp;#039;sort_articles&amp;#039;&amp;lt;/tt&amp;gt; || z.B. &amp;lt;tt&amp;gt;Array(&amp;#039;ASC&amp;#039;)&amp;lt;/tt&amp;gt; || bestimmt aufsteigende oder absteigende Sortierreihenfolge der Artikel&lt;br /&gt;
|-&lt;br /&gt;
||&amp;lt;tt&amp;gt;&amp;#039;href_page_groups&amp;#039;&amp;lt;/tt&amp;gt; || z.B. &amp;lt;tt&amp;gt;&amp;#039;../folgeseite.php&amp;#039;&amp;lt;/tt&amp;gt; || Seite auf die weiterverlinkt wird bei einem Klick auf den Gruppennamen (ACHTUNG &amp;lt;tt&amp;gt;&amp;#039;../&amp;#039;&amp;lt;/tt&amp;gt; wichtig, siehe Ordnerstruktur weiter oben!)&lt;br /&gt;
|-&lt;br /&gt;
||&amp;lt;tt&amp;gt;&amp;#039;href_page_articles&amp;#039;&amp;lt;/tt&amp;gt; || z.B. &amp;lt;tt&amp;gt;&amp;#039;../folgeseite.php&amp;#039;&amp;lt;/tt&amp;gt; ||&lt;br /&gt;
|-&lt;br /&gt;
||&amp;lt;tt&amp;gt;&amp;#039;href_page_detail&amp;#039;&amp;lt;/tt&amp;gt; || z.B. &amp;lt;tt&amp;gt;&amp;#039;../folgeseite.php&amp;#039;&amp;lt;/tt&amp;gt; || Seite auf die weiterverlinkt wird bei einem Klick auf Artikelnamen in dynamischer Navigation (sofern Artikel angezeigt werden)&lt;br /&gt;
|-&lt;br /&gt;
||&amp;lt;tt&amp;gt;&amp;#039;href_subpages&amp;#039;&amp;lt;/tt&amp;gt; || z.B. &amp;lt;pre&amp;gt;Array(&lt;br /&gt;
  GRUPPENNUMMER =&amp;gt; Array( &lt;br /&gt;
    &amp;#039;page&amp;#039; =&amp;gt; &amp;#039;PHP-SEITE{query}&amp;#039;,&lt;br /&gt;
    &amp;#039;successors&amp;#039; =&amp;gt; true&lt;br /&gt;
  ),&lt;br /&gt;
...&lt;br /&gt;
...&lt;br /&gt;
...&lt;br /&gt;
  GRUPPENNUMMER =&amp;gt; Array( &lt;br /&gt;
    &amp;#039;page&amp;#039; =&amp;gt; &amp;#039;PHP-SEITE{query}&amp;#039;,&lt;br /&gt;
    &amp;#039;successors&amp;#039; =&amp;gt; true&lt;br /&gt;
  ) &lt;br /&gt;
)&amp;lt;/pre&amp;gt; || Ermöglicht für bestimmte Gruppen auf eine andere &amp;lt;tt&amp;gt;PHP-SEITE&amp;lt;/tt&amp;gt; zu verlinken&lt;br /&gt;
|-&lt;br /&gt;
||&amp;lt;tt&amp;gt;&amp;#039;full_load&amp;#039;&amp;lt;/tt&amp;gt; || &amp;lt;tt&amp;gt;false&amp;lt;/tt&amp;gt; oder &amp;lt;tt&amp;gt;true&amp;lt;/tt&amp;gt; || zeigt unabhängig von angeklickten Gruppen den kompletten Navigationsbaum mit Untergruppen an (oder auch nicht)&lt;br /&gt;
|-&lt;br /&gt;
|| &amp;lt;tt&amp;gt;&amp;#039;full_load_articles&amp;#039;&amp;lt;/tt&amp;gt; || &amp;lt;tt&amp;gt;false&amp;lt;/tt&amp;gt; ||&lt;br /&gt;
|-&lt;br /&gt;
|| &amp;lt;tt&amp;gt;&amp;#039;limit_articles&amp;#039;&amp;lt;/tt&amp;gt; || &amp;lt;tt&amp;gt;false&amp;lt;/tt&amp;gt; ||&lt;br /&gt;
|-&lt;br /&gt;
|| &amp;lt;tt&amp;gt;&amp;#039;expand_subtree&amp;#039;&amp;lt;/tt&amp;gt; || &amp;lt;tt&amp;gt;Array(4)&amp;lt;/tt&amp;gt; oder &amp;lt;tt&amp;gt;Array(4,5)&amp;lt;/tt&amp;gt; etc. || zeigt die Untergruppen von Gruppe 4 (bzw. 4 und 5) in jedem Fall an. Sei Gruppe 4 bspw. die Gruppe &amp;#039;&amp;#039;News&amp;#039;&amp;#039; des Backends, dann werden die beispielhaften Untergruppen &amp;#039;&amp;#039;Lokalnachrichten&amp;#039;&amp;#039; und &amp;#039;&amp;#039;Weltnachrichten&amp;#039;&amp;#039; immer zur Navigation angeboten, auch wenn sich ein Benutzer auf der Website gerade einen Artikel aus der Gruppe &amp;#039;&amp;#039;Kontakt&amp;#039;&amp;#039; anschaut&lt;br /&gt;
|- &lt;br /&gt;
|| &amp;lt;tt&amp;gt;&amp;#039;implode_subtree&amp;#039;&amp;lt;/tt&amp;gt; || &amp;lt;tt&amp;gt;Array(4)&amp;lt;/tt&amp;gt; oder &amp;lt;tt&amp;gt;Array(4,5)&amp;lt;/tt&amp;gt; etc. || zeigt die Untergruppen von Gruppe 4 (bzw. 4 und 5) in jedem Fall NICHT an. Anmerkung: der Parameter &amp;lt;tt&amp;gt;expand_subtree&amp;lt;/tt&amp;gt; überschreibt diese Einstellung! Ist also eine Gruppe in beiden Parametern aufgeführt, so werden die Untergruppen dieser Gruppe immer angezeigt, da der Parameter &amp;lt;tt&amp;gt;expand_subtree&amp;lt;/tt&amp;gt; wichtiger ist.&lt;br /&gt;
|-&lt;br /&gt;
|| &amp;lt;tt&amp;gt;&amp;#039;real_expand&amp;#039;&amp;lt;/tt&amp;gt; || &amp;lt;tt&amp;gt;false&amp;lt;/tt&amp;gt; ||&lt;br /&gt;
|-&lt;br /&gt;
|| &amp;lt;tt&amp;gt;&amp;#039;speed_mode&amp;#039;&amp;lt;/tt&amp;gt; || &amp;lt;tt&amp;gt;false&amp;lt;/tt&amp;gt; ||&lt;br /&gt;
|-&lt;br /&gt;
|| &amp;lt;tt&amp;gt;&amp;#039;parent_select&amp;#039;&amp;lt;/tt&amp;gt; || &amp;lt;tt&amp;gt;true&amp;lt;/tt&amp;gt; ||&lt;br /&gt;
|-&lt;br /&gt;
|| &amp;lt;tt&amp;gt;&amp;#039;max_depth&amp;#039;&amp;lt;/tt&amp;gt; || &amp;lt;tt&amp;gt;null&amp;lt;/tt&amp;gt; oder &amp;lt;tt&amp;gt;0&amp;lt;/tt&amp;gt; oder &amp;lt;tt&amp;gt;1&amp;lt;/tt&amp;gt; etc. || Tiefe bis zu der (Unter-)Gruppen angezeigt werden&lt;br /&gt;
|-&lt;br /&gt;
|| &amp;lt;tt&amp;gt;&amp;#039;min_depth&amp;#039;&amp;lt;/tt&amp;gt; || &amp;lt;tt&amp;gt;null&amp;lt;/tt&amp;gt; oder &amp;lt;tt&amp;gt;0&amp;lt;/tt&amp;gt; oder &amp;lt;tt&amp;gt;1&amp;lt;/tt&amp;gt; etc. || Tiefe, die eine Gruppe mindestens haben muss um angezeigt zu werden, z.B. 1 um oberste Ebene der Gruppen aus dem Backend auszublenden&lt;br /&gt;
|-&lt;br /&gt;
|| &amp;lt;tt&amp;gt;&amp;#039;fetch_only&amp;#039;&amp;lt;/tt&amp;gt; || &amp;lt;tt&amp;gt;null&amp;lt;/tt&amp;gt; ||&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Sinnvolle Globals vom DynPG-CMS===&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;tt&amp;gt;$GLOBALS[&amp;quot;DynPG&amp;quot;]-&amp;gt;SetupTemplate(&amp;#039;uneditable&amp;#039;);&amp;lt;/tt&amp;gt; : ermöglicht Navigation in der Seite obwohl Editiermodus im Backend angeschaltet ist&lt;br /&gt;
*&amp;lt;tt&amp;gt;$GLOBALS[&amp;quot;DynPG&amp;quot;]-&amp;gt;SetParam_A_Anytime(TRUE);&amp;lt;/tt&amp;gt; : Menü soll immer angezeigt werden&lt;br /&gt;
*&amp;lt;tt&amp;gt;$GLOBALS[&amp;quot;DynPG&amp;quot;]-&amp;gt;SetParam_A_CategoryNavigation(FALSE);&amp;lt;/tt&amp;gt; : keine weitere Navigation(Breadcrumb) anzeigen&lt;br /&gt;
*&amp;lt;tt&amp;gt;$GLOBALS[&amp;quot;DynPG&amp;quot;]-&amp;gt;SetParam_A_PrintNavigation(FALSE);&amp;lt;/tt&amp;gt; : kein Link zu Print-Seite anzeigen&lt;br /&gt;
*&amp;lt;tt&amp;gt;$GLOBALS[&amp;quot;DynPG&amp;quot;]-&amp;gt;SetParam_A_ArticleHeader(FALSE);&amp;lt;/tt&amp;gt; : keine Artikelüberschrift (des Artikels mit dem DynMenü-Platzhalter) und kein Artikelleadtext anzeigen&lt;br /&gt;
*&amp;lt;tt&amp;gt;$GLOBALS[&amp;quot;DynPG&amp;quot;]-&amp;gt;SetParam_A_Article(1);&amp;lt;/tt&amp;gt; : Artikel mit dem Dynmenü-Platzhalter setzen (&amp;#039;&amp;#039;&amp;#039;Hier die Artikelnummer aus [[#Einrichten|Einrichten]] einfügen!&amp;#039;&amp;#039;&amp;#039;)&lt;br /&gt;
*&amp;lt;tt&amp;gt;$GLOBALS[&amp;quot;DynPG&amp;quot;]-&amp;gt;Write_Article();&amp;lt;/tt&amp;gt; : Artikel ausgeben&lt;br /&gt;
*&amp;lt;tt&amp;gt;$GLOBALS[&amp;quot;DynPG&amp;quot;]-&amp;gt;SetupTemplate(&amp;#039;default&amp;#039;);&amp;lt;/tt&amp;gt; : andere Teile der Website haben sicherlich andere Templates. Wir setzen daher hier wieder auf das Standard-Template zurück&lt;br /&gt;
&lt;br /&gt;
===CSS===&lt;br /&gt;
Die CSS-Dateien für die dynamische Navigation liegen im Verzeichnis &amp;lt;tt&amp;gt;dynpg/plugins/DPGdynmenu/styles&amp;lt;/tt&amp;gt;. Die Datei &amp;lt;tt&amp;gt;menu.css&amp;lt;/tt&amp;gt; ist hierbei meist die ausschlaggebende, so zum Beispiel in der Navigation der Musterwebsite 3.&lt;br /&gt;
&lt;br /&gt;
Die CSS-Klassen und -Bezeichner aus dieser Datei sind nach einem bestimmten Schema benannt. Hat man dieses einmal verstanden, so lassen sich leicht Änderungen an speziellen Teilen des Erscheinungsbildes der dynamischen Navigation durchführen.&lt;br /&gt;
&lt;br /&gt;
Die dynamische Navigation wird von einem &amp;lt;tt&amp;gt;div&amp;lt;/tt&amp;gt;-Tag mit der Id &amp;lt;tt&amp;gt;course_categories_menu&amp;lt;/tt&amp;gt; umschlossen.&lt;br /&gt;
&lt;br /&gt;
Diese Angaben gelten also grundsätzlich für die gesamte dynamische Navigation und werden gegebenenfalls weitervererbt.&lt;br /&gt;
Im &amp;lt;tt&amp;gt;menu.css&amp;lt;/tt&amp;gt; der Muster-Website 3 steht beispielsweise:&lt;br /&gt;
&amp;lt;code&amp;gt;[css, N]&lt;br /&gt;
div#course_categories_menu {&lt;br /&gt;
  margin: 0;&lt;br /&gt;
  padding: 0;&lt;br /&gt;
  width: 180px;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Um zu verhindern, dass die CSS-Angaben dieser Datei auch auf andere Teile der Website Einfluss haben, ist vor allen anderen CSS-Definitionen der Datei ebenfalls &amp;lt;tt&amp;gt;div#course_categories_menu&amp;lt;/tt&amp;gt; notiert. Dadurch wirken sich die Angaben nur auf die dynamische Navigation aus.&lt;br /&gt;
&lt;br /&gt;
Innerhalb des &amp;lt;tt&amp;gt;course_categories_menu&amp;lt;/tt&amp;gt; - &amp;lt;tt&amp;gt;div&amp;lt;/tt&amp;gt; - Tags gibt es für jede Gruppe der obersten angezeigten Gruppenebene ein &amp;lt;div&amp;gt;-Tag mit der CSS-Id &amp;lt;tt&amp;gt;group_fold_NUMMER&amp;lt;/tt&amp;gt; wobei &amp;lt;tt&amp;gt;NUMMER&amp;lt;/tt&amp;gt; der Gruppennummer der Gruppe aus dem Backend entspricht. In der Navigation der Muster-Website 3 gibt es also folgende Tags:&lt;br /&gt;
&amp;lt;code&amp;gt;[html, N]&lt;br /&gt;
&amp;lt;div id=&amp;quot;course_categories_menu&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;div id=&amp;quot;group_fold_2&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;  &amp;lt;!--Produkte--&amp;gt;&lt;br /&gt;
  &amp;lt;div id=&amp;quot;group_fold_3&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;  &amp;lt;!--Support--&amp;gt;&lt;br /&gt;
  &amp;lt;div id=&amp;quot;group_fold_9&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;  &amp;lt;!--News--&amp;gt;&lt;br /&gt;
  &amp;lt;div id=&amp;quot;group_fold_4&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;  &amp;lt;!--Über uns--&amp;gt;&lt;br /&gt;
  &amp;lt;div id=&amp;quot;group_fold_5&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;  &amp;lt;!--Kontakt--&amp;gt;&lt;br /&gt;
  &amp;lt;div id=&amp;quot;group_fold_21&amp;quot;&amp;gt;&amp;lt;/div&amp;gt; &amp;lt;!--Blog--&amp;gt;&lt;br /&gt;
  &amp;lt;div id=&amp;quot;group_fold_15&amp;quot;&amp;gt;&amp;lt;/div&amp;gt; &amp;lt;!--Sitemap--&amp;gt;&lt;br /&gt;
  &amp;lt;div id=&amp;quot;group_fold_6&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;  &amp;lt;!--Home--&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
Möchte man nun Eigenschaften nur an einem bestimmten Teil der Navigation machen, so könnte man im CSS-File folgende Angabe machen:&lt;br /&gt;
&amp;lt;code&amp;gt;[css, N]&lt;br /&gt;
div#course_categories_menu div#group_fold_9 {&lt;br /&gt;
  text-decoration:blink;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
Damit würde der Text der Gruppe &amp;#039;&amp;#039;News&amp;#039;&amp;#039; (und eventueller Untergruppen) in der dynamischen Navigation blinken.&lt;br /&gt;
&lt;br /&gt;
Innerhalb der &amp;lt;tt&amp;gt;group_fold_NUMMER&amp;lt;/tt&amp;gt; - &amp;lt;tt&amp;gt;div&amp;lt;/tt&amp;gt; - Tags gibt es nun ein &amp;lt;tt&amp;gt;div&amp;lt;/tt&amp;gt; - Tag, dass (neben einer weiteren CSS-Id) eine CSS-Klasse hat. Diese CSS-Klasse wird nach folgendem Muster gebildet:&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;&amp;lt;tt&amp;gt;level_&amp;#039;&amp;#039;A&amp;#039;&amp;#039;_&amp;#039;&amp;#039;B&amp;#039;&amp;#039;_&amp;#039;&amp;#039;C&amp;#039;&amp;#039;_&amp;#039;&amp;#039;D&amp;#039;&amp;#039;_&amp;#039;&amp;#039;E&amp;#039;&amp;#039;&amp;lt;/tt&amp;gt;&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;dynpgwikitable&amp;quot;&lt;br /&gt;
! Buchstabe !! mögliche Werte !! Beschreibung&lt;br /&gt;
|-&lt;br /&gt;
|| &amp;lt;tt&amp;gt;&amp;#039;&amp;#039;A&amp;#039;&amp;#039;&amp;lt;/tt&amp;gt; || 0 oder 1 oder 2 etc. || gibt das Level der Gruppe an, also die Verzweigungstiefe in der sich die Navigation befindet&lt;br /&gt;
|-&lt;br /&gt;
|| &amp;lt;tt&amp;gt;&amp;#039;&amp;#039;B&amp;#039;&amp;#039;&amp;lt;/tt&amp;gt; || &amp;lt;tt&amp;gt;r&amp;lt;/tt&amp;gt; (nicht letzter), &amp;lt;tt&amp;gt;e&amp;lt;/tt&amp;gt; (letzter) || gibt an, ob nach dieser Gruppe noch weitere aufgelistet werden (z.B. in Musterwebsite 3 ist die Gruppe 6 &amp;quot;Home&amp;quot; die letzte des Menüs)&lt;br /&gt;
|-&lt;br /&gt;
|| &amp;lt;tt&amp;gt;&amp;#039;&amp;#039;C&amp;#039;&amp;#039;&amp;lt;/tt&amp;gt; ||  &amp;lt;tt&amp;gt;a&amp;lt;/tt&amp;gt; (ist aktiv), &amp;lt;tt&amp;gt;i&amp;lt;/tt&amp;gt; (ist nicht aktiv) || gibt an, ob die Gruppe aktiv ist, d.h. ob sie durch einen Klick ausgewählt wurde&lt;br /&gt;
|-&lt;br /&gt;
|| &amp;lt;tt&amp;gt;&amp;#039;&amp;#039;D&amp;#039;&amp;#039;&amp;lt;/tt&amp;gt; ||  &amp;lt;tt&amp;gt;exp&amp;lt;/tt&amp;gt; (ausgeklappt), cll(eingeklappt) || gibt an, ob die Untergruppen dieser Gruppe ausgeklappt sind oder nicht&lt;br /&gt;
|-&lt;br /&gt;
|| &amp;lt;tt&amp;gt;&amp;#039;&amp;#039;E&amp;#039;&amp;#039;&amp;lt;/tt&amp;gt; ||  &amp;lt;tt&amp;gt;_hover&amp;lt;/tt&amp;gt; (Mauszeiger ist über dem Element), nichts (Mauszeiger ist nicht über dem Element) || gibt an, ob sich der Mauszeiger über dem Gruppennamen befindet oder nicht&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Mithilfe dieses Schemas kann man nun bestimmen, welche CSS-Klassen man in der CSS-Datei angeben muss um bestimmte Effekte hervorzurufen.&lt;br /&gt;
Möchte man beispielsweise, dass alle Elemente der zweitobersten Ebene blinken, wenn der Mauszeiger über dem Element ist, so notiert man in der CSS-Datei:&lt;br /&gt;
&amp;lt;code&amp;gt;[css, N]&lt;br /&gt;
div#course_categories_menu div#level_1_r_a_exp_hover,&lt;br /&gt;
div#course_categories_menu div#level_1_r_a_cll_hover,&lt;br /&gt;
div#course_categories_menu div#level_1_r_i_exp_hover,&lt;br /&gt;
div#course_categories_menu div#level_1_r_i_cll_hover,&lt;br /&gt;
div#course_categories_menu div#level_1_e_a_exp_hover,&lt;br /&gt;
div#course_categories_menu div#level_1_e_a_cll_hover,&lt;br /&gt;
div#course_categories_menu div#level_1_e_i_exp_hover,&lt;br /&gt;
div#course_categories_menu div#level_1_e_i_cll_hover {&lt;br /&gt;
  text-decoration:blink;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Diese Struktur der &amp;lt;tt&amp;gt;div&amp;lt;/tt&amp;gt;-Tags wiederholt sich mit tieferen Gruppenebenen / Untergruppen. Zum Beispiel tauchen die &amp;lt;tt&amp;gt;div&amp;lt;/tt&amp;gt;-Tags der Untergruppen vom &amp;#039;&amp;#039;Über uns&amp;#039;&amp;#039;-Menüpunkt aus der Muster-Website 3 innerhalb des &amp;lt;tt&amp;gt;group_fold_4&amp;lt;/tt&amp;gt; - &amp;lt;tt&amp;gt;div&amp;lt;/tt&amp;gt; - Tags auf.&lt;br /&gt;
&lt;br /&gt;
Weitere Informationen über die CSS-Klassen kann man schnell erhalten, indem man sich den HTML-Code eines generierten dynamischen Menüs anschaut, zum Beispiel aus der Muster-Website 3.&lt;br /&gt;
&lt;br /&gt;
==Templates==&lt;br /&gt;
Diese Templates liegen im Ordner &amp;lt;tt&amp;gt;dynpg/plugins/DPGdynmenu/templates&amp;lt;/tt&amp;gt;. Hier finden sie Ordner, die jeweils eine &amp;lt;tt&amp;gt;menu.tpl&amp;lt;/tt&amp;gt; enthalten. Welcher dieser Ordner aktiv ist, bestimmen Sie durch das Global &amp;lt;tt&amp;gt;$GLOBALS[&amp;quot;DynPG&amp;quot;]-&amp;gt;SetParam_PlugIn_Template(&amp;#039;DPGdynmenu&amp;#039;, &amp;#039;TEMPLATEORDNER&amp;#039;);&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Die Templates dienen als Vorlage für die Generierung des HTML-Codes der dynamischen Navigation. In ihnen werden auch die CSS-Klassen definiert, welche in [[#CSS|CSS]] erklärt wurden. Außerdem finden hier Templateplatzhalter der Form &amp;lt;tt&amp;gt;&amp;lt;nowiki&amp;gt;{$PLATZHALTER}&amp;lt;/nowiki&amp;gt;&amp;lt;/tt&amp;gt; Verwendung, die DynPG dynamisch durch Inhalt ersetzt.&lt;br /&gt;
&lt;br /&gt;
Das Template &amp;#039;&amp;#039;horizontal&amp;#039;&amp;#039; der Musterwebsite 3 generiert beispielsweise ein horizontales Menü, während das Template &amp;#039;&amp;#039;intelligent&amp;#039;&amp;#039; ein vertikales Menü erzeugt.&lt;br /&gt;
&lt;br /&gt;
Modifikationen an den Templates sind recht komplex. Sollten Sie vorhaben hier Änderungen durchzuführen, wenden Sie sich an das DynPG-Forum.&lt;br /&gt;
&lt;br /&gt;
==Feste Links einbauen==&lt;br /&gt;
&lt;br /&gt;
Hierzu erstellt man im Backend eine Gruppe mit dem Namen des festen Links und merkt sich die Gruppennummer. Mittels des Plugin-Parameters &amp;lt;tt&amp;gt;&amp;#039;href_subpages&amp;#039;&amp;lt;/tt&amp;gt; setzt man für diese Gruppennummer nun als Ziel die Datei &amp;lt;tt&amp;gt;counter.php&amp;lt;/tt&amp;gt; fest und übergibt dieser als Parameter das feste Linkziel. Beispiel: Wir wollen einen Link auf die Google-Webseite setzen. Also erstellen wir im Backend eine Gruppe mit dem Namen &amp;#039;&amp;#039;Google-Websuche&amp;#039;&amp;#039; und notieren die Gruppennummer (z.B. 33). In die PHP-Datei unserer dynamischen Navigation fügen wir nun folgendes ein:&lt;br /&gt;
&amp;lt;code&amp;gt;[php, N]&lt;br /&gt;
$GLOBALS[&amp;quot;DynPG&amp;quot;]-&amp;gt;SetParam_PlugIn_Param(&lt;br /&gt;
  &amp;#039;DPGdynmenu&amp;#039;,&lt;br /&gt;
  &amp;#039;href_subpages&amp;#039;,&lt;br /&gt;
  Array(&lt;br /&gt;
	33 =&amp;gt; Array(&lt;br /&gt;
      &amp;#039;page&amp;#039; =&amp;gt; &amp;#039;counter.php?inc=http://www.google.com&amp;#039;,&lt;br /&gt;
      &amp;#039;successors&amp;#039; =&amp;gt; true&lt;br /&gt;
    )		&lt;br /&gt;
  )&lt;br /&gt;
);&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Mehrsprachiges Menü==&lt;br /&gt;
&lt;br /&gt;
Hierzu gibt es einen Thread in unserem Forum unter [http://www.dynpg.ch/dynpg-forum.php?t=&amp;amp;read_group=30&amp;amp;thread_id=47&amp;amp;tt=Sprachwechsel]. Die grundsätzliche Idee ist (bei zwei Sprachen) zwei Gruppenbäume im Backend aufzubauen. Die oberste Gruppe des ersten Baumes wäre beispielsweise die Gruppe &amp;#039;&amp;#039;Deutsch&amp;#039;&amp;#039;, die oberste Gruppe des zweiten Baumes wäre zum Beispiel &amp;#039;&amp;#039;English&amp;#039;&amp;#039;.&lt;br /&gt;
&lt;br /&gt;
In der zweiten Ebene kommen dann unter &amp;#039;&amp;#039;Deutsch&amp;#039;&amp;#039; bzw. &amp;#039;&amp;#039;English&amp;#039;&amp;#039; Untergruppen wie &amp;#039;&amp;#039;News&amp;#039;&amp;#039;/&amp;#039;&amp;#039;Nachrichten&amp;#039;&amp;#039;, &amp;#039;&amp;#039;Produkte&amp;#039;&amp;#039;/&amp;#039;&amp;#039;Products&amp;#039;&amp;#039;, &amp;#039;&amp;#039;Hilfe&amp;#039;&amp;#039;/&amp;#039;&amp;#039;Support&amp;#039;&amp;#039; und so weiter. Man erstellt sich nun zwei PHP-Dateien (&amp;lt;tt&amp;gt;navi_de.php&amp;lt;/tt&amp;gt;, &amp;lt;tt&amp;gt;navi_en.php&amp;lt;/tt&amp;gt;) wie oben beschrieben [[#Einrichten|Einrichten]]. In diesen wird dann mit den Befehlen aus [[#Globalsreferenz|Globalsreferenz]] der jeweils nicht passende Baum ausgeblendet.&lt;br /&gt;
&lt;br /&gt;
==Siehe auch==&lt;br /&gt;
*[[Sitemap-Tutorial]]&lt;br /&gt;
*[[Implementation eines kompletten Hauptmenüs]]&lt;br /&gt;
*[[Code-Schnipsel Einfaches Hauptmenü]]&lt;br /&gt;
*[[Code-Schnipsel Menüeinträge sortieren]]&lt;br /&gt;
*[[Snippet-Beispiele]]&lt;/div&gt;</summary>
		<author><name>Sebastian</name></author>	</entry>

	<entry>
		<id>https://wiki-en.dynpg.org/wiki_de/index.php?title=Dynamische_Navigation</id>
		<title>Dynamische Navigation</title>
		<link rel="alternate" type="text/html" href="https://wiki-en.dynpg.org/wiki_de/index.php?title=Dynamische_Navigation"/>
				<updated>2009-08-16T18:09:35Z</updated>
		
		<summary type="html">&lt;p&gt;Sebastian: /* Globals direkt für das Plugin */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Kategorie:Module]]&lt;br /&gt;
==Beschreibung==&lt;br /&gt;
Die dynamische Navigation ist Bestandteil des kostenlosen Grundmoduls von DynPG und bereits im Standard-DynPG integriert. Es ist keine separate Installation notwendig. Sie ermöglicht es Ihnen einfach und flexibel Navigationen auf Ihrer Homepage zu erstellen. Die Anwendungsmöglichkeiten gestalten sich dabei flexibel als normales Menü oder auch als Sitemap.&lt;br /&gt;
&lt;br /&gt;
Ein dynamisches Menü bildet die Gruppenstruktur im Backend als Menü ab, macht also die logische Struktur ihrer Artikel aus dem Backend auf einer Webseite sichtbar und navigierbar.&lt;br /&gt;
&lt;br /&gt;
Der Vorteil ist, dass man im Backend neue Gruppen o.ä. erstellt und diese dann im Hauptmenü erscheinen. Dies ist auch bei Untergruppen nützlich,&lt;br /&gt;
z.B. wenn eine neue Untergruppe &amp;#039;&amp;#039;Lokalnachrichten&amp;#039;&amp;#039; zur Hauptgruppe &amp;#039;&amp;#039;News&amp;#039;&amp;#039; hinzukommt.&lt;br /&gt;
&lt;br /&gt;
Zum Verständnis der Funktionsvielfalt der dynamischen Navigation ist es hilfreich, einmal eine der [[Muster-Web-Sites|Musterwebsites]] zu installieren und in den entsprechenden Dateien der Musterwebsite die unten erklärten Einstellungsmöglichkeiten nachzuvollziehen und vielleicht auch einmal mit den Optionen herumzuspielen.&lt;br /&gt;
&lt;br /&gt;
==Einrichten==&lt;br /&gt;
&amp;#039;&amp;#039;Anmerkung: Benutzen sie die [[Muster-Web-Sites|Musterwebsites]], so müssen die nachfolgenden zwei Schritte nicht ausgeführt werden, da die dynamische Navigation bereits in den Musterwebsites genutzt wird&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
===Schritt 1: Artikel erstellen mit Platzhalter für die dynamische Navigation===&lt;br /&gt;
Wählen Sie im Menü des Backends &amp;#039;&amp;#039;Gruppen&amp;#039;&amp;#039; aus [[Media:dynmenue01.png|Klick]]. Suchen Sie sich nun eine Gruppe, in der Sie einen Artikel erfassen wollen. Hier wählen wir (die in diesem Falle schon vorhandene) Gruppe &amp;#039;&amp;#039;Startseite/Navigation/Formular&amp;#039;&amp;#039; durch Klick auf ihren Namen aus [[Media:dynmenue02.png|Klick]].&lt;br /&gt;
&lt;br /&gt;
Mit einem Klick auf &amp;#039;&amp;#039;Artikel Formular anzeigen&amp;#039;&amp;#039; [[Media:dynmenue03.PNG|Klick]] und danach auf &amp;#039;&amp;#039;Inhalt bearbeiten&amp;#039;&amp;#039; [[Media:dynmenue04.PNG|Klick]] erscheint der Editor.&lt;br /&gt;
&lt;br /&gt;
In diesem wählen Sie das Symbol für die dynamische Navigation [[Media:dynmenue05.PNG|Klick]], geben noch einen Titel, etwa &amp;#039;&amp;#039;Neue Seitennavigation&amp;#039;&amp;#039;, ein und bestätigen mit einem Klick auf &amp;#039;&amp;#039;Erstellen&amp;#039;&amp;#039; [[Media:dynmenue06.PNG|Klick]]. &lt;br /&gt;
&lt;br /&gt;
Hat alles geklappt, können Sie im unteren Teil der Seite den neuen Artikel sehen [[Media:dynmenue07.PNG|Klick]]. Die Nummer des Artikels benötigen Sie erneut, wenn Sie in eine PHP-Datei mittels eines Globals die dynamische Navigation einbinden.&lt;br /&gt;
&lt;br /&gt;
===Schritt 2: PHP-Datei für die dynamische Navigation erstellen===&lt;br /&gt;
Folgende Ordner-Struktur könnte bei Ihnen vorliegen:&lt;br /&gt;
:*&amp;lt;tt&amp;gt;http-docs/dynpg&amp;lt;/tt&amp;gt; : hier liegt das DynPG-CMS&lt;br /&gt;
:*&amp;lt;tt&amp;gt;http-docs/index.php&amp;lt;/tt&amp;gt; : die Hauptseite Ihrer Website&lt;br /&gt;
:*&amp;lt;tt&amp;gt;http-docs/folgeseite.php&amp;lt;/tt&amp;gt; : eine andere PHP-Datei der Website&lt;br /&gt;
:*&amp;lt;tt&amp;gt;http-docs/inc/navi.php&amp;lt;/tt&amp;gt; : In diese Datei platziert man häufig den Code für die Navigation, dadurch ist er leichter wiederverwendbar&lt;br /&gt;
&lt;br /&gt;
Den nötigen Code der &amp;lt;tt&amp;gt;inc/navi.php&amp;lt;/tt&amp;gt; kann man anhand der [[Muster-Web-Sites|Musterwebsites]] nachvollziehen (Für eine genauere Erklärung der einzelnen verwendeten Globals siehe die [[Funktionsreferenz/Globals|Globals-Übersicht von DynPG]] und weiter unten die [[#Globalsreferenz|Funktionsübersicht der dynamischen Navigation]]) :&lt;br /&gt;
:*&amp;#039;&amp;#039;&amp;#039;&amp;lt;tt&amp;gt;inc/navi.php&amp;lt;/tt&amp;gt;:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;code&amp;gt;[php, N]&lt;br /&gt;
&amp;lt;?php&lt;br /&gt;
  $GLOBALS[&amp;quot;DynPG&amp;quot;]-&amp;gt;SetParam_PlugIn_Template(&amp;#039;DPGdynmenu&amp;#039;, &amp;#039;intelligent&amp;#039;);&lt;br /&gt;
  $GLOBALS[&amp;quot;DynPG&amp;quot;]-&amp;gt;SetParam_PlugIn_Param(&amp;#039;DPGdynmenu&amp;#039;, &amp;#039;real_expand&amp;#039;, TRUE);&lt;br /&gt;
  $GLOBALS[&amp;quot;DynPG&amp;quot;]-&amp;gt;SetParam_PlugIn_Param(&amp;#039;DPGdynmenu&amp;#039;, &amp;#039;order&amp;#039;, Array(&amp;#039;INDEX&amp;#039;));&lt;br /&gt;
  $GLOBALS[&amp;quot;DynPG&amp;quot;]-&amp;gt;SetParam_PlugIn_Param(&amp;#039;DPGdynmenu&amp;#039;, &amp;#039;sort&amp;#039;, Array(&amp;#039;ASC&amp;#039;));&lt;br /&gt;
  $GLOBALS[&amp;quot;DynPG&amp;quot;]-&amp;gt;SetParam_PlugIn_Param(&amp;#039;DPGdynmenu&amp;#039;, &amp;#039;href_page_groups&amp;#039;, &amp;#039;../folgeseite.php&amp;#039;);&lt;br /&gt;
  $GLOBALS[&amp;quot;DynPG&amp;quot;]-&amp;gt;SetParam_PlugIn_Param(&amp;#039;DPGdynmenu&amp;#039;, &amp;#039;href_page_articles&amp;#039;, &amp;#039;../folgeseite.php&amp;#039;);&lt;br /&gt;
  $GLOBALS[&amp;quot;DynPG&amp;quot;]-&amp;gt;SetParam_PlugIn_Param(&amp;#039;DPGdynmenu&amp;#039;, &amp;#039;href_page_detail&amp;#039;, &amp;#039;../folgeseite.php&amp;#039;);&lt;br /&gt;
  $GLOBALS[&amp;quot;DynPG&amp;quot;]-&amp;gt;SetParam_PlugIn_Param(&lt;br /&gt;
    &amp;#039;DPGdynmenu&amp;#039;,&lt;br /&gt;
    &amp;#039;href_subpages&amp;#039;,&lt;br /&gt;
    Array(&lt;br /&gt;
      0 =&amp;gt; Array(&lt;br /&gt;
        &amp;#039;page&amp;#039; =&amp;gt; &amp;#039;../formular.php{query}&amp;#039;,&lt;br /&gt;
        &amp;#039;successors&amp;#039; =&amp;gt; true&lt;br /&gt;
      ),&lt;br /&gt;
      21 =&amp;gt; Array(&lt;br /&gt;
        &amp;#039;page&amp;#039; =&amp;gt; &amp;#039;../blog.php{query}&amp;#039;,&lt;br /&gt;
        &amp;#039;successors&amp;#039; =&amp;gt; true&lt;br /&gt;
      ),&lt;br /&gt;
      15 =&amp;gt; Array(&lt;br /&gt;
        &amp;#039;page&amp;#039; =&amp;gt; &amp;#039;../sitemap.php{query}&amp;#039;,&lt;br /&gt;
        &amp;#039;successors&amp;#039; =&amp;gt; true&lt;br /&gt;
      ),&lt;br /&gt;
      16 =&amp;gt; Array(&lt;br /&gt;
        &amp;#039;page&amp;#039; =&amp;gt; &amp;#039;../veranstaltungen.php{query}&amp;#039;,&lt;br /&gt;
        &amp;#039;successors&amp;#039; =&amp;gt; true&lt;br /&gt;
      ),&lt;br /&gt;
      21 =&amp;gt; Array(&lt;br /&gt;
        &amp;#039;page&amp;#039; =&amp;gt; &amp;#039;../blog.php{query}&amp;#039;,&lt;br /&gt;
        &amp;#039;successors&amp;#039; =&amp;gt; true&lt;br /&gt;
      ),&lt;br /&gt;
      6 =&amp;gt; Array(&lt;br /&gt;
        &amp;#039;page&amp;#039; =&amp;gt; &amp;#039;../index.php{query}&amp;#039;,&lt;br /&gt;
        &amp;#039;successors&amp;#039; =&amp;gt; true&lt;br /&gt;
      )&lt;br /&gt;
    )&lt;br /&gt;
  );    &lt;br /&gt;
  $GLOBALS[&amp;quot;DynPG&amp;quot;]-&amp;gt;SetupTemplate(&amp;#039;uneditable&amp;#039;); &lt;br /&gt;
  $GLOBALS[&amp;quot;DynPG&amp;quot;]-&amp;gt;SetParam_A_Anytime(TRUE);&lt;br /&gt;
  $GLOBALS[&amp;quot;DynPG&amp;quot;]-&amp;gt;SetParam_A_CategoryNavigation(FALSE);&lt;br /&gt;
  $GLOBALS[&amp;quot;DynPG&amp;quot;]-&amp;gt;SetParam_A_PrintNavigation(FALSE);&lt;br /&gt;
  $GLOBALS[&amp;quot;DynPG&amp;quot;]-&amp;gt;SetParam_A_ArticleHeader(FALSE);&lt;br /&gt;
  $GLOBALS[&amp;quot;DynPG&amp;quot;]-&amp;gt;SetParam_A_Article(1);&lt;br /&gt;
&lt;br /&gt;
  $GLOBALS[&amp;quot;DynPG&amp;quot;]-&amp;gt;Write_Article();&lt;br /&gt;
  $GLOBALS[&amp;quot;DynPG&amp;quot;]-&amp;gt;SetupTemplate(&amp;#039;default&amp;#039;);  &lt;br /&gt;
?&amp;gt;&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Man kann nun in der &amp;lt;tt&amp;gt;index.php&amp;lt;/tt&amp;gt; mittels &lt;br /&gt;
&amp;lt;code&amp;gt;[php, N]&lt;br /&gt;
&amp;lt;?php include(&amp;quot;inc/navi.php&amp;quot;); ?&amp;gt;&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
die Navigation einbinden, ebenso z.B. auch in der &amp;lt;tt&amp;gt;folgeseite.php&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Die dynamische Navigation kann nun an verschiedenen Stellen angepasst werden. Neben den Globals in der PHP-Datei ([[#Globalsreferenz|Globalsreferenz]]) ist dies im Backend durch das Erstellen von Gruppen und Artikeln möglich ([[#Dynamische_Navigation_im_Backend|Dynamische Navigation im Backend]]). Erweiterte Möglichkeiten ergeben sich durch das [[#CSS|CSS]] und die [[#Templates|Templates]].&lt;br /&gt;
&lt;br /&gt;
==Die dynamische Navigation im Backend==&lt;br /&gt;
&lt;br /&gt;
Wie bereits erwähnt, bildet die dynamische Navigation die Gruppenstruktur des Backends auf einer Webseite ab. In der Musterwebsite 3 ist im Backend zum Beispiel folgende Gruppenstruktur zu erkennen:&lt;br /&gt;
[[Media:dynmenue08.PNG|Klick]].&lt;br /&gt;
Auf der Website sieht dies dann wie folgt aus:&lt;br /&gt;
[[Media:dynmenue09.PNG|Klick]]&lt;br /&gt;
oder auch&lt;br /&gt;
[[Media:dynmenue10.PNG|Klick]]&lt;br /&gt;
.&lt;br /&gt;
&lt;br /&gt;
Welche Untergruppen angezeigt werden, hängt zum einen davon ab, welcher Navigationspunkt gerade aktiv ist (also angeklickt wurde) und zum anderen von den benutzten Globals in der PHP-Datei ([[#Globalsreferenz|z.B. Parameter &amp;#039;full_load&amp;#039;]]) und den Einstellungen der Gruppe im Backend. &lt;br /&gt;
&lt;br /&gt;
In diesen Einstellungen kann man z.B. auch bestimmen, dass eine bestimmte Gruppe nicht im Menü der Website sichtbar ist (so zum Beispiel die Gruppe &amp;quot;Diverses&amp;quot; aus der Musterwebsite 3). Die Eigenschaftenseite der Gruppe erreicht man über einen Klick auf:&lt;br /&gt;
[[Media:dynmenue11.PNG|Klick]]&lt;br /&gt;
. Unter dem Punkt &amp;#039;&amp;#039;Veröffentlichen&amp;#039;&amp;#039;&lt;br /&gt;
[[Media:dynmenue12.PNG|Klick]])&lt;br /&gt;
wählt man nun die Option &amp;#039;&amp;#039;Nein&amp;#039;&amp;#039; aus. &lt;br /&gt;
&lt;br /&gt;
Die Option &amp;#039;&amp;#039;Ja&amp;#039;&amp;#039; führt dazu, dass auf der Website der Navigationspunkt &amp;#039;&amp;#039;Diverses&amp;#039;&amp;#039; erscheint&lt;br /&gt;
[[Media:dynmenue14.PNG|Klick]]&lt;br /&gt;
. Ist der Punkt &amp;#039;&amp;#039;Diverses&amp;#039;&amp;#039; ausgewählt, erscheinen auch die Untergruppen&lt;br /&gt;
[[Media:dynmenue13.PNG|Klick]]&lt;br /&gt;
.&lt;br /&gt;
&lt;br /&gt;
==Globalsreferenz==&lt;br /&gt;
===Globals direkt für das Plugin===&lt;br /&gt;
&amp;#039;&amp;#039;Die Parameter haben Default-Werte, müssen also nicht immer gesetzt werden&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
*&amp;#039;&amp;#039;&amp;#039;&amp;lt;tt&amp;gt;$GLOBALS[&amp;quot;DynPG&amp;quot;]-&amp;gt;SetParam_PlugIn_Template(&amp;#039;DPGdynmenu&amp;#039;, &amp;#039;TEMPLATEORDNER&amp;#039;);&amp;lt;/tt&amp;gt;:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
:Hiermit wählt man den Template-Ordner für die dynamische Navigation aus. Diese Template-Ordner liegen in &amp;lt;tt&amp;gt;dynpg/plugins/DPGdynmenu/templates&amp;lt;/tt&amp;gt;. Aus diesem Ordner wird die Template-Datei &amp;lt;tt&amp;gt;menu.tpl&amp;lt;/tt&amp;gt; zur Generierung des Menüs genommen. Dies ist unabhängig vom Global &amp;lt;tt&amp;gt;$GLOBALS[&amp;quot;DynPG&amp;quot;]-&amp;gt;SetupTemplate(...);&amp;lt;/tt&amp;gt;, der sozusagen das Template des Artikels bestimmt, welcher die dynamische Navigation enthält.&lt;br /&gt;
&lt;br /&gt;
*&amp;#039;&amp;#039;&amp;#039;&amp;lt;tt&amp;gt;$GLOBALS[&amp;quot;DynPG&amp;quot;]-&amp;gt;SetParam_PlugIn_Param(&amp;#039;DPGdynmenu&amp;#039;, PARAMETERNAME, PARAMETERWERT);&amp;lt;/tt&amp;gt;&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
:{| class=&amp;quot;dynpgwikitable&amp;quot;&lt;br /&gt;
! &amp;lt;tt&amp;gt;PARAMETERNAME&amp;lt;/tt&amp;gt; !! &amp;lt;tt&amp;gt;PARAMETERWERT&amp;lt;/tt&amp;gt; !! Beschreibung&lt;br /&gt;
|-&lt;br /&gt;
||&amp;lt;tt&amp;gt;&amp;#039;order&amp;#039;&amp;lt;/tt&amp;gt; || &amp;lt;tt&amp;gt;Array(&amp;#039;INDEX&amp;#039;)&amp;lt;/tt&amp;gt; oder &amp;lt;tt&amp;gt;Array(&amp;#039;NAME&amp;#039;)&amp;lt;/tt&amp;gt; || Reihenfolge der Gruppen in der Navigation nach Name oder im Backend gesetzten Index&lt;br /&gt;
|-&lt;br /&gt;
||&amp;lt;tt&amp;gt;&amp;#039;sort&amp;#039;&amp;lt;/tt&amp;gt; || &amp;lt;tt&amp;gt;Array(&amp;#039;ASC&amp;#039;)&amp;lt;/tt&amp;gt; oder &amp;lt;tt&amp;gt;Array(&amp;#039;DESC&amp;#039;)&amp;lt;/tt&amp;gt; || aufsteigende oder absteigende Sortierung&lt;br /&gt;
|-&lt;br /&gt;
||&amp;lt;tt&amp;gt;&amp;#039;order_articles&amp;#039;&amp;lt;/tt&amp;gt; || z.B. &amp;lt;tt&amp;gt;Array(&amp;#039;INDEX&amp;#039;)&amp;lt;/tt&amp;gt; || sortiert Artikel in der dynamischen Navigation (falls diese angezeigt werden) &lt;br /&gt;
|-&lt;br /&gt;
||&amp;lt;tt&amp;gt;&amp;#039;sort_articles&amp;#039;&amp;lt;/tt&amp;gt; || z.B. &amp;lt;tt&amp;gt;Array(&amp;#039;ASC&amp;#039;)&amp;lt;/tt&amp;gt; || bestimmt aufsteigende oder absteigende Sortierreihenfolge der Artikel&lt;br /&gt;
|-&lt;br /&gt;
||&amp;lt;tt&amp;gt;&amp;#039;href_page_groups&amp;#039;&amp;lt;/tt&amp;gt; || z.B. &amp;lt;tt&amp;gt;&amp;#039;../folgeseite.php&amp;#039;&amp;lt;/tt&amp;gt; || Seite auf die weiterverlinkt wird bei einem Klick auf den Gruppennamen (ACHTUNG &amp;lt;tt&amp;gt;&amp;#039;../&amp;#039;&amp;lt;/tt&amp;gt; wichtig, siehe Ordnerstruktur weiter oben!)&lt;br /&gt;
|-&lt;br /&gt;
||&amp;lt;tt&amp;gt;&amp;#039;href_page_articles&amp;#039;&amp;lt;/tt&amp;gt; || z.B. &amp;lt;tt&amp;gt;&amp;#039;../folgeseite.php&amp;#039;&amp;lt;/tt&amp;gt; ||&lt;br /&gt;
|-&lt;br /&gt;
||&amp;lt;tt&amp;gt;&amp;#039;href_page_detail&amp;#039;&amp;lt;/tt&amp;gt; || z.B. &amp;lt;tt&amp;gt;&amp;#039;../folgeseite.php&amp;#039;&amp;lt;/tt&amp;gt; || Seite auf die weiterverlinkt wird bei einem Klick auf Artikelnamen in dynamischer Navigation (sofern Artikel angezeigt werden)&lt;br /&gt;
|-&lt;br /&gt;
||&amp;lt;tt&amp;gt;&amp;#039;href_subpages&amp;#039;&amp;lt;/tt&amp;gt; || z.B. &amp;lt;pre&amp;gt;Array(&lt;br /&gt;
  GRUPPENNUMMER =&amp;gt; Array( &lt;br /&gt;
    &amp;#039;page&amp;#039; =&amp;gt; &amp;#039;PHP-SEITE{query}&amp;#039;,&lt;br /&gt;
    &amp;#039;successors&amp;#039; =&amp;gt; true&lt;br /&gt;
  ),&lt;br /&gt;
...&lt;br /&gt;
...&lt;br /&gt;
...&lt;br /&gt;
  GRUPPENNUMMER =&amp;gt; Array( &lt;br /&gt;
    &amp;#039;page&amp;#039; =&amp;gt; &amp;#039;PHP-SEITE&amp;#039;,&lt;br /&gt;
    &amp;#039;successors&amp;#039; =&amp;gt; true&lt;br /&gt;
  ) &lt;br /&gt;
)&amp;lt;/pre&amp;gt; || Ermöglicht für bestimmte Gruppen auf eine andere &amp;lt;tt&amp;gt;PHP-SEITE&amp;lt;/tt&amp;gt; zu verlinken&lt;br /&gt;
|-&lt;br /&gt;
||&amp;lt;tt&amp;gt;&amp;#039;full_load&amp;#039;&amp;lt;/tt&amp;gt; || &amp;lt;tt&amp;gt;false&amp;lt;/tt&amp;gt; oder &amp;lt;tt&amp;gt;true&amp;lt;/tt&amp;gt; || zeigt unabhängig von angeklickten Gruppen den kompletten Navigationsbaum mit Untergruppen an (oder auch nicht)&lt;br /&gt;
|-&lt;br /&gt;
|| &amp;lt;tt&amp;gt;&amp;#039;full_load_articles&amp;#039;&amp;lt;/tt&amp;gt; || &amp;lt;tt&amp;gt;false&amp;lt;/tt&amp;gt; ||&lt;br /&gt;
|-&lt;br /&gt;
|| &amp;lt;tt&amp;gt;&amp;#039;limit_articles&amp;#039;&amp;lt;/tt&amp;gt; || &amp;lt;tt&amp;gt;false&amp;lt;/tt&amp;gt; ||&lt;br /&gt;
|-&lt;br /&gt;
|| &amp;lt;tt&amp;gt;&amp;#039;expand_subtree&amp;#039;&amp;lt;/tt&amp;gt; || &amp;lt;tt&amp;gt;Array(4)&amp;lt;/tt&amp;gt; oder &amp;lt;tt&amp;gt;Array(4,5)&amp;lt;/tt&amp;gt; etc. || zeigt die Untergruppen von Gruppe 4 (bzw. 4 und 5) in jedem Fall an. Sei Gruppe 4 bspw. die Gruppe &amp;#039;&amp;#039;News&amp;#039;&amp;#039; des Backends, dann werden die beispielhaften Untergruppen &amp;#039;&amp;#039;Lokalnachrichten&amp;#039;&amp;#039; und &amp;#039;&amp;#039;Weltnachrichten&amp;#039;&amp;#039; immer zur Navigation angeboten, auch wenn sich ein Benutzer auf der Website gerade einen Artikel aus der Gruppe &amp;#039;&amp;#039;Kontakt&amp;#039;&amp;#039; anschaut&lt;br /&gt;
|- &lt;br /&gt;
|| &amp;lt;tt&amp;gt;&amp;#039;implode_subtree&amp;#039;&amp;lt;/tt&amp;gt; || &amp;lt;tt&amp;gt;Array(4)&amp;lt;/tt&amp;gt; oder &amp;lt;tt&amp;gt;Array(4,5)&amp;lt;/tt&amp;gt; etc. || zeigt die Untergruppen von Gruppe 4 (bzw. 4 und 5) in jedem Fall NICHT an. Anmerkung: der Parameter &amp;lt;tt&amp;gt;expand_subtree&amp;lt;/tt&amp;gt; überschreibt diese Einstellung! Ist also eine Gruppe in beiden Parametern aufgeführt, so werden die Untergruppen dieser Gruppe immer angezeigt, da der Parameter &amp;lt;tt&amp;gt;expand_subtree&amp;lt;/tt&amp;gt; wichtiger ist.&lt;br /&gt;
|-&lt;br /&gt;
|| &amp;lt;tt&amp;gt;&amp;#039;real_expand&amp;#039;&amp;lt;/tt&amp;gt; || &amp;lt;tt&amp;gt;false&amp;lt;/tt&amp;gt; ||&lt;br /&gt;
|-&lt;br /&gt;
|| &amp;lt;tt&amp;gt;&amp;#039;speed_mode&amp;#039;&amp;lt;/tt&amp;gt; || &amp;lt;tt&amp;gt;false&amp;lt;/tt&amp;gt; ||&lt;br /&gt;
|-&lt;br /&gt;
|| &amp;lt;tt&amp;gt;&amp;#039;parent_select&amp;#039;&amp;lt;/tt&amp;gt; || &amp;lt;tt&amp;gt;true&amp;lt;/tt&amp;gt; ||&lt;br /&gt;
|-&lt;br /&gt;
|| &amp;lt;tt&amp;gt;&amp;#039;max_depth&amp;#039;&amp;lt;/tt&amp;gt; || &amp;lt;tt&amp;gt;null&amp;lt;/tt&amp;gt; oder &amp;lt;tt&amp;gt;0&amp;lt;/tt&amp;gt; oder &amp;lt;tt&amp;gt;1&amp;lt;/tt&amp;gt; etc. || Tiefe bis zu der (Unter-)Gruppen angezeigt werden&lt;br /&gt;
|-&lt;br /&gt;
|| &amp;lt;tt&amp;gt;&amp;#039;min_depth&amp;#039;&amp;lt;/tt&amp;gt; || &amp;lt;tt&amp;gt;null&amp;lt;/tt&amp;gt; oder &amp;lt;tt&amp;gt;0&amp;lt;/tt&amp;gt; oder &amp;lt;tt&amp;gt;1&amp;lt;/tt&amp;gt; etc. || Tiefe, die eine Gruppe mindestens haben muss um angezeigt zu werden, z.B. 1 um oberste Ebene der Gruppen aus dem Backend auszublenden&lt;br /&gt;
|-&lt;br /&gt;
|| &amp;lt;tt&amp;gt;&amp;#039;fetch_only&amp;#039;&amp;lt;/tt&amp;gt; || &amp;lt;tt&amp;gt;null&amp;lt;/tt&amp;gt; ||&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Sinnvolle Globals vom DynPG-CMS===&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;tt&amp;gt;$GLOBALS[&amp;quot;DynPG&amp;quot;]-&amp;gt;SetupTemplate(&amp;#039;uneditable&amp;#039;);&amp;lt;/tt&amp;gt; : ermöglicht Navigation in der Seite obwohl Editiermodus im Backend angeschaltet ist&lt;br /&gt;
*&amp;lt;tt&amp;gt;$GLOBALS[&amp;quot;DynPG&amp;quot;]-&amp;gt;SetParam_A_Anytime(TRUE);&amp;lt;/tt&amp;gt; : Menü soll immer angezeigt werden&lt;br /&gt;
*&amp;lt;tt&amp;gt;$GLOBALS[&amp;quot;DynPG&amp;quot;]-&amp;gt;SetParam_A_CategoryNavigation(FALSE);&amp;lt;/tt&amp;gt; : keine weitere Navigation(Breadcrumb) anzeigen&lt;br /&gt;
*&amp;lt;tt&amp;gt;$GLOBALS[&amp;quot;DynPG&amp;quot;]-&amp;gt;SetParam_A_PrintNavigation(FALSE);&amp;lt;/tt&amp;gt; : kein Link zu Print-Seite anzeigen&lt;br /&gt;
*&amp;lt;tt&amp;gt;$GLOBALS[&amp;quot;DynPG&amp;quot;]-&amp;gt;SetParam_A_ArticleHeader(FALSE);&amp;lt;/tt&amp;gt; : keine Artikelüberschrift (des Artikels mit dem DynMenü-Platzhalter) und kein Artikelleadtext anzeigen&lt;br /&gt;
*&amp;lt;tt&amp;gt;$GLOBALS[&amp;quot;DynPG&amp;quot;]-&amp;gt;SetParam_A_Article(1);&amp;lt;/tt&amp;gt; : Artikel mit dem Dynmenü-Platzhalter setzen (&amp;#039;&amp;#039;&amp;#039;Hier die Artikelnummer aus [[#Einrichten|Einrichten]] einfügen!&amp;#039;&amp;#039;&amp;#039;)&lt;br /&gt;
*&amp;lt;tt&amp;gt;$GLOBALS[&amp;quot;DynPG&amp;quot;]-&amp;gt;Write_Article();&amp;lt;/tt&amp;gt; : Artikel ausgeben&lt;br /&gt;
*&amp;lt;tt&amp;gt;$GLOBALS[&amp;quot;DynPG&amp;quot;]-&amp;gt;SetupTemplate(&amp;#039;default&amp;#039;);&amp;lt;/tt&amp;gt; : andere Teile der Website haben sicherlich andere Templates. Wir setzen daher hier wieder auf das Standard-Template zurück&lt;br /&gt;
&lt;br /&gt;
===CSS===&lt;br /&gt;
Die CSS-Dateien für die dynamische Navigation liegen im Verzeichnis &amp;lt;tt&amp;gt;dynpg/plugins/DPGdynmenu/styles&amp;lt;/tt&amp;gt;. Die Datei &amp;lt;tt&amp;gt;menu.css&amp;lt;/tt&amp;gt; ist hierbei meist die ausschlaggebende, so zum Beispiel in der Navigation der Musterwebsite 3.&lt;br /&gt;
&lt;br /&gt;
Die CSS-Klassen und -Bezeichner aus dieser Datei sind nach einem bestimmten Schema benannt. Hat man dieses einmal verstanden, so lassen sich leicht Änderungen an speziellen Teilen des Erscheinungsbildes der dynamischen Navigation durchführen.&lt;br /&gt;
&lt;br /&gt;
Die dynamische Navigation wird von einem &amp;lt;tt&amp;gt;div&amp;lt;/tt&amp;gt;-Tag mit der Id &amp;lt;tt&amp;gt;course_categories_menu&amp;lt;/tt&amp;gt; umschlossen.&lt;br /&gt;
&lt;br /&gt;
Diese Angaben gelten also grundsätzlich für die gesamte dynamische Navigation und werden gegebenenfalls weitervererbt.&lt;br /&gt;
Im &amp;lt;tt&amp;gt;menu.css&amp;lt;/tt&amp;gt; der Muster-Website 3 steht beispielsweise:&lt;br /&gt;
&amp;lt;code&amp;gt;[css, N]&lt;br /&gt;
div#course_categories_menu {&lt;br /&gt;
  margin: 0;&lt;br /&gt;
  padding: 0;&lt;br /&gt;
  width: 180px;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Um zu verhindern, dass die CSS-Angaben dieser Datei auch auf andere Teile der Website Einfluss haben, ist vor allen anderen CSS-Definitionen der Datei ebenfalls &amp;lt;tt&amp;gt;div#course_categories_menu&amp;lt;/tt&amp;gt; notiert. Dadurch wirken sich die Angaben nur auf die dynamische Navigation aus.&lt;br /&gt;
&lt;br /&gt;
Innerhalb des &amp;lt;tt&amp;gt;course_categories_menu&amp;lt;/tt&amp;gt; - &amp;lt;tt&amp;gt;div&amp;lt;/tt&amp;gt; - Tags gibt es für jede Gruppe der obersten angezeigten Gruppenebene ein &amp;lt;div&amp;gt;-Tag mit der CSS-Id &amp;lt;tt&amp;gt;group_fold_NUMMER&amp;lt;/tt&amp;gt; wobei &amp;lt;tt&amp;gt;NUMMER&amp;lt;/tt&amp;gt; der Gruppennummer der Gruppe aus dem Backend entspricht. In der Navigation der Muster-Website 3 gibt es also folgende Tags:&lt;br /&gt;
&amp;lt;code&amp;gt;[html, N]&lt;br /&gt;
&amp;lt;div id=&amp;quot;course_categories_menu&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;div id=&amp;quot;group_fold_2&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;  &amp;lt;!--Produkte--&amp;gt;&lt;br /&gt;
  &amp;lt;div id=&amp;quot;group_fold_3&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;  &amp;lt;!--Support--&amp;gt;&lt;br /&gt;
  &amp;lt;div id=&amp;quot;group_fold_9&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;  &amp;lt;!--News--&amp;gt;&lt;br /&gt;
  &amp;lt;div id=&amp;quot;group_fold_4&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;  &amp;lt;!--Über uns--&amp;gt;&lt;br /&gt;
  &amp;lt;div id=&amp;quot;group_fold_5&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;  &amp;lt;!--Kontakt--&amp;gt;&lt;br /&gt;
  &amp;lt;div id=&amp;quot;group_fold_21&amp;quot;&amp;gt;&amp;lt;/div&amp;gt; &amp;lt;!--Blog--&amp;gt;&lt;br /&gt;
  &amp;lt;div id=&amp;quot;group_fold_15&amp;quot;&amp;gt;&amp;lt;/div&amp;gt; &amp;lt;!--Sitemap--&amp;gt;&lt;br /&gt;
  &amp;lt;div id=&amp;quot;group_fold_6&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;  &amp;lt;!--Home--&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
Möchte man nun Eigenschaften nur an einem bestimmten Teil der Navigation machen, so könnte man im CSS-File folgende Angabe machen:&lt;br /&gt;
&amp;lt;code&amp;gt;[css, N]&lt;br /&gt;
div#course_categories_menu div#group_fold_9 {&lt;br /&gt;
  text-decoration:blink;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
Damit würde der Text der Gruppe &amp;#039;&amp;#039;News&amp;#039;&amp;#039; (und eventueller Untergruppen) in der dynamischen Navigation blinken.&lt;br /&gt;
&lt;br /&gt;
Innerhalb der &amp;lt;tt&amp;gt;group_fold_NUMMER&amp;lt;/tt&amp;gt; - &amp;lt;tt&amp;gt;div&amp;lt;/tt&amp;gt; - Tags gibt es nun ein &amp;lt;tt&amp;gt;div&amp;lt;/tt&amp;gt; - Tag, dass (neben einer weiteren CSS-Id) eine CSS-Klasse hat. Diese CSS-Klasse wird nach folgendem Muster gebildet:&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;&amp;lt;tt&amp;gt;level_&amp;#039;&amp;#039;A&amp;#039;&amp;#039;_&amp;#039;&amp;#039;B&amp;#039;&amp;#039;_&amp;#039;&amp;#039;C&amp;#039;&amp;#039;_&amp;#039;&amp;#039;D&amp;#039;&amp;#039;_&amp;#039;&amp;#039;E&amp;#039;&amp;#039;&amp;lt;/tt&amp;gt;&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;dynpgwikitable&amp;quot;&lt;br /&gt;
! Buchstabe !! mögliche Werte !! Beschreibung&lt;br /&gt;
|-&lt;br /&gt;
|| &amp;lt;tt&amp;gt;&amp;#039;&amp;#039;A&amp;#039;&amp;#039;&amp;lt;/tt&amp;gt; || 0 oder 1 oder 2 etc. || gibt das Level der Gruppe an, also die Verzweigungstiefe in der sich die Navigation befindet&lt;br /&gt;
|-&lt;br /&gt;
|| &amp;lt;tt&amp;gt;&amp;#039;&amp;#039;B&amp;#039;&amp;#039;&amp;lt;/tt&amp;gt; || &amp;lt;tt&amp;gt;r&amp;lt;/tt&amp;gt; (nicht letzter), &amp;lt;tt&amp;gt;e&amp;lt;/tt&amp;gt; (letzter) || gibt an, ob nach dieser Gruppe noch weitere aufgelistet werden (z.B. in Musterwebsite 3 ist die Gruppe 6 &amp;quot;Home&amp;quot; die letzte des Menüs)&lt;br /&gt;
|-&lt;br /&gt;
|| &amp;lt;tt&amp;gt;&amp;#039;&amp;#039;C&amp;#039;&amp;#039;&amp;lt;/tt&amp;gt; ||  &amp;lt;tt&amp;gt;a&amp;lt;/tt&amp;gt; (ist aktiv), &amp;lt;tt&amp;gt;i&amp;lt;/tt&amp;gt; (ist nicht aktiv) || gibt an, ob die Gruppe aktiv ist, d.h. ob sie durch einen Klick ausgewählt wurde&lt;br /&gt;
|-&lt;br /&gt;
|| &amp;lt;tt&amp;gt;&amp;#039;&amp;#039;D&amp;#039;&amp;#039;&amp;lt;/tt&amp;gt; ||  &amp;lt;tt&amp;gt;exp&amp;lt;/tt&amp;gt; (ausgeklappt), cll(eingeklappt) || gibt an, ob die Untergruppen dieser Gruppe ausgeklappt sind oder nicht&lt;br /&gt;
|-&lt;br /&gt;
|| &amp;lt;tt&amp;gt;&amp;#039;&amp;#039;E&amp;#039;&amp;#039;&amp;lt;/tt&amp;gt; ||  &amp;lt;tt&amp;gt;_hover&amp;lt;/tt&amp;gt; (Mauszeiger ist über dem Element), nichts (Mauszeiger ist nicht über dem Element) || gibt an, ob sich der Mauszeiger über dem Gruppennamen befindet oder nicht&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Mithilfe dieses Schemas kann man nun bestimmen, welche CSS-Klassen man in der CSS-Datei angeben muss um bestimmte Effekte hervorzurufen.&lt;br /&gt;
Möchte man beispielsweise, dass alle Elemente der zweitobersten Ebene blinken, wenn der Mauszeiger über dem Element ist, so notiert man in der CSS-Datei:&lt;br /&gt;
&amp;lt;code&amp;gt;[css, N]&lt;br /&gt;
div#course_categories_menu div#level_1_r_a_exp_hover,&lt;br /&gt;
div#course_categories_menu div#level_1_r_a_cll_hover,&lt;br /&gt;
div#course_categories_menu div#level_1_r_i_exp_hover,&lt;br /&gt;
div#course_categories_menu div#level_1_r_i_cll_hover,&lt;br /&gt;
div#course_categories_menu div#level_1_e_a_exp_hover,&lt;br /&gt;
div#course_categories_menu div#level_1_e_a_cll_hover,&lt;br /&gt;
div#course_categories_menu div#level_1_e_i_exp_hover,&lt;br /&gt;
div#course_categories_menu div#level_1_e_i_cll_hover {&lt;br /&gt;
  text-decoration:blink;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Diese Struktur der &amp;lt;tt&amp;gt;div&amp;lt;/tt&amp;gt;-Tags wiederholt sich mit tieferen Gruppenebenen / Untergruppen. Zum Beispiel tauchen die &amp;lt;tt&amp;gt;div&amp;lt;/tt&amp;gt;-Tags der Untergruppen vom &amp;#039;&amp;#039;Über uns&amp;#039;&amp;#039;-Menüpunkt aus der Muster-Website 3 innerhalb des &amp;lt;tt&amp;gt;group_fold_4&amp;lt;/tt&amp;gt; - &amp;lt;tt&amp;gt;div&amp;lt;/tt&amp;gt; - Tags auf.&lt;br /&gt;
&lt;br /&gt;
Weitere Informationen über die CSS-Klassen kann man schnell erhalten, indem man sich den HTML-Code eines generierten dynamischen Menüs anschaut, zum Beispiel aus der Muster-Website 3.&lt;br /&gt;
&lt;br /&gt;
==Templates==&lt;br /&gt;
Diese Templates liegen im Ordner &amp;lt;tt&amp;gt;dynpg/plugins/DPGdynmenu/templates&amp;lt;/tt&amp;gt;. Hier finden sie Ordner, die jeweils eine &amp;lt;tt&amp;gt;menu.tpl&amp;lt;/tt&amp;gt; enthalten. Welcher dieser Ordner aktiv ist, bestimmen Sie durch das Global &amp;lt;tt&amp;gt;$GLOBALS[&amp;quot;DynPG&amp;quot;]-&amp;gt;SetParam_PlugIn_Template(&amp;#039;DPGdynmenu&amp;#039;, &amp;#039;TEMPLATEORDNER&amp;#039;);&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Die Templates dienen als Vorlage für die Generierung des HTML-Codes der dynamischen Navigation. In ihnen werden auch die CSS-Klassen definiert, welche in [[#CSS|CSS]] erklärt wurden. Außerdem finden hier Templateplatzhalter der Form &amp;lt;tt&amp;gt;&amp;lt;nowiki&amp;gt;{$PLATZHALTER}&amp;lt;/nowiki&amp;gt;&amp;lt;/tt&amp;gt; Verwendung, die DynPG dynamisch durch Inhalt ersetzt.&lt;br /&gt;
&lt;br /&gt;
Das Template &amp;#039;&amp;#039;horizontal&amp;#039;&amp;#039; der Musterwebsite 3 generiert beispielsweise ein horizontales Menü, während das Template &amp;#039;&amp;#039;intelligent&amp;#039;&amp;#039; ein vertikales Menü erzeugt.&lt;br /&gt;
&lt;br /&gt;
Modifikationen an den Templates sind recht komplex. Sollten Sie vorhaben hier Änderungen durchzuführen, wenden Sie sich an das DynPG-Forum.&lt;br /&gt;
&lt;br /&gt;
==Feste Links einbauen==&lt;br /&gt;
&lt;br /&gt;
Hierzu erstellt man im Backend eine Gruppe mit dem Namen des festen Links und merkt sich die Gruppennummer. Mittels des Plugin-Parameters &amp;lt;tt&amp;gt;&amp;#039;href_subpages&amp;#039;&amp;lt;/tt&amp;gt; setzt man für diese Gruppennummer nun als Ziel die Datei &amp;lt;tt&amp;gt;counter.php&amp;lt;/tt&amp;gt; fest und übergibt dieser als Parameter das feste Linkziel. Beispiel: Wir wollen einen Link auf die Google-Webseite setzen. Also erstellen wir im Backend eine Gruppe mit dem Namen &amp;#039;&amp;#039;Google-Websuche&amp;#039;&amp;#039; und notieren die Gruppennummer (z.B. 33). In die PHP-Datei unserer dynamischen Navigation fügen wir nun folgendes ein:&lt;br /&gt;
&amp;lt;code&amp;gt;[php, N]&lt;br /&gt;
$GLOBALS[&amp;quot;DynPG&amp;quot;]-&amp;gt;SetParam_PlugIn_Param(&lt;br /&gt;
  &amp;#039;DPGdynmenu&amp;#039;,&lt;br /&gt;
  &amp;#039;href_subpages&amp;#039;,&lt;br /&gt;
  Array(&lt;br /&gt;
	33 =&amp;gt; Array(&lt;br /&gt;
      &amp;#039;page&amp;#039; =&amp;gt; &amp;#039;counter.php?inc=http://www.google.com&amp;#039;,&lt;br /&gt;
      &amp;#039;successors&amp;#039; =&amp;gt; true&lt;br /&gt;
    )		&lt;br /&gt;
  )&lt;br /&gt;
);&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Mehrsprachiges Menü==&lt;br /&gt;
&lt;br /&gt;
Hierzu gibt es einen Thread in unserem Forum unter [http://www.dynpg.ch/dynpg-forum.php?t=&amp;amp;read_group=30&amp;amp;thread_id=47&amp;amp;tt=Sprachwechsel]. Die grundsätzliche Idee ist (bei zwei Sprachen) zwei Gruppenbäume im Backend aufzubauen. Die oberste Gruppe des ersten Baumes wäre beispielsweise die Gruppe &amp;#039;&amp;#039;Deutsch&amp;#039;&amp;#039;, die oberste Gruppe des zweiten Baumes wäre zum Beispiel &amp;#039;&amp;#039;English&amp;#039;&amp;#039;.&lt;br /&gt;
&lt;br /&gt;
In der zweiten Ebene kommen dann unter &amp;#039;&amp;#039;Deutsch&amp;#039;&amp;#039; bzw. &amp;#039;&amp;#039;English&amp;#039;&amp;#039; Untergruppen wie &amp;#039;&amp;#039;News&amp;#039;&amp;#039;/&amp;#039;&amp;#039;Nachrichten&amp;#039;&amp;#039;, &amp;#039;&amp;#039;Produkte&amp;#039;&amp;#039;/&amp;#039;&amp;#039;Products&amp;#039;&amp;#039;, &amp;#039;&amp;#039;Hilfe&amp;#039;&amp;#039;/&amp;#039;&amp;#039;Support&amp;#039;&amp;#039; und so weiter. Man erstellt sich nun zwei PHP-Dateien (&amp;lt;tt&amp;gt;navi_de.php&amp;lt;/tt&amp;gt;, &amp;lt;tt&amp;gt;navi_en.php&amp;lt;/tt&amp;gt;) wie oben beschrieben [[#Einrichten|Einrichten]]. In diesen wird dann mit den Befehlen aus [[#Globalsreferenz|Globalsreferenz]] der jeweils nicht passende Baum ausgeblendet.&lt;br /&gt;
&lt;br /&gt;
==Siehe auch==&lt;br /&gt;
*[[Sitemap-Tutorial]]&lt;br /&gt;
*[[Implementation eines kompletten Hauptmenüs]]&lt;br /&gt;
*[[Code-Schnipsel Einfaches Hauptmenü]]&lt;br /&gt;
*[[Code-Schnipsel Menüeinträge sortieren]]&lt;br /&gt;
*[[Snippet-Beispiele]]&lt;/div&gt;</summary>
		<author><name>Sebastian</name></author>	</entry>

	<entry>
		<id>https://wiki-en.dynpg.org/wiki_de/index.php?title=Dynamische_Navigation</id>
		<title>Dynamische Navigation</title>
		<link rel="alternate" type="text/html" href="https://wiki-en.dynpg.org/wiki_de/index.php?title=Dynamische_Navigation"/>
				<updated>2009-08-16T18:07:39Z</updated>
		
		<summary type="html">&lt;p&gt;Sebastian: /* Sinnvolle Globals vom DynPG-CMS */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Kategorie:Module]]&lt;br /&gt;
==Beschreibung==&lt;br /&gt;
Die dynamische Navigation ist Bestandteil des kostenlosen Grundmoduls von DynPG und bereits im Standard-DynPG integriert. Es ist keine separate Installation notwendig. Sie ermöglicht es Ihnen einfach und flexibel Navigationen auf Ihrer Homepage zu erstellen. Die Anwendungsmöglichkeiten gestalten sich dabei flexibel als normales Menü oder auch als Sitemap.&lt;br /&gt;
&lt;br /&gt;
Ein dynamisches Menü bildet die Gruppenstruktur im Backend als Menü ab, macht also die logische Struktur ihrer Artikel aus dem Backend auf einer Webseite sichtbar und navigierbar.&lt;br /&gt;
&lt;br /&gt;
Der Vorteil ist, dass man im Backend neue Gruppen o.ä. erstellt und diese dann im Hauptmenü erscheinen. Dies ist auch bei Untergruppen nützlich,&lt;br /&gt;
z.B. wenn eine neue Untergruppe &amp;#039;&amp;#039;Lokalnachrichten&amp;#039;&amp;#039; zur Hauptgruppe &amp;#039;&amp;#039;News&amp;#039;&amp;#039; hinzukommt.&lt;br /&gt;
&lt;br /&gt;
Zum Verständnis der Funktionsvielfalt der dynamischen Navigation ist es hilfreich, einmal eine der [[Muster-Web-Sites|Musterwebsites]] zu installieren und in den entsprechenden Dateien der Musterwebsite die unten erklärten Einstellungsmöglichkeiten nachzuvollziehen und vielleicht auch einmal mit den Optionen herumzuspielen.&lt;br /&gt;
&lt;br /&gt;
==Einrichten==&lt;br /&gt;
&amp;#039;&amp;#039;Anmerkung: Benutzen sie die [[Muster-Web-Sites|Musterwebsites]], so müssen die nachfolgenden zwei Schritte nicht ausgeführt werden, da die dynamische Navigation bereits in den Musterwebsites genutzt wird&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
===Schritt 1: Artikel erstellen mit Platzhalter für die dynamische Navigation===&lt;br /&gt;
Wählen Sie im Menü des Backends &amp;#039;&amp;#039;Gruppen&amp;#039;&amp;#039; aus [[Media:dynmenue01.png|Klick]]. Suchen Sie sich nun eine Gruppe, in der Sie einen Artikel erfassen wollen. Hier wählen wir (die in diesem Falle schon vorhandene) Gruppe &amp;#039;&amp;#039;Startseite/Navigation/Formular&amp;#039;&amp;#039; durch Klick auf ihren Namen aus [[Media:dynmenue02.png|Klick]].&lt;br /&gt;
&lt;br /&gt;
Mit einem Klick auf &amp;#039;&amp;#039;Artikel Formular anzeigen&amp;#039;&amp;#039; [[Media:dynmenue03.PNG|Klick]] und danach auf &amp;#039;&amp;#039;Inhalt bearbeiten&amp;#039;&amp;#039; [[Media:dynmenue04.PNG|Klick]] erscheint der Editor.&lt;br /&gt;
&lt;br /&gt;
In diesem wählen Sie das Symbol für die dynamische Navigation [[Media:dynmenue05.PNG|Klick]], geben noch einen Titel, etwa &amp;#039;&amp;#039;Neue Seitennavigation&amp;#039;&amp;#039;, ein und bestätigen mit einem Klick auf &amp;#039;&amp;#039;Erstellen&amp;#039;&amp;#039; [[Media:dynmenue06.PNG|Klick]]. &lt;br /&gt;
&lt;br /&gt;
Hat alles geklappt, können Sie im unteren Teil der Seite den neuen Artikel sehen [[Media:dynmenue07.PNG|Klick]]. Die Nummer des Artikels benötigen Sie erneut, wenn Sie in eine PHP-Datei mittels eines Globals die dynamische Navigation einbinden.&lt;br /&gt;
&lt;br /&gt;
===Schritt 2: PHP-Datei für die dynamische Navigation erstellen===&lt;br /&gt;
Folgende Ordner-Struktur könnte bei Ihnen vorliegen:&lt;br /&gt;
:*&amp;lt;tt&amp;gt;http-docs/dynpg&amp;lt;/tt&amp;gt; : hier liegt das DynPG-CMS&lt;br /&gt;
:*&amp;lt;tt&amp;gt;http-docs/index.php&amp;lt;/tt&amp;gt; : die Hauptseite Ihrer Website&lt;br /&gt;
:*&amp;lt;tt&amp;gt;http-docs/folgeseite.php&amp;lt;/tt&amp;gt; : eine andere PHP-Datei der Website&lt;br /&gt;
:*&amp;lt;tt&amp;gt;http-docs/inc/navi.php&amp;lt;/tt&amp;gt; : In diese Datei platziert man häufig den Code für die Navigation, dadurch ist er leichter wiederverwendbar&lt;br /&gt;
&lt;br /&gt;
Den nötigen Code der &amp;lt;tt&amp;gt;inc/navi.php&amp;lt;/tt&amp;gt; kann man anhand der [[Muster-Web-Sites|Musterwebsites]] nachvollziehen (Für eine genauere Erklärung der einzelnen verwendeten Globals siehe die [[Funktionsreferenz/Globals|Globals-Übersicht von DynPG]] und weiter unten die [[#Globalsreferenz|Funktionsübersicht der dynamischen Navigation]]) :&lt;br /&gt;
:*&amp;#039;&amp;#039;&amp;#039;&amp;lt;tt&amp;gt;inc/navi.php&amp;lt;/tt&amp;gt;:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;code&amp;gt;[php, N]&lt;br /&gt;
&amp;lt;?php&lt;br /&gt;
  $GLOBALS[&amp;quot;DynPG&amp;quot;]-&amp;gt;SetParam_PlugIn_Template(&amp;#039;DPGdynmenu&amp;#039;, &amp;#039;intelligent&amp;#039;);&lt;br /&gt;
  $GLOBALS[&amp;quot;DynPG&amp;quot;]-&amp;gt;SetParam_PlugIn_Param(&amp;#039;DPGdynmenu&amp;#039;, &amp;#039;real_expand&amp;#039;, TRUE);&lt;br /&gt;
  $GLOBALS[&amp;quot;DynPG&amp;quot;]-&amp;gt;SetParam_PlugIn_Param(&amp;#039;DPGdynmenu&amp;#039;, &amp;#039;order&amp;#039;, Array(&amp;#039;INDEX&amp;#039;));&lt;br /&gt;
  $GLOBALS[&amp;quot;DynPG&amp;quot;]-&amp;gt;SetParam_PlugIn_Param(&amp;#039;DPGdynmenu&amp;#039;, &amp;#039;sort&amp;#039;, Array(&amp;#039;ASC&amp;#039;));&lt;br /&gt;
  $GLOBALS[&amp;quot;DynPG&amp;quot;]-&amp;gt;SetParam_PlugIn_Param(&amp;#039;DPGdynmenu&amp;#039;, &amp;#039;href_page_groups&amp;#039;, &amp;#039;../folgeseite.php&amp;#039;);&lt;br /&gt;
  $GLOBALS[&amp;quot;DynPG&amp;quot;]-&amp;gt;SetParam_PlugIn_Param(&amp;#039;DPGdynmenu&amp;#039;, &amp;#039;href_page_articles&amp;#039;, &amp;#039;../folgeseite.php&amp;#039;);&lt;br /&gt;
  $GLOBALS[&amp;quot;DynPG&amp;quot;]-&amp;gt;SetParam_PlugIn_Param(&amp;#039;DPGdynmenu&amp;#039;, &amp;#039;href_page_detail&amp;#039;, &amp;#039;../folgeseite.php&amp;#039;);&lt;br /&gt;
  $GLOBALS[&amp;quot;DynPG&amp;quot;]-&amp;gt;SetParam_PlugIn_Param(&lt;br /&gt;
    &amp;#039;DPGdynmenu&amp;#039;,&lt;br /&gt;
    &amp;#039;href_subpages&amp;#039;,&lt;br /&gt;
    Array(&lt;br /&gt;
      0 =&amp;gt; Array(&lt;br /&gt;
        &amp;#039;page&amp;#039; =&amp;gt; &amp;#039;../formular.php{query}&amp;#039;,&lt;br /&gt;
        &amp;#039;successors&amp;#039; =&amp;gt; true&lt;br /&gt;
      ),&lt;br /&gt;
      21 =&amp;gt; Array(&lt;br /&gt;
        &amp;#039;page&amp;#039; =&amp;gt; &amp;#039;../blog.php{query}&amp;#039;,&lt;br /&gt;
        &amp;#039;successors&amp;#039; =&amp;gt; true&lt;br /&gt;
      ),&lt;br /&gt;
      15 =&amp;gt; Array(&lt;br /&gt;
        &amp;#039;page&amp;#039; =&amp;gt; &amp;#039;../sitemap.php{query}&amp;#039;,&lt;br /&gt;
        &amp;#039;successors&amp;#039; =&amp;gt; true&lt;br /&gt;
      ),&lt;br /&gt;
      16 =&amp;gt; Array(&lt;br /&gt;
        &amp;#039;page&amp;#039; =&amp;gt; &amp;#039;../veranstaltungen.php{query}&amp;#039;,&lt;br /&gt;
        &amp;#039;successors&amp;#039; =&amp;gt; true&lt;br /&gt;
      ),&lt;br /&gt;
      21 =&amp;gt; Array(&lt;br /&gt;
        &amp;#039;page&amp;#039; =&amp;gt; &amp;#039;../blog.php{query}&amp;#039;,&lt;br /&gt;
        &amp;#039;successors&amp;#039; =&amp;gt; true&lt;br /&gt;
      ),&lt;br /&gt;
      6 =&amp;gt; Array(&lt;br /&gt;
        &amp;#039;page&amp;#039; =&amp;gt; &amp;#039;../index.php{query}&amp;#039;,&lt;br /&gt;
        &amp;#039;successors&amp;#039; =&amp;gt; true&lt;br /&gt;
      )&lt;br /&gt;
    )&lt;br /&gt;
  );    &lt;br /&gt;
  $GLOBALS[&amp;quot;DynPG&amp;quot;]-&amp;gt;SetupTemplate(&amp;#039;uneditable&amp;#039;); &lt;br /&gt;
  $GLOBALS[&amp;quot;DynPG&amp;quot;]-&amp;gt;SetParam_A_Anytime(TRUE);&lt;br /&gt;
  $GLOBALS[&amp;quot;DynPG&amp;quot;]-&amp;gt;SetParam_A_CategoryNavigation(FALSE);&lt;br /&gt;
  $GLOBALS[&amp;quot;DynPG&amp;quot;]-&amp;gt;SetParam_A_PrintNavigation(FALSE);&lt;br /&gt;
  $GLOBALS[&amp;quot;DynPG&amp;quot;]-&amp;gt;SetParam_A_ArticleHeader(FALSE);&lt;br /&gt;
  $GLOBALS[&amp;quot;DynPG&amp;quot;]-&amp;gt;SetParam_A_Article(1);&lt;br /&gt;
&lt;br /&gt;
  $GLOBALS[&amp;quot;DynPG&amp;quot;]-&amp;gt;Write_Article();&lt;br /&gt;
  $GLOBALS[&amp;quot;DynPG&amp;quot;]-&amp;gt;SetupTemplate(&amp;#039;default&amp;#039;);  &lt;br /&gt;
?&amp;gt;&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Man kann nun in der &amp;lt;tt&amp;gt;index.php&amp;lt;/tt&amp;gt; mittels &lt;br /&gt;
&amp;lt;code&amp;gt;[php, N]&lt;br /&gt;
&amp;lt;?php include(&amp;quot;inc/navi.php&amp;quot;); ?&amp;gt;&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
die Navigation einbinden, ebenso z.B. auch in der &amp;lt;tt&amp;gt;folgeseite.php&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Die dynamische Navigation kann nun an verschiedenen Stellen angepasst werden. Neben den Globals in der PHP-Datei ([[#Globalsreferenz|Globalsreferenz]]) ist dies im Backend durch das Erstellen von Gruppen und Artikeln möglich ([[#Dynamische_Navigation_im_Backend|Dynamische Navigation im Backend]]). Erweiterte Möglichkeiten ergeben sich durch das [[#CSS|CSS]] und die [[#Templates|Templates]].&lt;br /&gt;
&lt;br /&gt;
==Die dynamische Navigation im Backend==&lt;br /&gt;
&lt;br /&gt;
Wie bereits erwähnt, bildet die dynamische Navigation die Gruppenstruktur des Backends auf einer Webseite ab. In der Musterwebsite 3 ist im Backend zum Beispiel folgende Gruppenstruktur zu erkennen:&lt;br /&gt;
[[Media:dynmenue08.PNG|Klick]].&lt;br /&gt;
Auf der Website sieht dies dann wie folgt aus:&lt;br /&gt;
[[Media:dynmenue09.PNG|Klick]]&lt;br /&gt;
oder auch&lt;br /&gt;
[[Media:dynmenue10.PNG|Klick]]&lt;br /&gt;
.&lt;br /&gt;
&lt;br /&gt;
Welche Untergruppen angezeigt werden, hängt zum einen davon ab, welcher Navigationspunkt gerade aktiv ist (also angeklickt wurde) und zum anderen von den benutzten Globals in der PHP-Datei ([[#Globalsreferenz|z.B. Parameter &amp;#039;full_load&amp;#039;]]) und den Einstellungen der Gruppe im Backend. &lt;br /&gt;
&lt;br /&gt;
In diesen Einstellungen kann man z.B. auch bestimmen, dass eine bestimmte Gruppe nicht im Menü der Website sichtbar ist (so zum Beispiel die Gruppe &amp;quot;Diverses&amp;quot; aus der Musterwebsite 3). Die Eigenschaftenseite der Gruppe erreicht man über einen Klick auf:&lt;br /&gt;
[[Media:dynmenue11.PNG|Klick]]&lt;br /&gt;
. Unter dem Punkt &amp;#039;&amp;#039;Veröffentlichen&amp;#039;&amp;#039;&lt;br /&gt;
[[Media:dynmenue12.PNG|Klick]])&lt;br /&gt;
wählt man nun die Option &amp;#039;&amp;#039;Nein&amp;#039;&amp;#039; aus. &lt;br /&gt;
&lt;br /&gt;
Die Option &amp;#039;&amp;#039;Ja&amp;#039;&amp;#039; führt dazu, dass auf der Website der Navigationspunkt &amp;#039;&amp;#039;Diverses&amp;#039;&amp;#039; erscheint&lt;br /&gt;
[[Media:dynmenue14.PNG|Klick]]&lt;br /&gt;
. Ist der Punkt &amp;#039;&amp;#039;Diverses&amp;#039;&amp;#039; ausgewählt, erscheinen auch die Untergruppen&lt;br /&gt;
[[Media:dynmenue13.PNG|Klick]]&lt;br /&gt;
.&lt;br /&gt;
&lt;br /&gt;
==Globalsreferenz==&lt;br /&gt;
===Globals direkt für das Plugin===&lt;br /&gt;
&amp;#039;&amp;#039;Die Parameter haben Default-Werte, müssen also nicht immer gesetzt werden&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;tt&amp;gt;$GLOBALS[&amp;quot;DynPG&amp;quot;]-&amp;gt;SetParam_PlugIn_Template(&amp;#039;DPGdynmenu&amp;#039;, &amp;#039;TEMPLATEORDNER&amp;#039;);&amp;lt;/tt&amp;gt;:&lt;br /&gt;
:Hiermit wählt man den Template-Ordner für die dynamische Navigation aus. Diese Template-Ordner liegen in &amp;lt;tt&amp;gt;dynpg/plugins/DPGdynmenu/templates&amp;lt;/tt&amp;gt;. Aus diesem Ordner wird die Template-Datei &amp;lt;tt&amp;gt;menu.tpl&amp;lt;/tt&amp;gt; zur Generierung des Menüs genommen. Dies ist unabhängig vom Global &amp;lt;tt&amp;gt;$GLOBALS[&amp;quot;DynPG&amp;quot;]-&amp;gt;SetupTemplate(...);&amp;lt;/tt&amp;gt;, der sozusagen das Template des Artikels bestimmt, welcher die dynamische Navigation enthält.&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;tt&amp;gt;$GLOBALS[&amp;quot;DynPG&amp;quot;]-&amp;gt;SetParam_PlugIn_Param(&amp;#039;DPGdynmenu&amp;#039;, PARAMETERNAME, PARAMETERWERT);&amp;lt;/tt&amp;gt;&lt;br /&gt;
:{| class=&amp;quot;dynpgwikitable&amp;quot;&lt;br /&gt;
! &amp;lt;tt&amp;gt;PARAMETERNAME&amp;lt;/tt&amp;gt; !! &amp;lt;tt&amp;gt;PARAMETERWERT&amp;lt;/tt&amp;gt; !! Beschreibung&lt;br /&gt;
|-&lt;br /&gt;
||&amp;lt;tt&amp;gt;&amp;#039;order&amp;#039;&amp;lt;/tt&amp;gt; || &amp;lt;tt&amp;gt;Array(&amp;#039;INDEX&amp;#039;)&amp;lt;/tt&amp;gt; oder &amp;lt;tt&amp;gt;Array(&amp;#039;NAME&amp;#039;)&amp;lt;/tt&amp;gt; || Reihenfolge der Gruppen in der Navigation nach Name oder im Backend gesetzten Index&lt;br /&gt;
|-&lt;br /&gt;
||&amp;lt;tt&amp;gt;&amp;#039;sort&amp;#039;&amp;lt;/tt&amp;gt; || &amp;lt;tt&amp;gt;Array(&amp;#039;ASC&amp;#039;)&amp;lt;/tt&amp;gt; oder &amp;lt;tt&amp;gt;Array(&amp;#039;DESC&amp;#039;)&amp;lt;/tt&amp;gt; || aufsteigende oder absteigende Sortierung&lt;br /&gt;
|-&lt;br /&gt;
||&amp;lt;tt&amp;gt;&amp;#039;order_articles&amp;#039;&amp;lt;/tt&amp;gt; || z.B. &amp;lt;tt&amp;gt;Array(&amp;#039;INDEX&amp;#039;)&amp;lt;/tt&amp;gt; || sortiert Artikel in der dynamischen Navigation (falls diese angezeigt werden) &lt;br /&gt;
|-&lt;br /&gt;
||&amp;lt;tt&amp;gt;&amp;#039;sort_articles&amp;#039;&amp;lt;/tt&amp;gt; || z.B. &amp;lt;tt&amp;gt;Array(&amp;#039;ASC&amp;#039;)&amp;lt;/tt&amp;gt; || bestimmt aufsteigende oder absteigende Sortierreihenfolge der Artikel&lt;br /&gt;
|-&lt;br /&gt;
||&amp;lt;tt&amp;gt;&amp;#039;href_page_groups&amp;#039;&amp;lt;/tt&amp;gt; || z.B. &amp;lt;tt&amp;gt;&amp;#039;../folgeseite.php&amp;#039;&amp;lt;/tt&amp;gt; || Seite auf die weiterverlinkt wird bei einem Klick auf den Gruppennamen (ACHTUNG &amp;lt;tt&amp;gt;&amp;#039;../&amp;#039;&amp;lt;/tt&amp;gt; wichtig, siehe Ordnerstruktur weiter oben!)&lt;br /&gt;
|-&lt;br /&gt;
||&amp;lt;tt&amp;gt;&amp;#039;href_page_articles&amp;#039;&amp;lt;/tt&amp;gt; || z.B. &amp;lt;tt&amp;gt;&amp;#039;../folgeseite.php&amp;#039;&amp;lt;/tt&amp;gt; ||&lt;br /&gt;
|-&lt;br /&gt;
||&amp;lt;tt&amp;gt;&amp;#039;href_page_detail&amp;#039;&amp;lt;/tt&amp;gt; || z.B. &amp;lt;tt&amp;gt;&amp;#039;../folgeseite.php&amp;#039;&amp;lt;/tt&amp;gt; || Seite auf die weiterverlinkt wird bei einem Klick auf Artikelnamen in dynamischer Navigation (sofern Artikel angezeigt werden)&lt;br /&gt;
|-&lt;br /&gt;
||&amp;lt;tt&amp;gt;&amp;#039;href_subpages&amp;#039;&amp;lt;/tt&amp;gt; || z.B. &amp;lt;pre&amp;gt;Array(&lt;br /&gt;
  GRUPPENNUMMER =&amp;gt; Array( &lt;br /&gt;
    &amp;#039;page&amp;#039; =&amp;gt; &amp;#039;PHP-SEITE{query}&amp;#039;,&lt;br /&gt;
    &amp;#039;successors&amp;#039; =&amp;gt; true&lt;br /&gt;
  ),&lt;br /&gt;
.................&lt;br /&gt;
  GRUPPENNUMMER =&amp;gt; Array( &lt;br /&gt;
    &amp;#039;page&amp;#039; =&amp;gt; &amp;#039;PHP-SEITE&amp;#039;,&lt;br /&gt;
    &amp;#039;successors&amp;#039; =&amp;gt; true&lt;br /&gt;
  ) &lt;br /&gt;
)&amp;lt;/pre&amp;gt; || Ermöglicht für bestimmte Gruppen auf eine andere &amp;lt;tt&amp;gt;PHP-SEITE&amp;lt;/tt&amp;gt; zu verlinken&lt;br /&gt;
|-&lt;br /&gt;
||&amp;lt;tt&amp;gt;&amp;#039;full_load&amp;#039;&amp;lt;/tt&amp;gt; || &amp;lt;tt&amp;gt;false&amp;lt;/tt&amp;gt; oder &amp;lt;tt&amp;gt;true&amp;lt;/tt&amp;gt; || zeigt unabhängig von angeklickten Gruppen den kompletten Navigationsbaum mit Untergruppen an (oder auch nicht)&lt;br /&gt;
|-&lt;br /&gt;
|| &amp;lt;tt&amp;gt;&amp;#039;full_load_articles&amp;#039;&amp;lt;/tt&amp;gt; || &amp;lt;tt&amp;gt;false&amp;lt;/tt&amp;gt; ||&lt;br /&gt;
|-&lt;br /&gt;
|| &amp;lt;tt&amp;gt;&amp;#039;limit_articles&amp;#039;&amp;lt;/tt&amp;gt; || &amp;lt;tt&amp;gt;false&amp;lt;/tt&amp;gt; ||&lt;br /&gt;
|-&lt;br /&gt;
|| &amp;lt;tt&amp;gt;&amp;#039;expand_subtree&amp;#039;&amp;lt;/tt&amp;gt; || &amp;lt;tt&amp;gt;Array(4)&amp;lt;/tt&amp;gt; oder &amp;lt;tt&amp;gt;Array(4,5)&amp;lt;/tt&amp;gt; etc. || zeigt die Untergruppen von Gruppe 4 (bzw. 4 und 5) in jedem Fall an. Sei Gruppe 4 bspw. die Gruppe &amp;#039;&amp;#039;News&amp;#039;&amp;#039; des Backends, dann werden die beispielhaften Untergruppen &amp;#039;&amp;#039;Lokalnachrichten&amp;#039;&amp;#039; und &amp;#039;&amp;#039;Weltnachrichten&amp;#039;&amp;#039; immer zur Navigation angeboten, auch wenn sich ein Benutzer auf der Website gerade einen Artikel aus der Gruppe &amp;#039;&amp;#039;Kontakt&amp;#039;&amp;#039; anschaut&lt;br /&gt;
|- &lt;br /&gt;
|| &amp;lt;tt&amp;gt;&amp;#039;implode_subtree&amp;#039;&amp;lt;/tt&amp;gt; || &amp;lt;tt&amp;gt;Array(4)&amp;lt;/tt&amp;gt; oder &amp;lt;tt&amp;gt;Array(4,5)&amp;lt;/tt&amp;gt; etc. || zeigt die Untergruppen von Gruppe 4 (bzw. 4 und 5) in jedem Fall NICHT an. Anmerkung: der Parameter &amp;lt;tt&amp;gt;expand_subtree&amp;lt;/tt&amp;gt; überschreibt diese Einstellung! Ist also eine Gruppe in beiden Parametern aufgeführt, so werden die Untergruppen dieser Gruppe immer angezeigt, da der Parameter &amp;lt;tt&amp;gt;expand_subtree&amp;lt;/tt&amp;gt; wichtiger ist.&lt;br /&gt;
|-&lt;br /&gt;
|| &amp;lt;tt&amp;gt;&amp;#039;real_expand&amp;#039;&amp;lt;/tt&amp;gt; || &amp;lt;tt&amp;gt;false&amp;lt;/tt&amp;gt; ||&lt;br /&gt;
|-&lt;br /&gt;
|| &amp;lt;tt&amp;gt;&amp;#039;speed_mode&amp;#039;&amp;lt;/tt&amp;gt; || &amp;lt;tt&amp;gt;false&amp;lt;/tt&amp;gt; ||&lt;br /&gt;
|-&lt;br /&gt;
|| &amp;lt;tt&amp;gt;&amp;#039;parent_select&amp;#039;&amp;lt;/tt&amp;gt; || &amp;lt;tt&amp;gt;true&amp;lt;/tt&amp;gt; ||&lt;br /&gt;
|-&lt;br /&gt;
|| &amp;lt;tt&amp;gt;&amp;#039;max_depth&amp;#039;&amp;lt;/tt&amp;gt; || &amp;lt;tt&amp;gt;null&amp;lt;/tt&amp;gt; oder &amp;lt;tt&amp;gt;0&amp;lt;/tt&amp;gt; oder &amp;lt;tt&amp;gt;1&amp;lt;/tt&amp;gt; etc. || Tiefe bis zu der (Unter-)Gruppen angezeigt werden&lt;br /&gt;
|-&lt;br /&gt;
|| &amp;lt;tt&amp;gt;&amp;#039;min_depth&amp;#039;&amp;lt;/tt&amp;gt; || &amp;lt;tt&amp;gt;null&amp;lt;/tt&amp;gt; oder &amp;lt;tt&amp;gt;0&amp;lt;/tt&amp;gt; oder &amp;lt;tt&amp;gt;1&amp;lt;/tt&amp;gt; etc. || Tiefe, die eine Gruppe mindestens haben muss um angezeigt zu werden, z.B. 1 um oberste Ebene der Gruppen aus dem Backend auszublenden&lt;br /&gt;
|-&lt;br /&gt;
|| &amp;lt;tt&amp;gt;&amp;#039;fetch_only&amp;#039;&amp;lt;/tt&amp;gt; || &amp;lt;tt&amp;gt;null&amp;lt;/tt&amp;gt; ||&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Sinnvolle Globals vom DynPG-CMS===&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;tt&amp;gt;$GLOBALS[&amp;quot;DynPG&amp;quot;]-&amp;gt;SetupTemplate(&amp;#039;uneditable&amp;#039;);&amp;lt;/tt&amp;gt; : ermöglicht Navigation in der Seite obwohl Editiermodus im Backend angeschaltet ist&lt;br /&gt;
*&amp;lt;tt&amp;gt;$GLOBALS[&amp;quot;DynPG&amp;quot;]-&amp;gt;SetParam_A_Anytime(TRUE);&amp;lt;/tt&amp;gt; : Menü soll immer angezeigt werden&lt;br /&gt;
*&amp;lt;tt&amp;gt;$GLOBALS[&amp;quot;DynPG&amp;quot;]-&amp;gt;SetParam_A_CategoryNavigation(FALSE);&amp;lt;/tt&amp;gt; : keine weitere Navigation(Breadcrumb) anzeigen&lt;br /&gt;
*&amp;lt;tt&amp;gt;$GLOBALS[&amp;quot;DynPG&amp;quot;]-&amp;gt;SetParam_A_PrintNavigation(FALSE);&amp;lt;/tt&amp;gt; : kein Link zu Print-Seite anzeigen&lt;br /&gt;
*&amp;lt;tt&amp;gt;$GLOBALS[&amp;quot;DynPG&amp;quot;]-&amp;gt;SetParam_A_ArticleHeader(FALSE);&amp;lt;/tt&amp;gt; : keine Artikelüberschrift (des Artikels mit dem DynMenü-Platzhalter) und kein Artikelleadtext anzeigen&lt;br /&gt;
*&amp;lt;tt&amp;gt;$GLOBALS[&amp;quot;DynPG&amp;quot;]-&amp;gt;SetParam_A_Article(1);&amp;lt;/tt&amp;gt; : Artikel mit dem Dynmenü-Platzhalter setzen (&amp;#039;&amp;#039;&amp;#039;Hier die Artikelnummer aus [[#Einrichten|Einrichten]] einfügen!&amp;#039;&amp;#039;&amp;#039;)&lt;br /&gt;
*&amp;lt;tt&amp;gt;$GLOBALS[&amp;quot;DynPG&amp;quot;]-&amp;gt;Write_Article();&amp;lt;/tt&amp;gt; : Artikel ausgeben&lt;br /&gt;
*&amp;lt;tt&amp;gt;$GLOBALS[&amp;quot;DynPG&amp;quot;]-&amp;gt;SetupTemplate(&amp;#039;default&amp;#039;);&amp;lt;/tt&amp;gt; : andere Teile der Website haben sicherlich andere Templates. Wir setzen daher hier wieder auf das Standard-Template zurück&lt;br /&gt;
&lt;br /&gt;
===CSS===&lt;br /&gt;
Die CSS-Dateien für die dynamische Navigation liegen im Verzeichnis &amp;lt;tt&amp;gt;dynpg/plugins/DPGdynmenu/styles&amp;lt;/tt&amp;gt;. Die Datei &amp;lt;tt&amp;gt;menu.css&amp;lt;/tt&amp;gt; ist hierbei meist die ausschlaggebende, so zum Beispiel in der Navigation der Musterwebsite 3.&lt;br /&gt;
&lt;br /&gt;
Die CSS-Klassen und -Bezeichner aus dieser Datei sind nach einem bestimmten Schema benannt. Hat man dieses einmal verstanden, so lassen sich leicht Änderungen an speziellen Teilen des Erscheinungsbildes der dynamischen Navigation durchführen.&lt;br /&gt;
&lt;br /&gt;
Die dynamische Navigation wird von einem &amp;lt;tt&amp;gt;div&amp;lt;/tt&amp;gt;-Tag mit der Id &amp;lt;tt&amp;gt;course_categories_menu&amp;lt;/tt&amp;gt; umschlossen.&lt;br /&gt;
&lt;br /&gt;
Diese Angaben gelten also grundsätzlich für die gesamte dynamische Navigation und werden gegebenenfalls weitervererbt.&lt;br /&gt;
Im &amp;lt;tt&amp;gt;menu.css&amp;lt;/tt&amp;gt; der Muster-Website 3 steht beispielsweise:&lt;br /&gt;
&amp;lt;code&amp;gt;[css, N]&lt;br /&gt;
div#course_categories_menu {&lt;br /&gt;
  margin: 0;&lt;br /&gt;
  padding: 0;&lt;br /&gt;
  width: 180px;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Um zu verhindern, dass die CSS-Angaben dieser Datei auch auf andere Teile der Website Einfluss haben, ist vor allen anderen CSS-Definitionen der Datei ebenfalls &amp;lt;tt&amp;gt;div#course_categories_menu&amp;lt;/tt&amp;gt; notiert. Dadurch wirken sich die Angaben nur auf die dynamische Navigation aus.&lt;br /&gt;
&lt;br /&gt;
Innerhalb des &amp;lt;tt&amp;gt;course_categories_menu&amp;lt;/tt&amp;gt; - &amp;lt;tt&amp;gt;div&amp;lt;/tt&amp;gt; - Tags gibt es für jede Gruppe der obersten angezeigten Gruppenebene ein &amp;lt;div&amp;gt;-Tag mit der CSS-Id &amp;lt;tt&amp;gt;group_fold_NUMMER&amp;lt;/tt&amp;gt; wobei &amp;lt;tt&amp;gt;NUMMER&amp;lt;/tt&amp;gt; der Gruppennummer der Gruppe aus dem Backend entspricht. In der Navigation der Muster-Website 3 gibt es also folgende Tags:&lt;br /&gt;
&amp;lt;code&amp;gt;[html, N]&lt;br /&gt;
&amp;lt;div id=&amp;quot;course_categories_menu&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;div id=&amp;quot;group_fold_2&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;  &amp;lt;!--Produkte--&amp;gt;&lt;br /&gt;
  &amp;lt;div id=&amp;quot;group_fold_3&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;  &amp;lt;!--Support--&amp;gt;&lt;br /&gt;
  &amp;lt;div id=&amp;quot;group_fold_9&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;  &amp;lt;!--News--&amp;gt;&lt;br /&gt;
  &amp;lt;div id=&amp;quot;group_fold_4&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;  &amp;lt;!--Über uns--&amp;gt;&lt;br /&gt;
  &amp;lt;div id=&amp;quot;group_fold_5&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;  &amp;lt;!--Kontakt--&amp;gt;&lt;br /&gt;
  &amp;lt;div id=&amp;quot;group_fold_21&amp;quot;&amp;gt;&amp;lt;/div&amp;gt; &amp;lt;!--Blog--&amp;gt;&lt;br /&gt;
  &amp;lt;div id=&amp;quot;group_fold_15&amp;quot;&amp;gt;&amp;lt;/div&amp;gt; &amp;lt;!--Sitemap--&amp;gt;&lt;br /&gt;
  &amp;lt;div id=&amp;quot;group_fold_6&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;  &amp;lt;!--Home--&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
Möchte man nun Eigenschaften nur an einem bestimmten Teil der Navigation machen, so könnte man im CSS-File folgende Angabe machen:&lt;br /&gt;
&amp;lt;code&amp;gt;[css, N]&lt;br /&gt;
div#course_categories_menu div#group_fold_9 {&lt;br /&gt;
  text-decoration:blink;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
Damit würde der Text der Gruppe &amp;#039;&amp;#039;News&amp;#039;&amp;#039; (und eventueller Untergruppen) in der dynamischen Navigation blinken.&lt;br /&gt;
&lt;br /&gt;
Innerhalb der &amp;lt;tt&amp;gt;group_fold_NUMMER&amp;lt;/tt&amp;gt; - &amp;lt;tt&amp;gt;div&amp;lt;/tt&amp;gt; - Tags gibt es nun ein &amp;lt;tt&amp;gt;div&amp;lt;/tt&amp;gt; - Tag, dass (neben einer weiteren CSS-Id) eine CSS-Klasse hat. Diese CSS-Klasse wird nach folgendem Muster gebildet:&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;&amp;lt;tt&amp;gt;level_&amp;#039;&amp;#039;A&amp;#039;&amp;#039;_&amp;#039;&amp;#039;B&amp;#039;&amp;#039;_&amp;#039;&amp;#039;C&amp;#039;&amp;#039;_&amp;#039;&amp;#039;D&amp;#039;&amp;#039;_&amp;#039;&amp;#039;E&amp;#039;&amp;#039;&amp;lt;/tt&amp;gt;&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;dynpgwikitable&amp;quot;&lt;br /&gt;
! Buchstabe !! mögliche Werte !! Beschreibung&lt;br /&gt;
|-&lt;br /&gt;
|| &amp;lt;tt&amp;gt;&amp;#039;&amp;#039;A&amp;#039;&amp;#039;&amp;lt;/tt&amp;gt; || 0 oder 1 oder 2 etc. || gibt das Level der Gruppe an, also die Verzweigungstiefe in der sich die Navigation befindet&lt;br /&gt;
|-&lt;br /&gt;
|| &amp;lt;tt&amp;gt;&amp;#039;&amp;#039;B&amp;#039;&amp;#039;&amp;lt;/tt&amp;gt; || &amp;lt;tt&amp;gt;r&amp;lt;/tt&amp;gt; (nicht letzter), &amp;lt;tt&amp;gt;e&amp;lt;/tt&amp;gt; (letzter) || gibt an, ob nach dieser Gruppe noch weitere aufgelistet werden (z.B. in Musterwebsite 3 ist die Gruppe 6 &amp;quot;Home&amp;quot; die letzte des Menüs)&lt;br /&gt;
|-&lt;br /&gt;
|| &amp;lt;tt&amp;gt;&amp;#039;&amp;#039;C&amp;#039;&amp;#039;&amp;lt;/tt&amp;gt; ||  &amp;lt;tt&amp;gt;a&amp;lt;/tt&amp;gt; (ist aktiv), &amp;lt;tt&amp;gt;i&amp;lt;/tt&amp;gt; (ist nicht aktiv) || gibt an, ob die Gruppe aktiv ist, d.h. ob sie durch einen Klick ausgewählt wurde&lt;br /&gt;
|-&lt;br /&gt;
|| &amp;lt;tt&amp;gt;&amp;#039;&amp;#039;D&amp;#039;&amp;#039;&amp;lt;/tt&amp;gt; ||  &amp;lt;tt&amp;gt;exp&amp;lt;/tt&amp;gt; (ausgeklappt), cll(eingeklappt) || gibt an, ob die Untergruppen dieser Gruppe ausgeklappt sind oder nicht&lt;br /&gt;
|-&lt;br /&gt;
|| &amp;lt;tt&amp;gt;&amp;#039;&amp;#039;E&amp;#039;&amp;#039;&amp;lt;/tt&amp;gt; ||  &amp;lt;tt&amp;gt;_hover&amp;lt;/tt&amp;gt; (Mauszeiger ist über dem Element), nichts (Mauszeiger ist nicht über dem Element) || gibt an, ob sich der Mauszeiger über dem Gruppennamen befindet oder nicht&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Mithilfe dieses Schemas kann man nun bestimmen, welche CSS-Klassen man in der CSS-Datei angeben muss um bestimmte Effekte hervorzurufen.&lt;br /&gt;
Möchte man beispielsweise, dass alle Elemente der zweitobersten Ebene blinken, wenn der Mauszeiger über dem Element ist, so notiert man in der CSS-Datei:&lt;br /&gt;
&amp;lt;code&amp;gt;[css, N]&lt;br /&gt;
div#course_categories_menu div#level_1_r_a_exp_hover,&lt;br /&gt;
div#course_categories_menu div#level_1_r_a_cll_hover,&lt;br /&gt;
div#course_categories_menu div#level_1_r_i_exp_hover,&lt;br /&gt;
div#course_categories_menu div#level_1_r_i_cll_hover,&lt;br /&gt;
div#course_categories_menu div#level_1_e_a_exp_hover,&lt;br /&gt;
div#course_categories_menu div#level_1_e_a_cll_hover,&lt;br /&gt;
div#course_categories_menu div#level_1_e_i_exp_hover,&lt;br /&gt;
div#course_categories_menu div#level_1_e_i_cll_hover {&lt;br /&gt;
  text-decoration:blink;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Diese Struktur der &amp;lt;tt&amp;gt;div&amp;lt;/tt&amp;gt;-Tags wiederholt sich mit tieferen Gruppenebenen / Untergruppen. Zum Beispiel tauchen die &amp;lt;tt&amp;gt;div&amp;lt;/tt&amp;gt;-Tags der Untergruppen vom &amp;#039;&amp;#039;Über uns&amp;#039;&amp;#039;-Menüpunkt aus der Muster-Website 3 innerhalb des &amp;lt;tt&amp;gt;group_fold_4&amp;lt;/tt&amp;gt; - &amp;lt;tt&amp;gt;div&amp;lt;/tt&amp;gt; - Tags auf.&lt;br /&gt;
&lt;br /&gt;
Weitere Informationen über die CSS-Klassen kann man schnell erhalten, indem man sich den HTML-Code eines generierten dynamischen Menüs anschaut, zum Beispiel aus der Muster-Website 3.&lt;br /&gt;
&lt;br /&gt;
==Templates==&lt;br /&gt;
Diese Templates liegen im Ordner &amp;lt;tt&amp;gt;dynpg/plugins/DPGdynmenu/templates&amp;lt;/tt&amp;gt;. Hier finden sie Ordner, die jeweils eine &amp;lt;tt&amp;gt;menu.tpl&amp;lt;/tt&amp;gt; enthalten. Welcher dieser Ordner aktiv ist, bestimmen Sie durch das Global &amp;lt;tt&amp;gt;$GLOBALS[&amp;quot;DynPG&amp;quot;]-&amp;gt;SetParam_PlugIn_Template(&amp;#039;DPGdynmenu&amp;#039;, &amp;#039;TEMPLATEORDNER&amp;#039;);&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Die Templates dienen als Vorlage für die Generierung des HTML-Codes der dynamischen Navigation. In ihnen werden auch die CSS-Klassen definiert, welche in [[#CSS|CSS]] erklärt wurden. Außerdem finden hier Templateplatzhalter der Form &amp;lt;tt&amp;gt;&amp;lt;nowiki&amp;gt;{$PLATZHALTER}&amp;lt;/nowiki&amp;gt;&amp;lt;/tt&amp;gt; Verwendung, die DynPG dynamisch durch Inhalt ersetzt.&lt;br /&gt;
&lt;br /&gt;
Das Template &amp;#039;&amp;#039;horizontal&amp;#039;&amp;#039; der Musterwebsite 3 generiert beispielsweise ein horizontales Menü, während das Template &amp;#039;&amp;#039;intelligent&amp;#039;&amp;#039; ein vertikales Menü erzeugt.&lt;br /&gt;
&lt;br /&gt;
Modifikationen an den Templates sind recht komplex. Sollten Sie vorhaben hier Änderungen durchzuführen, wenden Sie sich an das DynPG-Forum.&lt;br /&gt;
&lt;br /&gt;
==Feste Links einbauen==&lt;br /&gt;
&lt;br /&gt;
Hierzu erstellt man im Backend eine Gruppe mit dem Namen des festen Links und merkt sich die Gruppennummer. Mittels des Plugin-Parameters &amp;lt;tt&amp;gt;&amp;#039;href_subpages&amp;#039;&amp;lt;/tt&amp;gt; setzt man für diese Gruppennummer nun als Ziel die Datei &amp;lt;tt&amp;gt;counter.php&amp;lt;/tt&amp;gt; fest und übergibt dieser als Parameter das feste Linkziel. Beispiel: Wir wollen einen Link auf die Google-Webseite setzen. Also erstellen wir im Backend eine Gruppe mit dem Namen &amp;#039;&amp;#039;Google-Websuche&amp;#039;&amp;#039; und notieren die Gruppennummer (z.B. 33). In die PHP-Datei unserer dynamischen Navigation fügen wir nun folgendes ein:&lt;br /&gt;
&amp;lt;code&amp;gt;[php, N]&lt;br /&gt;
$GLOBALS[&amp;quot;DynPG&amp;quot;]-&amp;gt;SetParam_PlugIn_Param(&lt;br /&gt;
  &amp;#039;DPGdynmenu&amp;#039;,&lt;br /&gt;
  &amp;#039;href_subpages&amp;#039;,&lt;br /&gt;
  Array(&lt;br /&gt;
	33 =&amp;gt; Array(&lt;br /&gt;
      &amp;#039;page&amp;#039; =&amp;gt; &amp;#039;counter.php?inc=http://www.google.com&amp;#039;,&lt;br /&gt;
      &amp;#039;successors&amp;#039; =&amp;gt; true&lt;br /&gt;
    )		&lt;br /&gt;
  )&lt;br /&gt;
);&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Mehrsprachiges Menü==&lt;br /&gt;
&lt;br /&gt;
Hierzu gibt es einen Thread in unserem Forum unter [http://www.dynpg.ch/dynpg-forum.php?t=&amp;amp;read_group=30&amp;amp;thread_id=47&amp;amp;tt=Sprachwechsel]. Die grundsätzliche Idee ist (bei zwei Sprachen) zwei Gruppenbäume im Backend aufzubauen. Die oberste Gruppe des ersten Baumes wäre beispielsweise die Gruppe &amp;#039;&amp;#039;Deutsch&amp;#039;&amp;#039;, die oberste Gruppe des zweiten Baumes wäre zum Beispiel &amp;#039;&amp;#039;English&amp;#039;&amp;#039;.&lt;br /&gt;
&lt;br /&gt;
In der zweiten Ebene kommen dann unter &amp;#039;&amp;#039;Deutsch&amp;#039;&amp;#039; bzw. &amp;#039;&amp;#039;English&amp;#039;&amp;#039; Untergruppen wie &amp;#039;&amp;#039;News&amp;#039;&amp;#039;/&amp;#039;&amp;#039;Nachrichten&amp;#039;&amp;#039;, &amp;#039;&amp;#039;Produkte&amp;#039;&amp;#039;/&amp;#039;&amp;#039;Products&amp;#039;&amp;#039;, &amp;#039;&amp;#039;Hilfe&amp;#039;&amp;#039;/&amp;#039;&amp;#039;Support&amp;#039;&amp;#039; und so weiter. Man erstellt sich nun zwei PHP-Dateien (&amp;lt;tt&amp;gt;navi_de.php&amp;lt;/tt&amp;gt;, &amp;lt;tt&amp;gt;navi_en.php&amp;lt;/tt&amp;gt;) wie oben beschrieben [[#Einrichten|Einrichten]]. In diesen wird dann mit den Befehlen aus [[#Globalsreferenz|Globalsreferenz]] der jeweils nicht passende Baum ausgeblendet.&lt;br /&gt;
&lt;br /&gt;
==Siehe auch==&lt;br /&gt;
*[[Sitemap-Tutorial]]&lt;br /&gt;
*[[Implementation eines kompletten Hauptmenüs]]&lt;br /&gt;
*[[Code-Schnipsel Einfaches Hauptmenü]]&lt;br /&gt;
*[[Code-Schnipsel Menüeinträge sortieren]]&lt;br /&gt;
*[[Snippet-Beispiele]]&lt;/div&gt;</summary>
		<author><name>Sebastian</name></author>	</entry>

	<entry>
		<id>https://wiki-en.dynpg.org/wiki_de/index.php?title=Dynamische_Navigation</id>
		<title>Dynamische Navigation</title>
		<link rel="alternate" type="text/html" href="https://wiki-en.dynpg.org/wiki_de/index.php?title=Dynamische_Navigation"/>
				<updated>2009-08-16T18:04:59Z</updated>
		
		<summary type="html">&lt;p&gt;Sebastian: /* Die dynamische Navigation im Backend */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Kategorie:Module]]&lt;br /&gt;
==Beschreibung==&lt;br /&gt;
Die dynamische Navigation ist Bestandteil des kostenlosen Grundmoduls von DynPG und bereits im Standard-DynPG integriert. Es ist keine separate Installation notwendig. Sie ermöglicht es Ihnen einfach und flexibel Navigationen auf Ihrer Homepage zu erstellen. Die Anwendungsmöglichkeiten gestalten sich dabei flexibel als normales Menü oder auch als Sitemap.&lt;br /&gt;
&lt;br /&gt;
Ein dynamisches Menü bildet die Gruppenstruktur im Backend als Menü ab, macht also die logische Struktur ihrer Artikel aus dem Backend auf einer Webseite sichtbar und navigierbar.&lt;br /&gt;
&lt;br /&gt;
Der Vorteil ist, dass man im Backend neue Gruppen o.ä. erstellt und diese dann im Hauptmenü erscheinen. Dies ist auch bei Untergruppen nützlich,&lt;br /&gt;
z.B. wenn eine neue Untergruppe &amp;#039;&amp;#039;Lokalnachrichten&amp;#039;&amp;#039; zur Hauptgruppe &amp;#039;&amp;#039;News&amp;#039;&amp;#039; hinzukommt.&lt;br /&gt;
&lt;br /&gt;
Zum Verständnis der Funktionsvielfalt der dynamischen Navigation ist es hilfreich, einmal eine der [[Muster-Web-Sites|Musterwebsites]] zu installieren und in den entsprechenden Dateien der Musterwebsite die unten erklärten Einstellungsmöglichkeiten nachzuvollziehen und vielleicht auch einmal mit den Optionen herumzuspielen.&lt;br /&gt;
&lt;br /&gt;
==Einrichten==&lt;br /&gt;
&amp;#039;&amp;#039;Anmerkung: Benutzen sie die [[Muster-Web-Sites|Musterwebsites]], so müssen die nachfolgenden zwei Schritte nicht ausgeführt werden, da die dynamische Navigation bereits in den Musterwebsites genutzt wird&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
===Schritt 1: Artikel erstellen mit Platzhalter für die dynamische Navigation===&lt;br /&gt;
Wählen Sie im Menü des Backends &amp;#039;&amp;#039;Gruppen&amp;#039;&amp;#039; aus [[Media:dynmenue01.png|Klick]]. Suchen Sie sich nun eine Gruppe, in der Sie einen Artikel erfassen wollen. Hier wählen wir (die in diesem Falle schon vorhandene) Gruppe &amp;#039;&amp;#039;Startseite/Navigation/Formular&amp;#039;&amp;#039; durch Klick auf ihren Namen aus [[Media:dynmenue02.png|Klick]].&lt;br /&gt;
&lt;br /&gt;
Mit einem Klick auf &amp;#039;&amp;#039;Artikel Formular anzeigen&amp;#039;&amp;#039; [[Media:dynmenue03.PNG|Klick]] und danach auf &amp;#039;&amp;#039;Inhalt bearbeiten&amp;#039;&amp;#039; [[Media:dynmenue04.PNG|Klick]] erscheint der Editor.&lt;br /&gt;
&lt;br /&gt;
In diesem wählen Sie das Symbol für die dynamische Navigation [[Media:dynmenue05.PNG|Klick]], geben noch einen Titel, etwa &amp;#039;&amp;#039;Neue Seitennavigation&amp;#039;&amp;#039;, ein und bestätigen mit einem Klick auf &amp;#039;&amp;#039;Erstellen&amp;#039;&amp;#039; [[Media:dynmenue06.PNG|Klick]]. &lt;br /&gt;
&lt;br /&gt;
Hat alles geklappt, können Sie im unteren Teil der Seite den neuen Artikel sehen [[Media:dynmenue07.PNG|Klick]]. Die Nummer des Artikels benötigen Sie erneut, wenn Sie in eine PHP-Datei mittels eines Globals die dynamische Navigation einbinden.&lt;br /&gt;
&lt;br /&gt;
===Schritt 2: PHP-Datei für die dynamische Navigation erstellen===&lt;br /&gt;
Folgende Ordner-Struktur könnte bei Ihnen vorliegen:&lt;br /&gt;
:*&amp;lt;tt&amp;gt;http-docs/dynpg&amp;lt;/tt&amp;gt; : hier liegt das DynPG-CMS&lt;br /&gt;
:*&amp;lt;tt&amp;gt;http-docs/index.php&amp;lt;/tt&amp;gt; : die Hauptseite Ihrer Website&lt;br /&gt;
:*&amp;lt;tt&amp;gt;http-docs/folgeseite.php&amp;lt;/tt&amp;gt; : eine andere PHP-Datei der Website&lt;br /&gt;
:*&amp;lt;tt&amp;gt;http-docs/inc/navi.php&amp;lt;/tt&amp;gt; : In diese Datei platziert man häufig den Code für die Navigation, dadurch ist er leichter wiederverwendbar&lt;br /&gt;
&lt;br /&gt;
Den nötigen Code der &amp;lt;tt&amp;gt;inc/navi.php&amp;lt;/tt&amp;gt; kann man anhand der [[Muster-Web-Sites|Musterwebsites]] nachvollziehen (Für eine genauere Erklärung der einzelnen verwendeten Globals siehe die [[Funktionsreferenz/Globals|Globals-Übersicht von DynPG]] und weiter unten die [[#Globalsreferenz|Funktionsübersicht der dynamischen Navigation]]) :&lt;br /&gt;
:*&amp;#039;&amp;#039;&amp;#039;&amp;lt;tt&amp;gt;inc/navi.php&amp;lt;/tt&amp;gt;:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;code&amp;gt;[php, N]&lt;br /&gt;
&amp;lt;?php&lt;br /&gt;
  $GLOBALS[&amp;quot;DynPG&amp;quot;]-&amp;gt;SetParam_PlugIn_Template(&amp;#039;DPGdynmenu&amp;#039;, &amp;#039;intelligent&amp;#039;);&lt;br /&gt;
  $GLOBALS[&amp;quot;DynPG&amp;quot;]-&amp;gt;SetParam_PlugIn_Param(&amp;#039;DPGdynmenu&amp;#039;, &amp;#039;real_expand&amp;#039;, TRUE);&lt;br /&gt;
  $GLOBALS[&amp;quot;DynPG&amp;quot;]-&amp;gt;SetParam_PlugIn_Param(&amp;#039;DPGdynmenu&amp;#039;, &amp;#039;order&amp;#039;, Array(&amp;#039;INDEX&amp;#039;));&lt;br /&gt;
  $GLOBALS[&amp;quot;DynPG&amp;quot;]-&amp;gt;SetParam_PlugIn_Param(&amp;#039;DPGdynmenu&amp;#039;, &amp;#039;sort&amp;#039;, Array(&amp;#039;ASC&amp;#039;));&lt;br /&gt;
  $GLOBALS[&amp;quot;DynPG&amp;quot;]-&amp;gt;SetParam_PlugIn_Param(&amp;#039;DPGdynmenu&amp;#039;, &amp;#039;href_page_groups&amp;#039;, &amp;#039;../folgeseite.php&amp;#039;);&lt;br /&gt;
  $GLOBALS[&amp;quot;DynPG&amp;quot;]-&amp;gt;SetParam_PlugIn_Param(&amp;#039;DPGdynmenu&amp;#039;, &amp;#039;href_page_articles&amp;#039;, &amp;#039;../folgeseite.php&amp;#039;);&lt;br /&gt;
  $GLOBALS[&amp;quot;DynPG&amp;quot;]-&amp;gt;SetParam_PlugIn_Param(&amp;#039;DPGdynmenu&amp;#039;, &amp;#039;href_page_detail&amp;#039;, &amp;#039;../folgeseite.php&amp;#039;);&lt;br /&gt;
  $GLOBALS[&amp;quot;DynPG&amp;quot;]-&amp;gt;SetParam_PlugIn_Param(&lt;br /&gt;
    &amp;#039;DPGdynmenu&amp;#039;,&lt;br /&gt;
    &amp;#039;href_subpages&amp;#039;,&lt;br /&gt;
    Array(&lt;br /&gt;
      0 =&amp;gt; Array(&lt;br /&gt;
        &amp;#039;page&amp;#039; =&amp;gt; &amp;#039;../formular.php{query}&amp;#039;,&lt;br /&gt;
        &amp;#039;successors&amp;#039; =&amp;gt; true&lt;br /&gt;
      ),&lt;br /&gt;
      21 =&amp;gt; Array(&lt;br /&gt;
        &amp;#039;page&amp;#039; =&amp;gt; &amp;#039;../blog.php{query}&amp;#039;,&lt;br /&gt;
        &amp;#039;successors&amp;#039; =&amp;gt; true&lt;br /&gt;
      ),&lt;br /&gt;
      15 =&amp;gt; Array(&lt;br /&gt;
        &amp;#039;page&amp;#039; =&amp;gt; &amp;#039;../sitemap.php{query}&amp;#039;,&lt;br /&gt;
        &amp;#039;successors&amp;#039; =&amp;gt; true&lt;br /&gt;
      ),&lt;br /&gt;
      16 =&amp;gt; Array(&lt;br /&gt;
        &amp;#039;page&amp;#039; =&amp;gt; &amp;#039;../veranstaltungen.php{query}&amp;#039;,&lt;br /&gt;
        &amp;#039;successors&amp;#039; =&amp;gt; true&lt;br /&gt;
      ),&lt;br /&gt;
      21 =&amp;gt; Array(&lt;br /&gt;
        &amp;#039;page&amp;#039; =&amp;gt; &amp;#039;../blog.php{query}&amp;#039;,&lt;br /&gt;
        &amp;#039;successors&amp;#039; =&amp;gt; true&lt;br /&gt;
      ),&lt;br /&gt;
      6 =&amp;gt; Array(&lt;br /&gt;
        &amp;#039;page&amp;#039; =&amp;gt; &amp;#039;../index.php{query}&amp;#039;,&lt;br /&gt;
        &amp;#039;successors&amp;#039; =&amp;gt; true&lt;br /&gt;
      )&lt;br /&gt;
    )&lt;br /&gt;
  );    &lt;br /&gt;
  $GLOBALS[&amp;quot;DynPG&amp;quot;]-&amp;gt;SetupTemplate(&amp;#039;uneditable&amp;#039;); &lt;br /&gt;
  $GLOBALS[&amp;quot;DynPG&amp;quot;]-&amp;gt;SetParam_A_Anytime(TRUE);&lt;br /&gt;
  $GLOBALS[&amp;quot;DynPG&amp;quot;]-&amp;gt;SetParam_A_CategoryNavigation(FALSE);&lt;br /&gt;
  $GLOBALS[&amp;quot;DynPG&amp;quot;]-&amp;gt;SetParam_A_PrintNavigation(FALSE);&lt;br /&gt;
  $GLOBALS[&amp;quot;DynPG&amp;quot;]-&amp;gt;SetParam_A_ArticleHeader(FALSE);&lt;br /&gt;
  $GLOBALS[&amp;quot;DynPG&amp;quot;]-&amp;gt;SetParam_A_Article(1);&lt;br /&gt;
&lt;br /&gt;
  $GLOBALS[&amp;quot;DynPG&amp;quot;]-&amp;gt;Write_Article();&lt;br /&gt;
  $GLOBALS[&amp;quot;DynPG&amp;quot;]-&amp;gt;SetupTemplate(&amp;#039;default&amp;#039;);  &lt;br /&gt;
?&amp;gt;&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Man kann nun in der &amp;lt;tt&amp;gt;index.php&amp;lt;/tt&amp;gt; mittels &lt;br /&gt;
&amp;lt;code&amp;gt;[php, N]&lt;br /&gt;
&amp;lt;?php include(&amp;quot;inc/navi.php&amp;quot;); ?&amp;gt;&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
die Navigation einbinden, ebenso z.B. auch in der &amp;lt;tt&amp;gt;folgeseite.php&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Die dynamische Navigation kann nun an verschiedenen Stellen angepasst werden. Neben den Globals in der PHP-Datei ([[#Globalsreferenz|Globalsreferenz]]) ist dies im Backend durch das Erstellen von Gruppen und Artikeln möglich ([[#Dynamische_Navigation_im_Backend|Dynamische Navigation im Backend]]). Erweiterte Möglichkeiten ergeben sich durch das [[#CSS|CSS]] und die [[#Templates|Templates]].&lt;br /&gt;
&lt;br /&gt;
==Die dynamische Navigation im Backend==&lt;br /&gt;
&lt;br /&gt;
Wie bereits erwähnt, bildet die dynamische Navigation die Gruppenstruktur des Backends auf einer Webseite ab. In der Musterwebsite 3 ist im Backend zum Beispiel folgende Gruppenstruktur zu erkennen:&lt;br /&gt;
[[Media:dynmenue08.PNG|Klick]].&lt;br /&gt;
Auf der Website sieht dies dann wie folgt aus:&lt;br /&gt;
[[Media:dynmenue09.PNG|Klick]]&lt;br /&gt;
oder auch&lt;br /&gt;
[[Media:dynmenue10.PNG|Klick]]&lt;br /&gt;
.&lt;br /&gt;
&lt;br /&gt;
Welche Untergruppen angezeigt werden, hängt zum einen davon ab, welcher Navigationspunkt gerade aktiv ist (also angeklickt wurde) und zum anderen von den benutzten Globals in der PHP-Datei ([[#Globalsreferenz|z.B. Parameter &amp;#039;full_load&amp;#039;]]) und den Einstellungen der Gruppe im Backend. &lt;br /&gt;
&lt;br /&gt;
In diesen Einstellungen kann man z.B. auch bestimmen, dass eine bestimmte Gruppe nicht im Menü der Website sichtbar ist (so zum Beispiel die Gruppe &amp;quot;Diverses&amp;quot; aus der Musterwebsite 3). Die Eigenschaftenseite der Gruppe erreicht man über einen Klick auf:&lt;br /&gt;
[[Media:dynmenue11.PNG|Klick]]&lt;br /&gt;
. Unter dem Punkt &amp;#039;&amp;#039;Veröffentlichen&amp;#039;&amp;#039;&lt;br /&gt;
[[Media:dynmenue12.PNG|Klick]])&lt;br /&gt;
wählt man nun die Option &amp;#039;&amp;#039;Nein&amp;#039;&amp;#039; aus. &lt;br /&gt;
&lt;br /&gt;
Die Option &amp;#039;&amp;#039;Ja&amp;#039;&amp;#039; führt dazu, dass auf der Website der Navigationspunkt &amp;#039;&amp;#039;Diverses&amp;#039;&amp;#039; erscheint&lt;br /&gt;
[[Media:dynmenue14.PNG|Klick]]&lt;br /&gt;
. Ist der Punkt &amp;#039;&amp;#039;Diverses&amp;#039;&amp;#039; ausgewählt, erscheinen auch die Untergruppen&lt;br /&gt;
[[Media:dynmenue13.PNG|Klick]]&lt;br /&gt;
.&lt;br /&gt;
&lt;br /&gt;
==Globalsreferenz==&lt;br /&gt;
===Globals direkt für das Plugin===&lt;br /&gt;
&amp;#039;&amp;#039;Die Parameter haben Default-Werte, müssen also nicht immer gesetzt werden&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;tt&amp;gt;$GLOBALS[&amp;quot;DynPG&amp;quot;]-&amp;gt;SetParam_PlugIn_Template(&amp;#039;DPGdynmenu&amp;#039;, &amp;#039;TEMPLATEORDNER&amp;#039;);&amp;lt;/tt&amp;gt;:&lt;br /&gt;
:Hiermit wählt man den Template-Ordner für die dynamische Navigation aus. Diese Template-Ordner liegen in &amp;lt;tt&amp;gt;dynpg/plugins/DPGdynmenu/templates&amp;lt;/tt&amp;gt;. Aus diesem Ordner wird die Template-Datei &amp;lt;tt&amp;gt;menu.tpl&amp;lt;/tt&amp;gt; zur Generierung des Menüs genommen. Dies ist unabhängig vom Global &amp;lt;tt&amp;gt;$GLOBALS[&amp;quot;DynPG&amp;quot;]-&amp;gt;SetupTemplate(...);&amp;lt;/tt&amp;gt;, der sozusagen das Template des Artikels bestimmt, welcher die dynamische Navigation enthält.&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;tt&amp;gt;$GLOBALS[&amp;quot;DynPG&amp;quot;]-&amp;gt;SetParam_PlugIn_Param(&amp;#039;DPGdynmenu&amp;#039;, PARAMETERNAME, PARAMETERWERT);&amp;lt;/tt&amp;gt;&lt;br /&gt;
:{| class=&amp;quot;dynpgwikitable&amp;quot;&lt;br /&gt;
! &amp;lt;tt&amp;gt;PARAMETERNAME&amp;lt;/tt&amp;gt; !! &amp;lt;tt&amp;gt;PARAMETERWERT&amp;lt;/tt&amp;gt; !! Beschreibung&lt;br /&gt;
|-&lt;br /&gt;
||&amp;lt;tt&amp;gt;&amp;#039;order&amp;#039;&amp;lt;/tt&amp;gt; || &amp;lt;tt&amp;gt;Array(&amp;#039;INDEX&amp;#039;)&amp;lt;/tt&amp;gt; oder &amp;lt;tt&amp;gt;Array(&amp;#039;NAME&amp;#039;)&amp;lt;/tt&amp;gt; || Reihenfolge der Gruppen in der Navigation nach Name oder im Backend gesetzten Index&lt;br /&gt;
|-&lt;br /&gt;
||&amp;lt;tt&amp;gt;&amp;#039;sort&amp;#039;&amp;lt;/tt&amp;gt; || &amp;lt;tt&amp;gt;Array(&amp;#039;ASC&amp;#039;)&amp;lt;/tt&amp;gt; oder &amp;lt;tt&amp;gt;Array(&amp;#039;DESC&amp;#039;)&amp;lt;/tt&amp;gt; || aufsteigende oder absteigende Sortierung&lt;br /&gt;
|-&lt;br /&gt;
||&amp;lt;tt&amp;gt;&amp;#039;order_articles&amp;#039;&amp;lt;/tt&amp;gt; || z.B. &amp;lt;tt&amp;gt;Array(&amp;#039;INDEX&amp;#039;)&amp;lt;/tt&amp;gt; || sortiert Artikel in der dynamischen Navigation (falls diese angezeigt werden) &lt;br /&gt;
|-&lt;br /&gt;
||&amp;lt;tt&amp;gt;&amp;#039;sort_articles&amp;#039;&amp;lt;/tt&amp;gt; || z.B. &amp;lt;tt&amp;gt;Array(&amp;#039;ASC&amp;#039;)&amp;lt;/tt&amp;gt; || bestimmt aufsteigende oder absteigende Sortierreihenfolge der Artikel&lt;br /&gt;
|-&lt;br /&gt;
||&amp;lt;tt&amp;gt;&amp;#039;href_page_groups&amp;#039;&amp;lt;/tt&amp;gt; || z.B. &amp;lt;tt&amp;gt;&amp;#039;../folgeseite.php&amp;#039;&amp;lt;/tt&amp;gt; || Seite auf die weiterverlinkt wird bei einem Klick auf den Gruppennamen (ACHTUNG &amp;lt;tt&amp;gt;&amp;#039;../&amp;#039;&amp;lt;/tt&amp;gt; wichtig, siehe Ordnerstruktur weiter oben!)&lt;br /&gt;
|-&lt;br /&gt;
||&amp;lt;tt&amp;gt;&amp;#039;href_page_articles&amp;#039;&amp;lt;/tt&amp;gt; || z.B. &amp;lt;tt&amp;gt;&amp;#039;../folgeseite.php&amp;#039;&amp;lt;/tt&amp;gt; ||&lt;br /&gt;
|-&lt;br /&gt;
||&amp;lt;tt&amp;gt;&amp;#039;href_page_detail&amp;#039;&amp;lt;/tt&amp;gt; || z.B. &amp;lt;tt&amp;gt;&amp;#039;../folgeseite.php&amp;#039;&amp;lt;/tt&amp;gt; || Seite auf die weiterverlinkt wird bei einem Klick auf Artikelnamen in dynamischer Navigation (sofern Artikel angezeigt werden)&lt;br /&gt;
|-&lt;br /&gt;
||&amp;lt;tt&amp;gt;&amp;#039;href_subpages&amp;#039;&amp;lt;/tt&amp;gt; || z.B. &amp;lt;pre&amp;gt;Array(&lt;br /&gt;
  GRUPPENNUMMER =&amp;gt; Array( &lt;br /&gt;
    &amp;#039;page&amp;#039; =&amp;gt; &amp;#039;PHP-SEITE{query}&amp;#039;,&lt;br /&gt;
    &amp;#039;successors&amp;#039; =&amp;gt; true&lt;br /&gt;
  ),&lt;br /&gt;
.................&lt;br /&gt;
  GRUPPENNUMMER =&amp;gt; Array( &lt;br /&gt;
    &amp;#039;page&amp;#039; =&amp;gt; &amp;#039;PHP-SEITE&amp;#039;,&lt;br /&gt;
    &amp;#039;successors&amp;#039; =&amp;gt; true&lt;br /&gt;
  ) &lt;br /&gt;
)&amp;lt;/pre&amp;gt; || Ermöglicht für bestimmte Gruppen auf eine andere &amp;lt;tt&amp;gt;PHP-SEITE&amp;lt;/tt&amp;gt; zu verlinken&lt;br /&gt;
|-&lt;br /&gt;
||&amp;lt;tt&amp;gt;&amp;#039;full_load&amp;#039;&amp;lt;/tt&amp;gt; || &amp;lt;tt&amp;gt;false&amp;lt;/tt&amp;gt; oder &amp;lt;tt&amp;gt;true&amp;lt;/tt&amp;gt; || zeigt unabhängig von angeklickten Gruppen den kompletten Navigationsbaum mit Untergruppen an (oder auch nicht)&lt;br /&gt;
|-&lt;br /&gt;
|| &amp;lt;tt&amp;gt;&amp;#039;full_load_articles&amp;#039;&amp;lt;/tt&amp;gt; || &amp;lt;tt&amp;gt;false&amp;lt;/tt&amp;gt; ||&lt;br /&gt;
|-&lt;br /&gt;
|| &amp;lt;tt&amp;gt;&amp;#039;limit_articles&amp;#039;&amp;lt;/tt&amp;gt; || &amp;lt;tt&amp;gt;false&amp;lt;/tt&amp;gt; ||&lt;br /&gt;
|-&lt;br /&gt;
|| &amp;lt;tt&amp;gt;&amp;#039;expand_subtree&amp;#039;&amp;lt;/tt&amp;gt; || &amp;lt;tt&amp;gt;Array(4)&amp;lt;/tt&amp;gt; oder &amp;lt;tt&amp;gt;Array(4,5)&amp;lt;/tt&amp;gt; etc. || zeigt die Untergruppen von Gruppe 4 (bzw. 4 und 5) in jedem Fall an. Sei Gruppe 4 bspw. die Gruppe &amp;#039;&amp;#039;News&amp;#039;&amp;#039; des Backends, dann werden die beispielhaften Untergruppen &amp;#039;&amp;#039;Lokalnachrichten&amp;#039;&amp;#039; und &amp;#039;&amp;#039;Weltnachrichten&amp;#039;&amp;#039; immer zur Navigation angeboten, auch wenn sich ein Benutzer auf der Website gerade einen Artikel aus der Gruppe &amp;#039;&amp;#039;Kontakt&amp;#039;&amp;#039; anschaut&lt;br /&gt;
|- &lt;br /&gt;
|| &amp;lt;tt&amp;gt;&amp;#039;implode_subtree&amp;#039;&amp;lt;/tt&amp;gt; || &amp;lt;tt&amp;gt;Array(4)&amp;lt;/tt&amp;gt; oder &amp;lt;tt&amp;gt;Array(4,5)&amp;lt;/tt&amp;gt; etc. || zeigt die Untergruppen von Gruppe 4 (bzw. 4 und 5) in jedem Fall NICHT an. Anmerkung: der Parameter &amp;lt;tt&amp;gt;expand_subtree&amp;lt;/tt&amp;gt; überschreibt diese Einstellung! Ist also eine Gruppe in beiden Parametern aufgeführt, so werden die Untergruppen dieser Gruppe immer angezeigt, da der Parameter &amp;lt;tt&amp;gt;expand_subtree&amp;lt;/tt&amp;gt; wichtiger ist.&lt;br /&gt;
|-&lt;br /&gt;
|| &amp;lt;tt&amp;gt;&amp;#039;real_expand&amp;#039;&amp;lt;/tt&amp;gt; || &amp;lt;tt&amp;gt;false&amp;lt;/tt&amp;gt; ||&lt;br /&gt;
|-&lt;br /&gt;
|| &amp;lt;tt&amp;gt;&amp;#039;speed_mode&amp;#039;&amp;lt;/tt&amp;gt; || &amp;lt;tt&amp;gt;false&amp;lt;/tt&amp;gt; ||&lt;br /&gt;
|-&lt;br /&gt;
|| &amp;lt;tt&amp;gt;&amp;#039;parent_select&amp;#039;&amp;lt;/tt&amp;gt; || &amp;lt;tt&amp;gt;true&amp;lt;/tt&amp;gt; ||&lt;br /&gt;
|-&lt;br /&gt;
|| &amp;lt;tt&amp;gt;&amp;#039;max_depth&amp;#039;&amp;lt;/tt&amp;gt; || &amp;lt;tt&amp;gt;null&amp;lt;/tt&amp;gt; oder &amp;lt;tt&amp;gt;0&amp;lt;/tt&amp;gt; oder &amp;lt;tt&amp;gt;1&amp;lt;/tt&amp;gt; etc. || Tiefe bis zu der (Unter-)Gruppen angezeigt werden&lt;br /&gt;
|-&lt;br /&gt;
|| &amp;lt;tt&amp;gt;&amp;#039;min_depth&amp;#039;&amp;lt;/tt&amp;gt; || &amp;lt;tt&amp;gt;null&amp;lt;/tt&amp;gt; oder &amp;lt;tt&amp;gt;0&amp;lt;/tt&amp;gt; oder &amp;lt;tt&amp;gt;1&amp;lt;/tt&amp;gt; etc. || Tiefe, die eine Gruppe mindestens haben muss um angezeigt zu werden, z.B. 1 um oberste Ebene der Gruppen aus dem Backend auszublenden&lt;br /&gt;
|-&lt;br /&gt;
|| &amp;lt;tt&amp;gt;&amp;#039;fetch_only&amp;#039;&amp;lt;/tt&amp;gt; || &amp;lt;tt&amp;gt;null&amp;lt;/tt&amp;gt; ||&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Sinnvolle Globals vom DynPG-CMS===&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;tt&amp;gt;$GLOBALS[&amp;quot;DynPG&amp;quot;]-&amp;gt;SetupTemplate(&amp;#039;uneditable&amp;#039;);&amp;lt;/tt&amp;gt; : ermöglicht Navigation in der Seite obwohl Editiermodus im Backend angeschaltet ist&lt;br /&gt;
*&amp;lt;tt&amp;gt;$GLOBALS[&amp;quot;DynPG&amp;quot;]-&amp;gt;SetParam_A_Anytime(TRUE);&amp;lt;/tt&amp;gt; : Menü soll immer angezeigt werden&lt;br /&gt;
*&amp;lt;tt&amp;gt;$GLOBALS[&amp;quot;DynPG&amp;quot;]-&amp;gt;SetParam_A_CategoryNavigation(FALSE);&amp;lt;/tt&amp;gt; : keine weitere Navigation(Breadcrumb) anzeigen&lt;br /&gt;
*&amp;lt;tt&amp;gt;$GLOBALS[&amp;quot;DynPG&amp;quot;]-&amp;gt;SetParam_A_PrintNavigation(FALSE);&amp;lt;/tt&amp;gt; : kein Link zu Print-Seite anzeigen&lt;br /&gt;
*&amp;lt;tt&amp;gt;$GLOBALS[&amp;quot;DynPG&amp;quot;]-&amp;gt;SetParam_A_ArticleHeader(FALSE);&amp;lt;/tt&amp;gt; : keine Artikelüberschrift (des Artikels mit dem DynMenü-Platzhalter) und kein Artikelleadtext anzeigen&lt;br /&gt;
*&amp;lt;tt&amp;gt;$GLOBALS[&amp;quot;DynPG&amp;quot;]-&amp;gt;SetParam_A_Article(1);&amp;lt;/tt&amp;gt; : Artikel mit dem Dynmenü-Platzhalter setzen (&amp;#039;&amp;#039;&amp;#039;Hier die Artikelnummer aus [[#Einbinden|Einbinden]] einfügen!&amp;#039;&amp;#039;&amp;#039;)&lt;br /&gt;
*&amp;lt;tt&amp;gt;$GLOBALS[&amp;quot;DynPG&amp;quot;]-&amp;gt;Write_Article();&amp;lt;/tt&amp;gt; : Artikel ausgeben&lt;br /&gt;
*&amp;lt;tt&amp;gt;$GLOBALS[&amp;quot;DynPG&amp;quot;]-&amp;gt;SetupTemplate(&amp;#039;default&amp;#039;);&amp;lt;/tt&amp;gt; : andere Teile der Website haben sicherlich andere Templates. Wir setzen daher hier wieder auf das Standard-Template zurück&lt;br /&gt;
&lt;br /&gt;
===CSS===&lt;br /&gt;
Die CSS-Dateien für die dynamische Navigation liegen im Verzeichnis &amp;lt;tt&amp;gt;dynpg/plugins/DPGdynmenu/styles&amp;lt;/tt&amp;gt;. Die Datei &amp;lt;tt&amp;gt;menu.css&amp;lt;/tt&amp;gt; ist hierbei meist die ausschlaggebende, so zum Beispiel in der Navigation der Musterwebsite 3.&lt;br /&gt;
&lt;br /&gt;
Die CSS-Klassen und -Bezeichner aus dieser Datei sind nach einem bestimmten Schema benannt. Hat man dieses einmal verstanden, so lassen sich leicht Änderungen an speziellen Teilen des Erscheinungsbildes der dynamischen Navigation durchführen.&lt;br /&gt;
&lt;br /&gt;
Die dynamische Navigation wird von einem &amp;lt;tt&amp;gt;div&amp;lt;/tt&amp;gt;-Tag mit der Id &amp;lt;tt&amp;gt;course_categories_menu&amp;lt;/tt&amp;gt; umschlossen.&lt;br /&gt;
&lt;br /&gt;
Diese Angaben gelten also grundsätzlich für die gesamte dynamische Navigation und werden gegebenenfalls weitervererbt.&lt;br /&gt;
Im &amp;lt;tt&amp;gt;menu.css&amp;lt;/tt&amp;gt; der Muster-Website 3 steht beispielsweise:&lt;br /&gt;
&amp;lt;code&amp;gt;[css, N]&lt;br /&gt;
div#course_categories_menu {&lt;br /&gt;
  margin: 0;&lt;br /&gt;
  padding: 0;&lt;br /&gt;
  width: 180px;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Um zu verhindern, dass die CSS-Angaben dieser Datei auch auf andere Teile der Website Einfluss haben, ist vor allen anderen CSS-Definitionen der Datei ebenfalls &amp;lt;tt&amp;gt;div#course_categories_menu&amp;lt;/tt&amp;gt; notiert. Dadurch wirken sich die Angaben nur auf die dynamische Navigation aus.&lt;br /&gt;
&lt;br /&gt;
Innerhalb des &amp;lt;tt&amp;gt;course_categories_menu&amp;lt;/tt&amp;gt; - &amp;lt;tt&amp;gt;div&amp;lt;/tt&amp;gt; - Tags gibt es für jede Gruppe der obersten angezeigten Gruppenebene ein &amp;lt;div&amp;gt;-Tag mit der CSS-Id &amp;lt;tt&amp;gt;group_fold_NUMMER&amp;lt;/tt&amp;gt; wobei &amp;lt;tt&amp;gt;NUMMER&amp;lt;/tt&amp;gt; der Gruppennummer der Gruppe aus dem Backend entspricht. In der Navigation der Muster-Website 3 gibt es also folgende Tags:&lt;br /&gt;
&amp;lt;code&amp;gt;[html, N]&lt;br /&gt;
&amp;lt;div id=&amp;quot;course_categories_menu&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;div id=&amp;quot;group_fold_2&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;  &amp;lt;!--Produkte--&amp;gt;&lt;br /&gt;
  &amp;lt;div id=&amp;quot;group_fold_3&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;  &amp;lt;!--Support--&amp;gt;&lt;br /&gt;
  &amp;lt;div id=&amp;quot;group_fold_9&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;  &amp;lt;!--News--&amp;gt;&lt;br /&gt;
  &amp;lt;div id=&amp;quot;group_fold_4&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;  &amp;lt;!--Über uns--&amp;gt;&lt;br /&gt;
  &amp;lt;div id=&amp;quot;group_fold_5&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;  &amp;lt;!--Kontakt--&amp;gt;&lt;br /&gt;
  &amp;lt;div id=&amp;quot;group_fold_21&amp;quot;&amp;gt;&amp;lt;/div&amp;gt; &amp;lt;!--Blog--&amp;gt;&lt;br /&gt;
  &amp;lt;div id=&amp;quot;group_fold_15&amp;quot;&amp;gt;&amp;lt;/div&amp;gt; &amp;lt;!--Sitemap--&amp;gt;&lt;br /&gt;
  &amp;lt;div id=&amp;quot;group_fold_6&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;  &amp;lt;!--Home--&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
Möchte man nun Eigenschaften nur an einem bestimmten Teil der Navigation machen, so könnte man im CSS-File folgende Angabe machen:&lt;br /&gt;
&amp;lt;code&amp;gt;[css, N]&lt;br /&gt;
div#course_categories_menu div#group_fold_9 {&lt;br /&gt;
  text-decoration:blink;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
Damit würde der Text der Gruppe &amp;#039;&amp;#039;News&amp;#039;&amp;#039; (und eventueller Untergruppen) in der dynamischen Navigation blinken.&lt;br /&gt;
&lt;br /&gt;
Innerhalb der &amp;lt;tt&amp;gt;group_fold_NUMMER&amp;lt;/tt&amp;gt; - &amp;lt;tt&amp;gt;div&amp;lt;/tt&amp;gt; - Tags gibt es nun ein &amp;lt;tt&amp;gt;div&amp;lt;/tt&amp;gt; - Tag, dass (neben einer weiteren CSS-Id) eine CSS-Klasse hat. Diese CSS-Klasse wird nach folgendem Muster gebildet:&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;&amp;lt;tt&amp;gt;level_&amp;#039;&amp;#039;A&amp;#039;&amp;#039;_&amp;#039;&amp;#039;B&amp;#039;&amp;#039;_&amp;#039;&amp;#039;C&amp;#039;&amp;#039;_&amp;#039;&amp;#039;D&amp;#039;&amp;#039;_&amp;#039;&amp;#039;E&amp;#039;&amp;#039;&amp;lt;/tt&amp;gt;&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;dynpgwikitable&amp;quot;&lt;br /&gt;
! Buchstabe !! mögliche Werte !! Beschreibung&lt;br /&gt;
|-&lt;br /&gt;
|| &amp;lt;tt&amp;gt;&amp;#039;&amp;#039;A&amp;#039;&amp;#039;&amp;lt;/tt&amp;gt; || 0 oder 1 oder 2 etc. || gibt das Level der Gruppe an, also die Verzweigungstiefe in der sich die Navigation befindet&lt;br /&gt;
|-&lt;br /&gt;
|| &amp;lt;tt&amp;gt;&amp;#039;&amp;#039;B&amp;#039;&amp;#039;&amp;lt;/tt&amp;gt; || &amp;lt;tt&amp;gt;r&amp;lt;/tt&amp;gt; (nicht letzter), &amp;lt;tt&amp;gt;e&amp;lt;/tt&amp;gt; (letzter) || gibt an, ob nach dieser Gruppe noch weitere aufgelistet werden (z.B. in Musterwebsite 3 ist die Gruppe 6 &amp;quot;Home&amp;quot; die letzte des Menüs)&lt;br /&gt;
|-&lt;br /&gt;
|| &amp;lt;tt&amp;gt;&amp;#039;&amp;#039;C&amp;#039;&amp;#039;&amp;lt;/tt&amp;gt; ||  &amp;lt;tt&amp;gt;a&amp;lt;/tt&amp;gt; (ist aktiv), &amp;lt;tt&amp;gt;i&amp;lt;/tt&amp;gt; (ist nicht aktiv) || gibt an, ob die Gruppe aktiv ist, d.h. ob sie durch einen Klick ausgewählt wurde&lt;br /&gt;
|-&lt;br /&gt;
|| &amp;lt;tt&amp;gt;&amp;#039;&amp;#039;D&amp;#039;&amp;#039;&amp;lt;/tt&amp;gt; ||  &amp;lt;tt&amp;gt;exp&amp;lt;/tt&amp;gt; (ausgeklappt), cll(eingeklappt) || gibt an, ob die Untergruppen dieser Gruppe ausgeklappt sind oder nicht&lt;br /&gt;
|-&lt;br /&gt;
|| &amp;lt;tt&amp;gt;&amp;#039;&amp;#039;E&amp;#039;&amp;#039;&amp;lt;/tt&amp;gt; ||  &amp;lt;tt&amp;gt;_hover&amp;lt;/tt&amp;gt; (Mauszeiger ist über dem Element), nichts (Mauszeiger ist nicht über dem Element) || gibt an, ob sich der Mauszeiger über dem Gruppennamen befindet oder nicht&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Mithilfe dieses Schemas kann man nun bestimmen, welche CSS-Klassen man in der CSS-Datei angeben muss um bestimmte Effekte hervorzurufen.&lt;br /&gt;
Möchte man beispielsweise, dass alle Elemente der zweitobersten Ebene blinken, wenn der Mauszeiger über dem Element ist, so notiert man in der CSS-Datei:&lt;br /&gt;
&amp;lt;code&amp;gt;[css, N]&lt;br /&gt;
div#course_categories_menu div#level_1_r_a_exp_hover,&lt;br /&gt;
div#course_categories_menu div#level_1_r_a_cll_hover,&lt;br /&gt;
div#course_categories_menu div#level_1_r_i_exp_hover,&lt;br /&gt;
div#course_categories_menu div#level_1_r_i_cll_hover,&lt;br /&gt;
div#course_categories_menu div#level_1_e_a_exp_hover,&lt;br /&gt;
div#course_categories_menu div#level_1_e_a_cll_hover,&lt;br /&gt;
div#course_categories_menu div#level_1_e_i_exp_hover,&lt;br /&gt;
div#course_categories_menu div#level_1_e_i_cll_hover {&lt;br /&gt;
  text-decoration:blink;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Diese Struktur der &amp;lt;tt&amp;gt;div&amp;lt;/tt&amp;gt;-Tags wiederholt sich mit tieferen Gruppenebenen / Untergruppen. Zum Beispiel tauchen die &amp;lt;tt&amp;gt;div&amp;lt;/tt&amp;gt;-Tags der Untergruppen vom &amp;#039;&amp;#039;Über uns&amp;#039;&amp;#039;-Menüpunkt aus der Muster-Website 3 innerhalb des &amp;lt;tt&amp;gt;group_fold_4&amp;lt;/tt&amp;gt; - &amp;lt;tt&amp;gt;div&amp;lt;/tt&amp;gt; - Tags auf.&lt;br /&gt;
&lt;br /&gt;
Weitere Informationen über die CSS-Klassen kann man schnell erhalten, indem man sich den HTML-Code eines generierten dynamischen Menüs anschaut, zum Beispiel aus der Muster-Website 3.&lt;br /&gt;
&lt;br /&gt;
==Templates==&lt;br /&gt;
Diese Templates liegen im Ordner &amp;lt;tt&amp;gt;dynpg/plugins/DPGdynmenu/templates&amp;lt;/tt&amp;gt;. Hier finden sie Ordner, die jeweils eine &amp;lt;tt&amp;gt;menu.tpl&amp;lt;/tt&amp;gt; enthalten. Welcher dieser Ordner aktiv ist, bestimmen Sie durch das Global &amp;lt;tt&amp;gt;$GLOBALS[&amp;quot;DynPG&amp;quot;]-&amp;gt;SetParam_PlugIn_Template(&amp;#039;DPGdynmenu&amp;#039;, &amp;#039;TEMPLATEORDNER&amp;#039;);&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Die Templates dienen als Vorlage für die Generierung des HTML-Codes der dynamischen Navigation. In ihnen werden auch die CSS-Klassen definiert, welche in [[#CSS|CSS]] erklärt wurden. Außerdem finden hier Templateplatzhalter der Form &amp;lt;tt&amp;gt;&amp;lt;nowiki&amp;gt;{$PLATZHALTER}&amp;lt;/nowiki&amp;gt;&amp;lt;/tt&amp;gt; Verwendung, die DynPG dynamisch durch Inhalt ersetzt.&lt;br /&gt;
&lt;br /&gt;
Das Template &amp;#039;&amp;#039;horizontal&amp;#039;&amp;#039; der Musterwebsite 3 generiert beispielsweise ein horizontales Menü, während das Template &amp;#039;&amp;#039;intelligent&amp;#039;&amp;#039; ein vertikales Menü erzeugt.&lt;br /&gt;
&lt;br /&gt;
Modifikationen an den Templates sind recht komplex. Sollten Sie vorhaben hier Änderungen durchzuführen, wenden Sie sich an das DynPG-Forum.&lt;br /&gt;
&lt;br /&gt;
==Feste Links einbauen==&lt;br /&gt;
&lt;br /&gt;
Hierzu erstellt man im Backend eine Gruppe mit dem Namen des festen Links und merkt sich die Gruppennummer. Mittels des Plugin-Parameters &amp;lt;tt&amp;gt;&amp;#039;href_subpages&amp;#039;&amp;lt;/tt&amp;gt; setzt man für diese Gruppennummer nun als Ziel die Datei &amp;lt;tt&amp;gt;counter.php&amp;lt;/tt&amp;gt; fest und übergibt dieser als Parameter das feste Linkziel. Beispiel: Wir wollen einen Link auf die Google-Webseite setzen. Also erstellen wir im Backend eine Gruppe mit dem Namen &amp;#039;&amp;#039;Google-Websuche&amp;#039;&amp;#039; und notieren die Gruppennummer (z.B. 33). In die PHP-Datei unserer dynamischen Navigation fügen wir nun folgendes ein:&lt;br /&gt;
&amp;lt;code&amp;gt;[php, N]&lt;br /&gt;
$GLOBALS[&amp;quot;DynPG&amp;quot;]-&amp;gt;SetParam_PlugIn_Param(&lt;br /&gt;
  &amp;#039;DPGdynmenu&amp;#039;,&lt;br /&gt;
  &amp;#039;href_subpages&amp;#039;,&lt;br /&gt;
  Array(&lt;br /&gt;
	33 =&amp;gt; Array(&lt;br /&gt;
      &amp;#039;page&amp;#039; =&amp;gt; &amp;#039;counter.php?inc=http://www.google.com&amp;#039;,&lt;br /&gt;
      &amp;#039;successors&amp;#039; =&amp;gt; true&lt;br /&gt;
    )		&lt;br /&gt;
  )&lt;br /&gt;
);&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Mehrsprachiges Menü==&lt;br /&gt;
&lt;br /&gt;
Hierzu gibt es einen Thread in unserem Forum unter [http://www.dynpg.ch/dynpg-forum.php?t=&amp;amp;read_group=30&amp;amp;thread_id=47&amp;amp;tt=Sprachwechsel]. Die grundsätzliche Idee ist (bei zwei Sprachen) zwei Gruppenbäume im Backend aufzubauen. Die oberste Gruppe des ersten Baumes wäre beispielsweise die Gruppe &amp;#039;&amp;#039;Deutsch&amp;#039;&amp;#039;, die oberste Gruppe des zweiten Baumes wäre zum Beispiel &amp;#039;&amp;#039;English&amp;#039;&amp;#039;.&lt;br /&gt;
&lt;br /&gt;
In der zweiten Ebene kommen dann unter &amp;#039;&amp;#039;Deutsch&amp;#039;&amp;#039; bzw. &amp;#039;&amp;#039;English&amp;#039;&amp;#039; Untergruppen wie &amp;#039;&amp;#039;News&amp;#039;&amp;#039;/&amp;#039;&amp;#039;Nachrichten&amp;#039;&amp;#039;, &amp;#039;&amp;#039;Produkte&amp;#039;&amp;#039;/&amp;#039;&amp;#039;Products&amp;#039;&amp;#039;, &amp;#039;&amp;#039;Hilfe&amp;#039;&amp;#039;/&amp;#039;&amp;#039;Support&amp;#039;&amp;#039; und so weiter. Man erstellt sich nun zwei PHP-Dateien (&amp;lt;tt&amp;gt;navi_de.php&amp;lt;/tt&amp;gt;, &amp;lt;tt&amp;gt;navi_en.php&amp;lt;/tt&amp;gt;) wie oben beschrieben [[#Einrichten|Einrichten]]. In diesen wird dann mit den Befehlen aus [[#Globalsreferenz|Globalsreferenz]] der jeweils nicht passende Baum ausgeblendet.&lt;br /&gt;
&lt;br /&gt;
==Siehe auch==&lt;br /&gt;
*[[Sitemap-Tutorial]]&lt;br /&gt;
*[[Implementation eines kompletten Hauptmenüs]]&lt;br /&gt;
*[[Code-Schnipsel Einfaches Hauptmenü]]&lt;br /&gt;
*[[Code-Schnipsel Menüeinträge sortieren]]&lt;br /&gt;
*[[Snippet-Beispiele]]&lt;/div&gt;</summary>
		<author><name>Sebastian</name></author>	</entry>

	<entry>
		<id>https://wiki-en.dynpg.org/wiki_de/index.php?title=Dynamische_Navigation</id>
		<title>Dynamische Navigation</title>
		<link rel="alternate" type="text/html" href="https://wiki-en.dynpg.org/wiki_de/index.php?title=Dynamische_Navigation"/>
				<updated>2009-08-16T18:03:54Z</updated>
		
		<summary type="html">&lt;p&gt;Sebastian: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Kategorie:Module]]&lt;br /&gt;
==Beschreibung==&lt;br /&gt;
Die dynamische Navigation ist Bestandteil des kostenlosen Grundmoduls von DynPG und bereits im Standard-DynPG integriert. Es ist keine separate Installation notwendig. Sie ermöglicht es Ihnen einfach und flexibel Navigationen auf Ihrer Homepage zu erstellen. Die Anwendungsmöglichkeiten gestalten sich dabei flexibel als normales Menü oder auch als Sitemap.&lt;br /&gt;
&lt;br /&gt;
Ein dynamisches Menü bildet die Gruppenstruktur im Backend als Menü ab, macht also die logische Struktur ihrer Artikel aus dem Backend auf einer Webseite sichtbar und navigierbar.&lt;br /&gt;
&lt;br /&gt;
Der Vorteil ist, dass man im Backend neue Gruppen o.ä. erstellt und diese dann im Hauptmenü erscheinen. Dies ist auch bei Untergruppen nützlich,&lt;br /&gt;
z.B. wenn eine neue Untergruppe &amp;#039;&amp;#039;Lokalnachrichten&amp;#039;&amp;#039; zur Hauptgruppe &amp;#039;&amp;#039;News&amp;#039;&amp;#039; hinzukommt.&lt;br /&gt;
&lt;br /&gt;
Zum Verständnis der Funktionsvielfalt der dynamischen Navigation ist es hilfreich, einmal eine der [[Muster-Web-Sites|Musterwebsites]] zu installieren und in den entsprechenden Dateien der Musterwebsite die unten erklärten Einstellungsmöglichkeiten nachzuvollziehen und vielleicht auch einmal mit den Optionen herumzuspielen.&lt;br /&gt;
&lt;br /&gt;
==Einrichten==&lt;br /&gt;
&amp;#039;&amp;#039;Anmerkung: Benutzen sie die [[Muster-Web-Sites|Musterwebsites]], so müssen die nachfolgenden zwei Schritte nicht ausgeführt werden, da die dynamische Navigation bereits in den Musterwebsites genutzt wird&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
===Schritt 1: Artikel erstellen mit Platzhalter für die dynamische Navigation===&lt;br /&gt;
Wählen Sie im Menü des Backends &amp;#039;&amp;#039;Gruppen&amp;#039;&amp;#039; aus [[Media:dynmenue01.png|Klick]]. Suchen Sie sich nun eine Gruppe, in der Sie einen Artikel erfassen wollen. Hier wählen wir (die in diesem Falle schon vorhandene) Gruppe &amp;#039;&amp;#039;Startseite/Navigation/Formular&amp;#039;&amp;#039; durch Klick auf ihren Namen aus [[Media:dynmenue02.png|Klick]].&lt;br /&gt;
&lt;br /&gt;
Mit einem Klick auf &amp;#039;&amp;#039;Artikel Formular anzeigen&amp;#039;&amp;#039; [[Media:dynmenue03.PNG|Klick]] und danach auf &amp;#039;&amp;#039;Inhalt bearbeiten&amp;#039;&amp;#039; [[Media:dynmenue04.PNG|Klick]] erscheint der Editor.&lt;br /&gt;
&lt;br /&gt;
In diesem wählen Sie das Symbol für die dynamische Navigation [[Media:dynmenue05.PNG|Klick]], geben noch einen Titel, etwa &amp;#039;&amp;#039;Neue Seitennavigation&amp;#039;&amp;#039;, ein und bestätigen mit einem Klick auf &amp;#039;&amp;#039;Erstellen&amp;#039;&amp;#039; [[Media:dynmenue06.PNG|Klick]]. &lt;br /&gt;
&lt;br /&gt;
Hat alles geklappt, können Sie im unteren Teil der Seite den neuen Artikel sehen [[Media:dynmenue07.PNG|Klick]]. Die Nummer des Artikels benötigen Sie erneut, wenn Sie in eine PHP-Datei mittels eines Globals die dynamische Navigation einbinden.&lt;br /&gt;
&lt;br /&gt;
===Schritt 2: PHP-Datei für die dynamische Navigation erstellen===&lt;br /&gt;
Folgende Ordner-Struktur könnte bei Ihnen vorliegen:&lt;br /&gt;
:*&amp;lt;tt&amp;gt;http-docs/dynpg&amp;lt;/tt&amp;gt; : hier liegt das DynPG-CMS&lt;br /&gt;
:*&amp;lt;tt&amp;gt;http-docs/index.php&amp;lt;/tt&amp;gt; : die Hauptseite Ihrer Website&lt;br /&gt;
:*&amp;lt;tt&amp;gt;http-docs/folgeseite.php&amp;lt;/tt&amp;gt; : eine andere PHP-Datei der Website&lt;br /&gt;
:*&amp;lt;tt&amp;gt;http-docs/inc/navi.php&amp;lt;/tt&amp;gt; : In diese Datei platziert man häufig den Code für die Navigation, dadurch ist er leichter wiederverwendbar&lt;br /&gt;
&lt;br /&gt;
Den nötigen Code der &amp;lt;tt&amp;gt;inc/navi.php&amp;lt;/tt&amp;gt; kann man anhand der [[Muster-Web-Sites|Musterwebsites]] nachvollziehen (Für eine genauere Erklärung der einzelnen verwendeten Globals siehe die [[Funktionsreferenz/Globals|Globals-Übersicht von DynPG]] und weiter unten die [[#Globalsreferenz|Funktionsübersicht der dynamischen Navigation]]) :&lt;br /&gt;
:*&amp;#039;&amp;#039;&amp;#039;&amp;lt;tt&amp;gt;inc/navi.php&amp;lt;/tt&amp;gt;:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;code&amp;gt;[php, N]&lt;br /&gt;
&amp;lt;?php&lt;br /&gt;
  $GLOBALS[&amp;quot;DynPG&amp;quot;]-&amp;gt;SetParam_PlugIn_Template(&amp;#039;DPGdynmenu&amp;#039;, &amp;#039;intelligent&amp;#039;);&lt;br /&gt;
  $GLOBALS[&amp;quot;DynPG&amp;quot;]-&amp;gt;SetParam_PlugIn_Param(&amp;#039;DPGdynmenu&amp;#039;, &amp;#039;real_expand&amp;#039;, TRUE);&lt;br /&gt;
  $GLOBALS[&amp;quot;DynPG&amp;quot;]-&amp;gt;SetParam_PlugIn_Param(&amp;#039;DPGdynmenu&amp;#039;, &amp;#039;order&amp;#039;, Array(&amp;#039;INDEX&amp;#039;));&lt;br /&gt;
  $GLOBALS[&amp;quot;DynPG&amp;quot;]-&amp;gt;SetParam_PlugIn_Param(&amp;#039;DPGdynmenu&amp;#039;, &amp;#039;sort&amp;#039;, Array(&amp;#039;ASC&amp;#039;));&lt;br /&gt;
  $GLOBALS[&amp;quot;DynPG&amp;quot;]-&amp;gt;SetParam_PlugIn_Param(&amp;#039;DPGdynmenu&amp;#039;, &amp;#039;href_page_groups&amp;#039;, &amp;#039;../folgeseite.php&amp;#039;);&lt;br /&gt;
  $GLOBALS[&amp;quot;DynPG&amp;quot;]-&amp;gt;SetParam_PlugIn_Param(&amp;#039;DPGdynmenu&amp;#039;, &amp;#039;href_page_articles&amp;#039;, &amp;#039;../folgeseite.php&amp;#039;);&lt;br /&gt;
  $GLOBALS[&amp;quot;DynPG&amp;quot;]-&amp;gt;SetParam_PlugIn_Param(&amp;#039;DPGdynmenu&amp;#039;, &amp;#039;href_page_detail&amp;#039;, &amp;#039;../folgeseite.php&amp;#039;);&lt;br /&gt;
  $GLOBALS[&amp;quot;DynPG&amp;quot;]-&amp;gt;SetParam_PlugIn_Param(&lt;br /&gt;
    &amp;#039;DPGdynmenu&amp;#039;,&lt;br /&gt;
    &amp;#039;href_subpages&amp;#039;,&lt;br /&gt;
    Array(&lt;br /&gt;
      0 =&amp;gt; Array(&lt;br /&gt;
        &amp;#039;page&amp;#039; =&amp;gt; &amp;#039;../formular.php{query}&amp;#039;,&lt;br /&gt;
        &amp;#039;successors&amp;#039; =&amp;gt; true&lt;br /&gt;
      ),&lt;br /&gt;
      21 =&amp;gt; Array(&lt;br /&gt;
        &amp;#039;page&amp;#039; =&amp;gt; &amp;#039;../blog.php{query}&amp;#039;,&lt;br /&gt;
        &amp;#039;successors&amp;#039; =&amp;gt; true&lt;br /&gt;
      ),&lt;br /&gt;
      15 =&amp;gt; Array(&lt;br /&gt;
        &amp;#039;page&amp;#039; =&amp;gt; &amp;#039;../sitemap.php{query}&amp;#039;,&lt;br /&gt;
        &amp;#039;successors&amp;#039; =&amp;gt; true&lt;br /&gt;
      ),&lt;br /&gt;
      16 =&amp;gt; Array(&lt;br /&gt;
        &amp;#039;page&amp;#039; =&amp;gt; &amp;#039;../veranstaltungen.php{query}&amp;#039;,&lt;br /&gt;
        &amp;#039;successors&amp;#039; =&amp;gt; true&lt;br /&gt;
      ),&lt;br /&gt;
      21 =&amp;gt; Array(&lt;br /&gt;
        &amp;#039;page&amp;#039; =&amp;gt; &amp;#039;../blog.php{query}&amp;#039;,&lt;br /&gt;
        &amp;#039;successors&amp;#039; =&amp;gt; true&lt;br /&gt;
      ),&lt;br /&gt;
      6 =&amp;gt; Array(&lt;br /&gt;
        &amp;#039;page&amp;#039; =&amp;gt; &amp;#039;../index.php{query}&amp;#039;,&lt;br /&gt;
        &amp;#039;successors&amp;#039; =&amp;gt; true&lt;br /&gt;
      )&lt;br /&gt;
    )&lt;br /&gt;
  );    &lt;br /&gt;
  $GLOBALS[&amp;quot;DynPG&amp;quot;]-&amp;gt;SetupTemplate(&amp;#039;uneditable&amp;#039;); &lt;br /&gt;
  $GLOBALS[&amp;quot;DynPG&amp;quot;]-&amp;gt;SetParam_A_Anytime(TRUE);&lt;br /&gt;
  $GLOBALS[&amp;quot;DynPG&amp;quot;]-&amp;gt;SetParam_A_CategoryNavigation(FALSE);&lt;br /&gt;
  $GLOBALS[&amp;quot;DynPG&amp;quot;]-&amp;gt;SetParam_A_PrintNavigation(FALSE);&lt;br /&gt;
  $GLOBALS[&amp;quot;DynPG&amp;quot;]-&amp;gt;SetParam_A_ArticleHeader(FALSE);&lt;br /&gt;
  $GLOBALS[&amp;quot;DynPG&amp;quot;]-&amp;gt;SetParam_A_Article(1);&lt;br /&gt;
&lt;br /&gt;
  $GLOBALS[&amp;quot;DynPG&amp;quot;]-&amp;gt;Write_Article();&lt;br /&gt;
  $GLOBALS[&amp;quot;DynPG&amp;quot;]-&amp;gt;SetupTemplate(&amp;#039;default&amp;#039;);  &lt;br /&gt;
?&amp;gt;&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Man kann nun in der &amp;lt;tt&amp;gt;index.php&amp;lt;/tt&amp;gt; mittels &lt;br /&gt;
&amp;lt;code&amp;gt;[php, N]&lt;br /&gt;
&amp;lt;?php include(&amp;quot;inc/navi.php&amp;quot;); ?&amp;gt;&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
die Navigation einbinden, ebenso z.B. auch in der &amp;lt;tt&amp;gt;folgeseite.php&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Die dynamische Navigation kann nun an verschiedenen Stellen angepasst werden. Neben den Globals in der PHP-Datei ([[#Globalsreferenz|Globalsreferenz]]) ist dies im Backend durch das Erstellen von Gruppen und Artikeln möglich ([[#Dynamische_Navigation_im_Backend|Dynamische Navigation im Backend]]). Erweiterte Möglichkeiten ergeben sich durch das [[#CSS|CSS]] und die [[#Templates|Templates]].&lt;br /&gt;
&lt;br /&gt;
==Die dynamische Navigation im Backend==&lt;br /&gt;
&lt;br /&gt;
Wie bereits erwähnt, bildet die dynamische Navigation die Gruppenstruktur des Backends auf einer Webseite ab. In der Musterwebsite 3 ist im Backend zum Beispiel folgende Gruppenstruktur zu erkennen:&lt;br /&gt;
[[Media:dynmenue08.PNG|Klick]].&lt;br /&gt;
Auf der Website sieht dies dann wie folgt aus:&lt;br /&gt;
[[Media:dynmenue09.PNG|Klick]]&lt;br /&gt;
oder auch&lt;br /&gt;
[[Media:dynmenue10.PNG|Klick]]&lt;br /&gt;
.&lt;br /&gt;
&lt;br /&gt;
Welche Untergruppen angezeigt werden, hängt zum einen davon ab, welcher Navigationspunkt gerade aktiv ist (also angeklickt wurde) und zum anderen von den benutzten Globals in der PHP-Datei ([[#Globalsreferenz|z.B. Parameter &amp;#039;full_load&amp;#039;]] und den Einstellungen der Gruppe im Backend. &lt;br /&gt;
&lt;br /&gt;
In diesen Einstellungen kann man z.B. auch bestimmen, dass eine bestimmte Gruppe nicht im Menü der Website sichtbar ist (so zum Beispiel die Gruppe &amp;quot;Diverses&amp;quot; aus der Musterwebsite 3). Die Eigenschaftenseite der Gruppe erreicht man über einen Klick auf:&lt;br /&gt;
[[Media:dynmenue11.PNG|Klick]]&lt;br /&gt;
. Unter dem Punkt &amp;#039;&amp;#039;Veröffentlichen&amp;#039;&amp;#039;&lt;br /&gt;
[[Media:dynmenue12.PNG|Klick]])&lt;br /&gt;
wählt man nun die Option &amp;#039;&amp;#039;Nein&amp;#039;&amp;#039; aus. &lt;br /&gt;
&lt;br /&gt;
Die Option &amp;#039;&amp;#039;Ja&amp;#039;&amp;#039; führt dazu, dass auf der Website der Navigationspunkt &amp;#039;&amp;#039;Diverses&amp;#039;&amp;#039; erscheint&lt;br /&gt;
[[Media:dynmenue14.PNG|Klick]]&lt;br /&gt;
. Ist der Punkt &amp;#039;&amp;#039;Diverses&amp;#039;&amp;#039; ausgewählt, erscheinen auch die Untergruppen&lt;br /&gt;
[[Media:dynmenue13.PNG|Klick]]&lt;br /&gt;
.&lt;br /&gt;
&lt;br /&gt;
==Globalsreferenz==&lt;br /&gt;
===Globals direkt für das Plugin===&lt;br /&gt;
&amp;#039;&amp;#039;Die Parameter haben Default-Werte, müssen also nicht immer gesetzt werden&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;tt&amp;gt;$GLOBALS[&amp;quot;DynPG&amp;quot;]-&amp;gt;SetParam_PlugIn_Template(&amp;#039;DPGdynmenu&amp;#039;, &amp;#039;TEMPLATEORDNER&amp;#039;);&amp;lt;/tt&amp;gt;:&lt;br /&gt;
:Hiermit wählt man den Template-Ordner für die dynamische Navigation aus. Diese Template-Ordner liegen in &amp;lt;tt&amp;gt;dynpg/plugins/DPGdynmenu/templates&amp;lt;/tt&amp;gt;. Aus diesem Ordner wird die Template-Datei &amp;lt;tt&amp;gt;menu.tpl&amp;lt;/tt&amp;gt; zur Generierung des Menüs genommen. Dies ist unabhängig vom Global &amp;lt;tt&amp;gt;$GLOBALS[&amp;quot;DynPG&amp;quot;]-&amp;gt;SetupTemplate(...);&amp;lt;/tt&amp;gt;, der sozusagen das Template des Artikels bestimmt, welcher die dynamische Navigation enthält.&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;tt&amp;gt;$GLOBALS[&amp;quot;DynPG&amp;quot;]-&amp;gt;SetParam_PlugIn_Param(&amp;#039;DPGdynmenu&amp;#039;, PARAMETERNAME, PARAMETERWERT);&amp;lt;/tt&amp;gt;&lt;br /&gt;
:{| class=&amp;quot;dynpgwikitable&amp;quot;&lt;br /&gt;
! &amp;lt;tt&amp;gt;PARAMETERNAME&amp;lt;/tt&amp;gt; !! &amp;lt;tt&amp;gt;PARAMETERWERT&amp;lt;/tt&amp;gt; !! Beschreibung&lt;br /&gt;
|-&lt;br /&gt;
||&amp;lt;tt&amp;gt;&amp;#039;order&amp;#039;&amp;lt;/tt&amp;gt; || &amp;lt;tt&amp;gt;Array(&amp;#039;INDEX&amp;#039;)&amp;lt;/tt&amp;gt; oder &amp;lt;tt&amp;gt;Array(&amp;#039;NAME&amp;#039;)&amp;lt;/tt&amp;gt; || Reihenfolge der Gruppen in der Navigation nach Name oder im Backend gesetzten Index&lt;br /&gt;
|-&lt;br /&gt;
||&amp;lt;tt&amp;gt;&amp;#039;sort&amp;#039;&amp;lt;/tt&amp;gt; || &amp;lt;tt&amp;gt;Array(&amp;#039;ASC&amp;#039;)&amp;lt;/tt&amp;gt; oder &amp;lt;tt&amp;gt;Array(&amp;#039;DESC&amp;#039;)&amp;lt;/tt&amp;gt; || aufsteigende oder absteigende Sortierung&lt;br /&gt;
|-&lt;br /&gt;
||&amp;lt;tt&amp;gt;&amp;#039;order_articles&amp;#039;&amp;lt;/tt&amp;gt; || z.B. &amp;lt;tt&amp;gt;Array(&amp;#039;INDEX&amp;#039;)&amp;lt;/tt&amp;gt; || sortiert Artikel in der dynamischen Navigation (falls diese angezeigt werden) &lt;br /&gt;
|-&lt;br /&gt;
||&amp;lt;tt&amp;gt;&amp;#039;sort_articles&amp;#039;&amp;lt;/tt&amp;gt; || z.B. &amp;lt;tt&amp;gt;Array(&amp;#039;ASC&amp;#039;)&amp;lt;/tt&amp;gt; || bestimmt aufsteigende oder absteigende Sortierreihenfolge der Artikel&lt;br /&gt;
|-&lt;br /&gt;
||&amp;lt;tt&amp;gt;&amp;#039;href_page_groups&amp;#039;&amp;lt;/tt&amp;gt; || z.B. &amp;lt;tt&amp;gt;&amp;#039;../folgeseite.php&amp;#039;&amp;lt;/tt&amp;gt; || Seite auf die weiterverlinkt wird bei einem Klick auf den Gruppennamen (ACHTUNG &amp;lt;tt&amp;gt;&amp;#039;../&amp;#039;&amp;lt;/tt&amp;gt; wichtig, siehe Ordnerstruktur weiter oben!)&lt;br /&gt;
|-&lt;br /&gt;
||&amp;lt;tt&amp;gt;&amp;#039;href_page_articles&amp;#039;&amp;lt;/tt&amp;gt; || z.B. &amp;lt;tt&amp;gt;&amp;#039;../folgeseite.php&amp;#039;&amp;lt;/tt&amp;gt; ||&lt;br /&gt;
|-&lt;br /&gt;
||&amp;lt;tt&amp;gt;&amp;#039;href_page_detail&amp;#039;&amp;lt;/tt&amp;gt; || z.B. &amp;lt;tt&amp;gt;&amp;#039;../folgeseite.php&amp;#039;&amp;lt;/tt&amp;gt; || Seite auf die weiterverlinkt wird bei einem Klick auf Artikelnamen in dynamischer Navigation (sofern Artikel angezeigt werden)&lt;br /&gt;
|-&lt;br /&gt;
||&amp;lt;tt&amp;gt;&amp;#039;href_subpages&amp;#039;&amp;lt;/tt&amp;gt; || z.B. &amp;lt;pre&amp;gt;Array(&lt;br /&gt;
  GRUPPENNUMMER =&amp;gt; Array( &lt;br /&gt;
    &amp;#039;page&amp;#039; =&amp;gt; &amp;#039;PHP-SEITE{query}&amp;#039;,&lt;br /&gt;
    &amp;#039;successors&amp;#039; =&amp;gt; true&lt;br /&gt;
  ),&lt;br /&gt;
.................&lt;br /&gt;
  GRUPPENNUMMER =&amp;gt; Array( &lt;br /&gt;
    &amp;#039;page&amp;#039; =&amp;gt; &amp;#039;PHP-SEITE&amp;#039;,&lt;br /&gt;
    &amp;#039;successors&amp;#039; =&amp;gt; true&lt;br /&gt;
  ) &lt;br /&gt;
)&amp;lt;/pre&amp;gt; || Ermöglicht für bestimmte Gruppen auf eine andere &amp;lt;tt&amp;gt;PHP-SEITE&amp;lt;/tt&amp;gt; zu verlinken&lt;br /&gt;
|-&lt;br /&gt;
||&amp;lt;tt&amp;gt;&amp;#039;full_load&amp;#039;&amp;lt;/tt&amp;gt; || &amp;lt;tt&amp;gt;false&amp;lt;/tt&amp;gt; oder &amp;lt;tt&amp;gt;true&amp;lt;/tt&amp;gt; || zeigt unabhängig von angeklickten Gruppen den kompletten Navigationsbaum mit Untergruppen an (oder auch nicht)&lt;br /&gt;
|-&lt;br /&gt;
|| &amp;lt;tt&amp;gt;&amp;#039;full_load_articles&amp;#039;&amp;lt;/tt&amp;gt; || &amp;lt;tt&amp;gt;false&amp;lt;/tt&amp;gt; ||&lt;br /&gt;
|-&lt;br /&gt;
|| &amp;lt;tt&amp;gt;&amp;#039;limit_articles&amp;#039;&amp;lt;/tt&amp;gt; || &amp;lt;tt&amp;gt;false&amp;lt;/tt&amp;gt; ||&lt;br /&gt;
|-&lt;br /&gt;
|| &amp;lt;tt&amp;gt;&amp;#039;expand_subtree&amp;#039;&amp;lt;/tt&amp;gt; || &amp;lt;tt&amp;gt;Array(4)&amp;lt;/tt&amp;gt; oder &amp;lt;tt&amp;gt;Array(4,5)&amp;lt;/tt&amp;gt; etc. || zeigt die Untergruppen von Gruppe 4 (bzw. 4 und 5) in jedem Fall an. Sei Gruppe 4 bspw. die Gruppe &amp;#039;&amp;#039;News&amp;#039;&amp;#039; des Backends, dann werden die beispielhaften Untergruppen &amp;#039;&amp;#039;Lokalnachrichten&amp;#039;&amp;#039; und &amp;#039;&amp;#039;Weltnachrichten&amp;#039;&amp;#039; immer zur Navigation angeboten, auch wenn sich ein Benutzer auf der Website gerade einen Artikel aus der Gruppe &amp;#039;&amp;#039;Kontakt&amp;#039;&amp;#039; anschaut&lt;br /&gt;
|- &lt;br /&gt;
|| &amp;lt;tt&amp;gt;&amp;#039;implode_subtree&amp;#039;&amp;lt;/tt&amp;gt; || &amp;lt;tt&amp;gt;Array(4)&amp;lt;/tt&amp;gt; oder &amp;lt;tt&amp;gt;Array(4,5)&amp;lt;/tt&amp;gt; etc. || zeigt die Untergruppen von Gruppe 4 (bzw. 4 und 5) in jedem Fall NICHT an. Anmerkung: der Parameter &amp;lt;tt&amp;gt;expand_subtree&amp;lt;/tt&amp;gt; überschreibt diese Einstellung! Ist also eine Gruppe in beiden Parametern aufgeführt, so werden die Untergruppen dieser Gruppe immer angezeigt, da der Parameter &amp;lt;tt&amp;gt;expand_subtree&amp;lt;/tt&amp;gt; wichtiger ist.&lt;br /&gt;
|-&lt;br /&gt;
|| &amp;lt;tt&amp;gt;&amp;#039;real_expand&amp;#039;&amp;lt;/tt&amp;gt; || &amp;lt;tt&amp;gt;false&amp;lt;/tt&amp;gt; ||&lt;br /&gt;
|-&lt;br /&gt;
|| &amp;lt;tt&amp;gt;&amp;#039;speed_mode&amp;#039;&amp;lt;/tt&amp;gt; || &amp;lt;tt&amp;gt;false&amp;lt;/tt&amp;gt; ||&lt;br /&gt;
|-&lt;br /&gt;
|| &amp;lt;tt&amp;gt;&amp;#039;parent_select&amp;#039;&amp;lt;/tt&amp;gt; || &amp;lt;tt&amp;gt;true&amp;lt;/tt&amp;gt; ||&lt;br /&gt;
|-&lt;br /&gt;
|| &amp;lt;tt&amp;gt;&amp;#039;max_depth&amp;#039;&amp;lt;/tt&amp;gt; || &amp;lt;tt&amp;gt;null&amp;lt;/tt&amp;gt; oder &amp;lt;tt&amp;gt;0&amp;lt;/tt&amp;gt; oder &amp;lt;tt&amp;gt;1&amp;lt;/tt&amp;gt; etc. || Tiefe bis zu der (Unter-)Gruppen angezeigt werden&lt;br /&gt;
|-&lt;br /&gt;
|| &amp;lt;tt&amp;gt;&amp;#039;min_depth&amp;#039;&amp;lt;/tt&amp;gt; || &amp;lt;tt&amp;gt;null&amp;lt;/tt&amp;gt; oder &amp;lt;tt&amp;gt;0&amp;lt;/tt&amp;gt; oder &amp;lt;tt&amp;gt;1&amp;lt;/tt&amp;gt; etc. || Tiefe, die eine Gruppe mindestens haben muss um angezeigt zu werden, z.B. 1 um oberste Ebene der Gruppen aus dem Backend auszublenden&lt;br /&gt;
|-&lt;br /&gt;
|| &amp;lt;tt&amp;gt;&amp;#039;fetch_only&amp;#039;&amp;lt;/tt&amp;gt; || &amp;lt;tt&amp;gt;null&amp;lt;/tt&amp;gt; ||&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Sinnvolle Globals vom DynPG-CMS===&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;tt&amp;gt;$GLOBALS[&amp;quot;DynPG&amp;quot;]-&amp;gt;SetupTemplate(&amp;#039;uneditable&amp;#039;);&amp;lt;/tt&amp;gt; : ermöglicht Navigation in der Seite obwohl Editiermodus im Backend angeschaltet ist&lt;br /&gt;
*&amp;lt;tt&amp;gt;$GLOBALS[&amp;quot;DynPG&amp;quot;]-&amp;gt;SetParam_A_Anytime(TRUE);&amp;lt;/tt&amp;gt; : Menü soll immer angezeigt werden&lt;br /&gt;
*&amp;lt;tt&amp;gt;$GLOBALS[&amp;quot;DynPG&amp;quot;]-&amp;gt;SetParam_A_CategoryNavigation(FALSE);&amp;lt;/tt&amp;gt; : keine weitere Navigation(Breadcrumb) anzeigen&lt;br /&gt;
*&amp;lt;tt&amp;gt;$GLOBALS[&amp;quot;DynPG&amp;quot;]-&amp;gt;SetParam_A_PrintNavigation(FALSE);&amp;lt;/tt&amp;gt; : kein Link zu Print-Seite anzeigen&lt;br /&gt;
*&amp;lt;tt&amp;gt;$GLOBALS[&amp;quot;DynPG&amp;quot;]-&amp;gt;SetParam_A_ArticleHeader(FALSE);&amp;lt;/tt&amp;gt; : keine Artikelüberschrift (des Artikels mit dem DynMenü-Platzhalter) und kein Artikelleadtext anzeigen&lt;br /&gt;
*&amp;lt;tt&amp;gt;$GLOBALS[&amp;quot;DynPG&amp;quot;]-&amp;gt;SetParam_A_Article(1);&amp;lt;/tt&amp;gt; : Artikel mit dem Dynmenü-Platzhalter setzen (&amp;#039;&amp;#039;&amp;#039;Hier die Artikelnummer aus [[#Einbinden|Einbinden]] einfügen!&amp;#039;&amp;#039;&amp;#039;)&lt;br /&gt;
*&amp;lt;tt&amp;gt;$GLOBALS[&amp;quot;DynPG&amp;quot;]-&amp;gt;Write_Article();&amp;lt;/tt&amp;gt; : Artikel ausgeben&lt;br /&gt;
*&amp;lt;tt&amp;gt;$GLOBALS[&amp;quot;DynPG&amp;quot;]-&amp;gt;SetupTemplate(&amp;#039;default&amp;#039;);&amp;lt;/tt&amp;gt; : andere Teile der Website haben sicherlich andere Templates. Wir setzen daher hier wieder auf das Standard-Template zurück&lt;br /&gt;
&lt;br /&gt;
===CSS===&lt;br /&gt;
Die CSS-Dateien für die dynamische Navigation liegen im Verzeichnis &amp;lt;tt&amp;gt;dynpg/plugins/DPGdynmenu/styles&amp;lt;/tt&amp;gt;. Die Datei &amp;lt;tt&amp;gt;menu.css&amp;lt;/tt&amp;gt; ist hierbei meist die ausschlaggebende, so zum Beispiel in der Navigation der Musterwebsite 3.&lt;br /&gt;
&lt;br /&gt;
Die CSS-Klassen und -Bezeichner aus dieser Datei sind nach einem bestimmten Schema benannt. Hat man dieses einmal verstanden, so lassen sich leicht Änderungen an speziellen Teilen des Erscheinungsbildes der dynamischen Navigation durchführen.&lt;br /&gt;
&lt;br /&gt;
Die dynamische Navigation wird von einem &amp;lt;tt&amp;gt;div&amp;lt;/tt&amp;gt;-Tag mit der Id &amp;lt;tt&amp;gt;course_categories_menu&amp;lt;/tt&amp;gt; umschlossen.&lt;br /&gt;
&lt;br /&gt;
Diese Angaben gelten also grundsätzlich für die gesamte dynamische Navigation und werden gegebenenfalls weitervererbt.&lt;br /&gt;
Im &amp;lt;tt&amp;gt;menu.css&amp;lt;/tt&amp;gt; der Muster-Website 3 steht beispielsweise:&lt;br /&gt;
&amp;lt;code&amp;gt;[css, N]&lt;br /&gt;
div#course_categories_menu {&lt;br /&gt;
  margin: 0;&lt;br /&gt;
  padding: 0;&lt;br /&gt;
  width: 180px;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Um zu verhindern, dass die CSS-Angaben dieser Datei auch auf andere Teile der Website Einfluss haben, ist vor allen anderen CSS-Definitionen der Datei ebenfalls &amp;lt;tt&amp;gt;div#course_categories_menu&amp;lt;/tt&amp;gt; notiert. Dadurch wirken sich die Angaben nur auf die dynamische Navigation aus.&lt;br /&gt;
&lt;br /&gt;
Innerhalb des &amp;lt;tt&amp;gt;course_categories_menu&amp;lt;/tt&amp;gt; - &amp;lt;tt&amp;gt;div&amp;lt;/tt&amp;gt; - Tags gibt es für jede Gruppe der obersten angezeigten Gruppenebene ein &amp;lt;div&amp;gt;-Tag mit der CSS-Id &amp;lt;tt&amp;gt;group_fold_NUMMER&amp;lt;/tt&amp;gt; wobei &amp;lt;tt&amp;gt;NUMMER&amp;lt;/tt&amp;gt; der Gruppennummer der Gruppe aus dem Backend entspricht. In der Navigation der Muster-Website 3 gibt es also folgende Tags:&lt;br /&gt;
&amp;lt;code&amp;gt;[html, N]&lt;br /&gt;
&amp;lt;div id=&amp;quot;course_categories_menu&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;div id=&amp;quot;group_fold_2&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;  &amp;lt;!--Produkte--&amp;gt;&lt;br /&gt;
  &amp;lt;div id=&amp;quot;group_fold_3&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;  &amp;lt;!--Support--&amp;gt;&lt;br /&gt;
  &amp;lt;div id=&amp;quot;group_fold_9&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;  &amp;lt;!--News--&amp;gt;&lt;br /&gt;
  &amp;lt;div id=&amp;quot;group_fold_4&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;  &amp;lt;!--Über uns--&amp;gt;&lt;br /&gt;
  &amp;lt;div id=&amp;quot;group_fold_5&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;  &amp;lt;!--Kontakt--&amp;gt;&lt;br /&gt;
  &amp;lt;div id=&amp;quot;group_fold_21&amp;quot;&amp;gt;&amp;lt;/div&amp;gt; &amp;lt;!--Blog--&amp;gt;&lt;br /&gt;
  &amp;lt;div id=&amp;quot;group_fold_15&amp;quot;&amp;gt;&amp;lt;/div&amp;gt; &amp;lt;!--Sitemap--&amp;gt;&lt;br /&gt;
  &amp;lt;div id=&amp;quot;group_fold_6&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;  &amp;lt;!--Home--&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
Möchte man nun Eigenschaften nur an einem bestimmten Teil der Navigation machen, so könnte man im CSS-File folgende Angabe machen:&lt;br /&gt;
&amp;lt;code&amp;gt;[css, N]&lt;br /&gt;
div#course_categories_menu div#group_fold_9 {&lt;br /&gt;
  text-decoration:blink;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
Damit würde der Text der Gruppe &amp;#039;&amp;#039;News&amp;#039;&amp;#039; (und eventueller Untergruppen) in der dynamischen Navigation blinken.&lt;br /&gt;
&lt;br /&gt;
Innerhalb der &amp;lt;tt&amp;gt;group_fold_NUMMER&amp;lt;/tt&amp;gt; - &amp;lt;tt&amp;gt;div&amp;lt;/tt&amp;gt; - Tags gibt es nun ein &amp;lt;tt&amp;gt;div&amp;lt;/tt&amp;gt; - Tag, dass (neben einer weiteren CSS-Id) eine CSS-Klasse hat. Diese CSS-Klasse wird nach folgendem Muster gebildet:&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;&amp;lt;tt&amp;gt;level_&amp;#039;&amp;#039;A&amp;#039;&amp;#039;_&amp;#039;&amp;#039;B&amp;#039;&amp;#039;_&amp;#039;&amp;#039;C&amp;#039;&amp;#039;_&amp;#039;&amp;#039;D&amp;#039;&amp;#039;_&amp;#039;&amp;#039;E&amp;#039;&amp;#039;&amp;lt;/tt&amp;gt;&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;dynpgwikitable&amp;quot;&lt;br /&gt;
! Buchstabe !! mögliche Werte !! Beschreibung&lt;br /&gt;
|-&lt;br /&gt;
|| &amp;lt;tt&amp;gt;&amp;#039;&amp;#039;A&amp;#039;&amp;#039;&amp;lt;/tt&amp;gt; || 0 oder 1 oder 2 etc. || gibt das Level der Gruppe an, also die Verzweigungstiefe in der sich die Navigation befindet&lt;br /&gt;
|-&lt;br /&gt;
|| &amp;lt;tt&amp;gt;&amp;#039;&amp;#039;B&amp;#039;&amp;#039;&amp;lt;/tt&amp;gt; || &amp;lt;tt&amp;gt;r&amp;lt;/tt&amp;gt; (nicht letzter), &amp;lt;tt&amp;gt;e&amp;lt;/tt&amp;gt; (letzter) || gibt an, ob nach dieser Gruppe noch weitere aufgelistet werden (z.B. in Musterwebsite 3 ist die Gruppe 6 &amp;quot;Home&amp;quot; die letzte des Menüs)&lt;br /&gt;
|-&lt;br /&gt;
|| &amp;lt;tt&amp;gt;&amp;#039;&amp;#039;C&amp;#039;&amp;#039;&amp;lt;/tt&amp;gt; ||  &amp;lt;tt&amp;gt;a&amp;lt;/tt&amp;gt; (ist aktiv), &amp;lt;tt&amp;gt;i&amp;lt;/tt&amp;gt; (ist nicht aktiv) || gibt an, ob die Gruppe aktiv ist, d.h. ob sie durch einen Klick ausgewählt wurde&lt;br /&gt;
|-&lt;br /&gt;
|| &amp;lt;tt&amp;gt;&amp;#039;&amp;#039;D&amp;#039;&amp;#039;&amp;lt;/tt&amp;gt; ||  &amp;lt;tt&amp;gt;exp&amp;lt;/tt&amp;gt; (ausgeklappt), cll(eingeklappt) || gibt an, ob die Untergruppen dieser Gruppe ausgeklappt sind oder nicht&lt;br /&gt;
|-&lt;br /&gt;
|| &amp;lt;tt&amp;gt;&amp;#039;&amp;#039;E&amp;#039;&amp;#039;&amp;lt;/tt&amp;gt; ||  &amp;lt;tt&amp;gt;_hover&amp;lt;/tt&amp;gt; (Mauszeiger ist über dem Element), nichts (Mauszeiger ist nicht über dem Element) || gibt an, ob sich der Mauszeiger über dem Gruppennamen befindet oder nicht&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Mithilfe dieses Schemas kann man nun bestimmen, welche CSS-Klassen man in der CSS-Datei angeben muss um bestimmte Effekte hervorzurufen.&lt;br /&gt;
Möchte man beispielsweise, dass alle Elemente der zweitobersten Ebene blinken, wenn der Mauszeiger über dem Element ist, so notiert man in der CSS-Datei:&lt;br /&gt;
&amp;lt;code&amp;gt;[css, N]&lt;br /&gt;
div#course_categories_menu div#level_1_r_a_exp_hover,&lt;br /&gt;
div#course_categories_menu div#level_1_r_a_cll_hover,&lt;br /&gt;
div#course_categories_menu div#level_1_r_i_exp_hover,&lt;br /&gt;
div#course_categories_menu div#level_1_r_i_cll_hover,&lt;br /&gt;
div#course_categories_menu div#level_1_e_a_exp_hover,&lt;br /&gt;
div#course_categories_menu div#level_1_e_a_cll_hover,&lt;br /&gt;
div#course_categories_menu div#level_1_e_i_exp_hover,&lt;br /&gt;
div#course_categories_menu div#level_1_e_i_cll_hover {&lt;br /&gt;
  text-decoration:blink;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Diese Struktur der &amp;lt;tt&amp;gt;div&amp;lt;/tt&amp;gt;-Tags wiederholt sich mit tieferen Gruppenebenen / Untergruppen. Zum Beispiel tauchen die &amp;lt;tt&amp;gt;div&amp;lt;/tt&amp;gt;-Tags der Untergruppen vom &amp;#039;&amp;#039;Über uns&amp;#039;&amp;#039;-Menüpunkt aus der Muster-Website 3 innerhalb des &amp;lt;tt&amp;gt;group_fold_4&amp;lt;/tt&amp;gt; - &amp;lt;tt&amp;gt;div&amp;lt;/tt&amp;gt; - Tags auf.&lt;br /&gt;
&lt;br /&gt;
Weitere Informationen über die CSS-Klassen kann man schnell erhalten, indem man sich den HTML-Code eines generierten dynamischen Menüs anschaut, zum Beispiel aus der Muster-Website 3.&lt;br /&gt;
&lt;br /&gt;
==Templates==&lt;br /&gt;
Diese Templates liegen im Ordner &amp;lt;tt&amp;gt;dynpg/plugins/DPGdynmenu/templates&amp;lt;/tt&amp;gt;. Hier finden sie Ordner, die jeweils eine &amp;lt;tt&amp;gt;menu.tpl&amp;lt;/tt&amp;gt; enthalten. Welcher dieser Ordner aktiv ist, bestimmen Sie durch das Global &amp;lt;tt&amp;gt;$GLOBALS[&amp;quot;DynPG&amp;quot;]-&amp;gt;SetParam_PlugIn_Template(&amp;#039;DPGdynmenu&amp;#039;, &amp;#039;TEMPLATEORDNER&amp;#039;);&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Die Templates dienen als Vorlage für die Generierung des HTML-Codes der dynamischen Navigation. In ihnen werden auch die CSS-Klassen definiert, welche in [[#CSS|CSS]] erklärt wurden. Außerdem finden hier Templateplatzhalter der Form &amp;lt;tt&amp;gt;&amp;lt;nowiki&amp;gt;{$PLATZHALTER}&amp;lt;/nowiki&amp;gt;&amp;lt;/tt&amp;gt; Verwendung, die DynPG dynamisch durch Inhalt ersetzt.&lt;br /&gt;
&lt;br /&gt;
Das Template &amp;#039;&amp;#039;horizontal&amp;#039;&amp;#039; der Musterwebsite 3 generiert beispielsweise ein horizontales Menü, während das Template &amp;#039;&amp;#039;intelligent&amp;#039;&amp;#039; ein vertikales Menü erzeugt.&lt;br /&gt;
&lt;br /&gt;
Modifikationen an den Templates sind recht komplex. Sollten Sie vorhaben hier Änderungen durchzuführen, wenden Sie sich an das DynPG-Forum.&lt;br /&gt;
&lt;br /&gt;
==Feste Links einbauen==&lt;br /&gt;
&lt;br /&gt;
Hierzu erstellt man im Backend eine Gruppe mit dem Namen des festen Links und merkt sich die Gruppennummer. Mittels des Plugin-Parameters &amp;lt;tt&amp;gt;&amp;#039;href_subpages&amp;#039;&amp;lt;/tt&amp;gt; setzt man für diese Gruppennummer nun als Ziel die Datei &amp;lt;tt&amp;gt;counter.php&amp;lt;/tt&amp;gt; fest und übergibt dieser als Parameter das feste Linkziel. Beispiel: Wir wollen einen Link auf die Google-Webseite setzen. Also erstellen wir im Backend eine Gruppe mit dem Namen &amp;#039;&amp;#039;Google-Websuche&amp;#039;&amp;#039; und notieren die Gruppennummer (z.B. 33). In die PHP-Datei unserer dynamischen Navigation fügen wir nun folgendes ein:&lt;br /&gt;
&amp;lt;code&amp;gt;[php, N]&lt;br /&gt;
$GLOBALS[&amp;quot;DynPG&amp;quot;]-&amp;gt;SetParam_PlugIn_Param(&lt;br /&gt;
  &amp;#039;DPGdynmenu&amp;#039;,&lt;br /&gt;
  &amp;#039;href_subpages&amp;#039;,&lt;br /&gt;
  Array(&lt;br /&gt;
	33 =&amp;gt; Array(&lt;br /&gt;
      &amp;#039;page&amp;#039; =&amp;gt; &amp;#039;counter.php?inc=http://www.google.com&amp;#039;,&lt;br /&gt;
      &amp;#039;successors&amp;#039; =&amp;gt; true&lt;br /&gt;
    )		&lt;br /&gt;
  )&lt;br /&gt;
);&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Mehrsprachiges Menü==&lt;br /&gt;
&lt;br /&gt;
Hierzu gibt es einen Thread in unserem Forum unter [http://www.dynpg.ch/dynpg-forum.php?t=&amp;amp;read_group=30&amp;amp;thread_id=47&amp;amp;tt=Sprachwechsel]. Die grundsätzliche Idee ist (bei zwei Sprachen) zwei Gruppenbäume im Backend aufzubauen. Die oberste Gruppe des ersten Baumes wäre beispielsweise die Gruppe &amp;#039;&amp;#039;Deutsch&amp;#039;&amp;#039;, die oberste Gruppe des zweiten Baumes wäre zum Beispiel &amp;#039;&amp;#039;English&amp;#039;&amp;#039;.&lt;br /&gt;
&lt;br /&gt;
In der zweiten Ebene kommen dann unter &amp;#039;&amp;#039;Deutsch&amp;#039;&amp;#039; bzw. &amp;#039;&amp;#039;English&amp;#039;&amp;#039; Untergruppen wie &amp;#039;&amp;#039;News&amp;#039;&amp;#039;/&amp;#039;&amp;#039;Nachrichten&amp;#039;&amp;#039;, &amp;#039;&amp;#039;Produkte&amp;#039;&amp;#039;/&amp;#039;&amp;#039;Products&amp;#039;&amp;#039;, &amp;#039;&amp;#039;Hilfe&amp;#039;&amp;#039;/&amp;#039;&amp;#039;Support&amp;#039;&amp;#039; und so weiter. Man erstellt sich nun zwei PHP-Dateien (&amp;lt;tt&amp;gt;navi_de.php&amp;lt;/tt&amp;gt;, &amp;lt;tt&amp;gt;navi_en.php&amp;lt;/tt&amp;gt;) wie oben beschrieben [[#Einrichten|Einrichten]]. In diesen wird dann mit den Befehlen aus [[#Globalsreferenz|Globalsreferenz]] der jeweils nicht passende Baum ausgeblendet.&lt;br /&gt;
&lt;br /&gt;
==Siehe auch==&lt;br /&gt;
*[[Sitemap-Tutorial]]&lt;br /&gt;
*[[Implementation eines kompletten Hauptmenüs]]&lt;br /&gt;
*[[Code-Schnipsel Einfaches Hauptmenü]]&lt;br /&gt;
*[[Code-Schnipsel Menüeinträge sortieren]]&lt;br /&gt;
*[[Snippet-Beispiele]]&lt;/div&gt;</summary>
		<author><name>Sebastian</name></author>	</entry>

	<entry>
		<id>https://wiki-en.dynpg.org/wiki_de/index.php?title=Dynamische_Navigation</id>
		<title>Dynamische Navigation</title>
		<link rel="alternate" type="text/html" href="https://wiki-en.dynpg.org/wiki_de/index.php?title=Dynamische_Navigation"/>
				<updated>2009-08-16T17:58:09Z</updated>
		
		<summary type="html">&lt;p&gt;Sebastian: /* Die dynamische Navigation im Backend */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Kategorie:Module]]&lt;br /&gt;
==Beschreibung==&lt;br /&gt;
Die dynamische Navigation ist Bestandteil des kostenlosen Grundmoduls von DynPG und bereits im Standard-DynPG integriert. Es ist keine separate Installation notwendig. Sie ermöglicht es Ihnen einfach und flexibel Navigationen auf Ihrer Homepage zu erstellen. Die Anwendungsmöglichkeiten gestalten sich dabei flexibel als normales Menü oder auch als Sitemap.&lt;br /&gt;
&lt;br /&gt;
Ein dynamisches Menü bildet die Gruppenstruktur im Backend als Menü ab, macht also die logische Struktur ihrer Artikel aus dem Backend auf einer Webseite sichtbar und navigierbar.&lt;br /&gt;
&lt;br /&gt;
Der Vorteil ist, dass man im Backend neue Gruppen o.ä. erstellt und diese dann im Hauptmenü erscheinen. Dies ist auch bei Untergruppen nützlich,&lt;br /&gt;
z.B. wenn eine neue Untergruppe &amp;#039;&amp;#039;Lokalnachrichten&amp;#039;&amp;#039; zur Hauptgruppe &amp;#039;&amp;#039;News&amp;#039;&amp;#039; hinzukommt.&lt;br /&gt;
&lt;br /&gt;
Zum Verständnis der Funktionsvielfalt der dynamischen Navigation ist es hilfreich, einmal eine der [[Muster-Web-Sites|Musterwebsites]] zu installieren und in den entsprechenden Dateien der Musterwebsite die unten erklärten Einstellungsmöglichkeiten nachzuvollziehen und vielleicht auch einmal mit den Optionen herumzuspielen.&lt;br /&gt;
&lt;br /&gt;
==Einrichten==&lt;br /&gt;
&amp;#039;&amp;#039;Anmerkung: Benutzen sie die [[Muster-Web-Sites|Musterwebsites]], so müssen die nachfolgenden zwei Schritte nicht ausgeführt werden, da die dynamische Navigation bereits in den Musterwebsites genutzt wird&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
===Schritt 1: Artikel erstellen mit Platzhalter für die dynamische Navigation===&lt;br /&gt;
Wählen Sie im Menü des Backends &amp;#039;&amp;#039;Gruppen&amp;#039;&amp;#039; aus [[Bild:dynmenue01.png|thumb]]. Suchen Sie sich nun eine Gruppe, in der Sie einen Artikel erfassen wollen. Hier wählen wir (die in diesem Falle schon vorhandene) Gruppe &amp;#039;&amp;#039;Startseite/Navigation/Formular&amp;#039;&amp;#039; durch Klick auf ihren Namen aus [[Bild:dynmenue02.png|thumb]].&lt;br /&gt;
&lt;br /&gt;
Mit einem Klick auf &amp;#039;&amp;#039;Artikel Formular anzeigen&amp;#039;&amp;#039; [[Bild:dynmenue03.png|thumb]] und danach auf &amp;#039;&amp;#039;Inhalt bearbeiten&amp;#039;&amp;#039; [[Bild:dynmenue04.png|thumb]] erscheint der Editor.&lt;br /&gt;
&lt;br /&gt;
In diesem wählen Sie das Symbol für die dynamische Navigation [[Bild:dynmenue05.png|thumb]], geben noch einen Titel, etwa &amp;#039;&amp;#039;Neue Seitennavigation&amp;#039;&amp;#039;, ein und bestätigen mit einem Klick auf &amp;#039;&amp;#039;Erstellen&amp;#039;&amp;#039; [[Bild:dynmenue06.png|thumb]]. &lt;br /&gt;
&lt;br /&gt;
Hat alles geklappt, können Sie im unteren Teil der Seite den neuen Artikel sehen [[Bild:dynmenue07.png|thumb]]. Die Nummer des Artikels benötigen Sie erneut, wenn Sie in eine PHP-Datei mittels eines Globals die dynamische Navigation einbinden.&lt;br /&gt;
&lt;br /&gt;
===Schritt 2: PHP-Datei für die dynamische Navigation erstellen===&lt;br /&gt;
Folgende Ordner-Struktur könnte bei Ihnen vorliegen:&lt;br /&gt;
:*&amp;lt;tt&amp;gt;http-docs/dynpg&amp;lt;/tt&amp;gt; : hier liegt das DynPG-CMS&lt;br /&gt;
:*&amp;lt;tt&amp;gt;http-docs/index.php&amp;lt;/tt&amp;gt; : die Hauptseite Ihrer Website&lt;br /&gt;
:*&amp;lt;tt&amp;gt;http-docs/folgeseite.php&amp;lt;/tt&amp;gt; : eine andere PHP-Datei der Website&lt;br /&gt;
:*&amp;lt;tt&amp;gt;http-docs/inc/navi.php&amp;lt;/tt&amp;gt; : In diese Datei platziert man häufig den Code für die Navigation, dadurch ist er leichter wiederverwendbar&lt;br /&gt;
&lt;br /&gt;
Den nötigen Code der &amp;lt;tt&amp;gt;inc/navi.php&amp;lt;/tt&amp;gt; kann man anhand der [[Muster-Web-Sites|Musterwebsites]] nachvollziehen (Für eine genauere Erklärung der einzelnen verwendeten Globals siehe die [[Funktionsreferenz/Globals|Globals-Übersicht von DynPG]] und weiter unten die [#Globalsreferenz Funktionsübersicht der dynamischen Navigation]) :&lt;br /&gt;
:*&amp;#039;&amp;#039;&amp;#039;&amp;lt;tt&amp;gt;inc/navi.php&amp;lt;/tt&amp;gt;:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;code&amp;gt;[php, N]&lt;br /&gt;
&amp;lt;?php&lt;br /&gt;
  $GLOBALS[&amp;quot;DynPG&amp;quot;]-&amp;gt;SetParam_PlugIn_Template(&amp;#039;DPGdynmenu&amp;#039;, &amp;#039;intelligent&amp;#039;);&lt;br /&gt;
  $GLOBALS[&amp;quot;DynPG&amp;quot;]-&amp;gt;SetParam_PlugIn_Param(&amp;#039;DPGdynmenu&amp;#039;, &amp;#039;real_expand&amp;#039;, TRUE);&lt;br /&gt;
  $GLOBALS[&amp;quot;DynPG&amp;quot;]-&amp;gt;SetParam_PlugIn_Param(&amp;#039;DPGdynmenu&amp;#039;, &amp;#039;order&amp;#039;, Array(&amp;#039;INDEX&amp;#039;));&lt;br /&gt;
  $GLOBALS[&amp;quot;DynPG&amp;quot;]-&amp;gt;SetParam_PlugIn_Param(&amp;#039;DPGdynmenu&amp;#039;, &amp;#039;sort&amp;#039;, Array(&amp;#039;ASC&amp;#039;));&lt;br /&gt;
  $GLOBALS[&amp;quot;DynPG&amp;quot;]-&amp;gt;SetParam_PlugIn_Param(&amp;#039;DPGdynmenu&amp;#039;, &amp;#039;href_page_groups&amp;#039;, &amp;#039;../folgeseite.php&amp;#039;);&lt;br /&gt;
  $GLOBALS[&amp;quot;DynPG&amp;quot;]-&amp;gt;SetParam_PlugIn_Param(&amp;#039;DPGdynmenu&amp;#039;, &amp;#039;href_page_articles&amp;#039;, &amp;#039;../folgeseite.php&amp;#039;);&lt;br /&gt;
  $GLOBALS[&amp;quot;DynPG&amp;quot;]-&amp;gt;SetParam_PlugIn_Param(&amp;#039;DPGdynmenu&amp;#039;, &amp;#039;href_page_detail&amp;#039;, &amp;#039;../folgeseite.php&amp;#039;);&lt;br /&gt;
  $GLOBALS[&amp;quot;DynPG&amp;quot;]-&amp;gt;SetParam_PlugIn_Param(&lt;br /&gt;
    &amp;#039;DPGdynmenu&amp;#039;,&lt;br /&gt;
    &amp;#039;href_subpages&amp;#039;,&lt;br /&gt;
    Array(&lt;br /&gt;
      0 =&amp;gt; Array(&lt;br /&gt;
        &amp;#039;page&amp;#039; =&amp;gt; &amp;#039;../formular.php{query}&amp;#039;,&lt;br /&gt;
        &amp;#039;successors&amp;#039; =&amp;gt; true&lt;br /&gt;
      ),&lt;br /&gt;
      21 =&amp;gt; Array(&lt;br /&gt;
        &amp;#039;page&amp;#039; =&amp;gt; &amp;#039;../blog.php{query}&amp;#039;,&lt;br /&gt;
        &amp;#039;successors&amp;#039; =&amp;gt; true&lt;br /&gt;
      ),&lt;br /&gt;
      15 =&amp;gt; Array(&lt;br /&gt;
        &amp;#039;page&amp;#039; =&amp;gt; &amp;#039;../sitemap.php{query}&amp;#039;,&lt;br /&gt;
        &amp;#039;successors&amp;#039; =&amp;gt; true&lt;br /&gt;
      ),&lt;br /&gt;
      16 =&amp;gt; Array(&lt;br /&gt;
        &amp;#039;page&amp;#039; =&amp;gt; &amp;#039;../veranstaltungen.php{query}&amp;#039;,&lt;br /&gt;
        &amp;#039;successors&amp;#039; =&amp;gt; true&lt;br /&gt;
      ),&lt;br /&gt;
      21 =&amp;gt; Array(&lt;br /&gt;
        &amp;#039;page&amp;#039; =&amp;gt; &amp;#039;../blog.php{query}&amp;#039;,&lt;br /&gt;
        &amp;#039;successors&amp;#039; =&amp;gt; true&lt;br /&gt;
      ),&lt;br /&gt;
      6 =&amp;gt; Array(&lt;br /&gt;
        &amp;#039;page&amp;#039; =&amp;gt; &amp;#039;../index.php{query}&amp;#039;,&lt;br /&gt;
        &amp;#039;successors&amp;#039; =&amp;gt; true&lt;br /&gt;
      )&lt;br /&gt;
    )&lt;br /&gt;
  );    &lt;br /&gt;
  $GLOBALS[&amp;quot;DynPG&amp;quot;]-&amp;gt;SetupTemplate(&amp;#039;uneditable&amp;#039;); &lt;br /&gt;
  $GLOBALS[&amp;quot;DynPG&amp;quot;]-&amp;gt;SetParam_A_Anytime(TRUE);&lt;br /&gt;
  $GLOBALS[&amp;quot;DynPG&amp;quot;]-&amp;gt;SetParam_A_CategoryNavigation(FALSE);&lt;br /&gt;
  $GLOBALS[&amp;quot;DynPG&amp;quot;]-&amp;gt;SetParam_A_PrintNavigation(FALSE);&lt;br /&gt;
  $GLOBALS[&amp;quot;DynPG&amp;quot;]-&amp;gt;SetParam_A_ArticleHeader(FALSE);&lt;br /&gt;
  $GLOBALS[&amp;quot;DynPG&amp;quot;]-&amp;gt;SetParam_A_Article(1);&lt;br /&gt;
&lt;br /&gt;
  $GLOBALS[&amp;quot;DynPG&amp;quot;]-&amp;gt;Write_Article();&lt;br /&gt;
  $GLOBALS[&amp;quot;DynPG&amp;quot;]-&amp;gt;SetupTemplate(&amp;#039;default&amp;#039;);  &lt;br /&gt;
?&amp;gt;&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Man kann nun in der &amp;lt;tt&amp;gt;index.php&amp;lt;/tt&amp;gt; mittels &lt;br /&gt;
&amp;lt;code&amp;gt;[php, N]&lt;br /&gt;
&amp;lt;?php include(&amp;quot;inc/navi.php&amp;quot;); ?&amp;gt;&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
die Navigation einbinden, ebenso z.B. auch in der &amp;lt;tt&amp;gt;folgeseite.php&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Die dynamische Navigation kann nun an verschiedenen Stellen angepasst werden. Neben den Globals in der PHP-Datei ([#Globalsreferenz]) ist dies im Backend durch das Erstellen von Gruppen und Artikeln möglich ([#Dynamische_Navigation_im_Backend]). Erweiterte Möglichkeiten ergeben sich durch das [#CSS] und die [#Templates].&lt;br /&gt;
&lt;br /&gt;
==Die dynamische Navigation im Backend==&lt;br /&gt;
&lt;br /&gt;
Wie bereits erwähnt, bildet die dynamische Navigation die Gruppenstruktur des Backends auf einer Webseite ab. In der Musterwebsite 3 ist im Backend zum Beispiel folgende Gruppenstruktur zu erkennen:&lt;br /&gt;
[[Media:dynmenue08.PNG|Klick]].&lt;br /&gt;
Auf der Website sieht dies dann wie folgt aus:&lt;br /&gt;
[[Media:dynmenue09.PNG|Klick]]&lt;br /&gt;
oder auch&lt;br /&gt;
[[Media:dynmenue10.PNG|Klick]]&lt;br /&gt;
.&lt;br /&gt;
&lt;br /&gt;
Welche Untergruppen angezeigt werden, hängt zum einen davon ab, welcher Navigationspunkt gerade aktiv ist (also angeklickt wurde) und zum anderen von den benutzten Globals in der PHP-Datei ([[#Globalsreferenz|z.B. Parameter &amp;#039;full_load&amp;#039;]] und den Einstellungen der Gruppe im Backend. &lt;br /&gt;
&lt;br /&gt;
In diesen Einstellungen kann man z.B. auch bestimmen, dass eine bestimmte Gruppe nicht im Menü der Website sichtbar ist (so zum Beispiel die Gruppe &amp;quot;Diverses&amp;quot; aus der Musterwebsite 3). Die Eigenschaftenseite der Gruppe erreicht man über einen Klick auf:&lt;br /&gt;
[[Media:dynmenue11.PNG|Klick]]&lt;br /&gt;
. Unter dem Punkt &amp;#039;&amp;#039;Veröffentlichen&amp;#039;&amp;#039;&lt;br /&gt;
[[Media:dynmenue12.PNG|Klick]])&lt;br /&gt;
wählt man nun die Option &amp;#039;&amp;#039;Nein&amp;#039;&amp;#039; aus. &lt;br /&gt;
&lt;br /&gt;
Die Option &amp;#039;&amp;#039;Ja&amp;#039;&amp;#039; führt dazu, dass auf der Website der Navigationspunkt &amp;#039;&amp;#039;Diverses&amp;#039;&amp;#039; erscheint&lt;br /&gt;
[[Media:dynmenue14.PNG|Klick]]&lt;br /&gt;
. Ist der Punkt &amp;#039;&amp;#039;Diverses&amp;#039;&amp;#039; ausgewählt, erscheinen auch die Untergruppen&lt;br /&gt;
[[Media:dynmenue13.PNG|Klick]]&lt;br /&gt;
.&lt;br /&gt;
&lt;br /&gt;
==Globalsreferenz==&lt;br /&gt;
===Globals direkt für das Plugin===&lt;br /&gt;
&amp;#039;&amp;#039;Die Parameter haben Default-Werte, müssen also nicht immer gesetzt werden&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;tt&amp;gt;$GLOBALS[&amp;quot;DynPG&amp;quot;]-&amp;gt;SetParam_PlugIn_Template(&amp;#039;DPGdynmenu&amp;#039;, &amp;#039;TEMPLATEORDNER&amp;#039;);&amp;lt;/tt&amp;gt;:&lt;br /&gt;
:Hiermit wählt man den Template-Ordner für die dynamische Navigation aus. Diese Template-Ordner liegen in &amp;lt;tt&amp;gt;dynpg/plugins/DPGdynmenu/templates&amp;lt;/tt&amp;gt;. Aus diesem Ordner wird die Template-Datei &amp;lt;tt&amp;gt;menu.tpl&amp;lt;/tt&amp;gt; zur Generierung des Menüs genommen. Dies ist unabhängig vom Global &amp;lt;tt&amp;gt;$GLOBALS[&amp;quot;DynPG&amp;quot;]-&amp;gt;SetupTemplate(...);&amp;lt;/tt&amp;gt;, der sozusagen das Template des Artikels bestimmt, welcher die dynamische Navigation enthält.&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;tt&amp;gt;$GLOBALS[&amp;quot;DynPG&amp;quot;]-&amp;gt;SetParam_PlugIn_Param(&amp;#039;DPGdynmenu&amp;#039;, PARAMETERNAME, PARAMETERWERT);&amp;lt;/tt&amp;gt;&lt;br /&gt;
:{| class=&amp;quot;dynpgwikitable&amp;quot;&lt;br /&gt;
! &amp;lt;tt&amp;gt;PARAMETERNAME&amp;lt;/tt&amp;gt; !! &amp;lt;tt&amp;gt;PARAMETERWERT&amp;lt;/tt&amp;gt; !! Beschreibung&lt;br /&gt;
|-&lt;br /&gt;
||&amp;lt;tt&amp;gt;&amp;#039;order&amp;#039;&amp;lt;/tt&amp;gt; || &amp;lt;tt&amp;gt;Array(&amp;#039;INDEX&amp;#039;)&amp;lt;/tt&amp;gt; oder &amp;lt;tt&amp;gt;Array(&amp;#039;NAME&amp;#039;)&amp;lt;/tt&amp;gt; || Reihenfolge der Gruppen in der Navigation nach Name oder im Backend gesetzten Index&lt;br /&gt;
|-&lt;br /&gt;
||&amp;lt;tt&amp;gt;&amp;#039;sort&amp;#039;&amp;lt;/tt&amp;gt; || &amp;lt;tt&amp;gt;Array(&amp;#039;ASC&amp;#039;)&amp;lt;/tt&amp;gt; oder &amp;lt;tt&amp;gt;Array(&amp;#039;DESC&amp;#039;)&amp;lt;/tt&amp;gt; || aufsteigende oder absteigende Sortierung&lt;br /&gt;
|-&lt;br /&gt;
||&amp;lt;tt&amp;gt;&amp;#039;order_articles&amp;#039;&amp;lt;/tt&amp;gt; || z.B. &amp;lt;tt&amp;gt;Array(&amp;#039;INDEX&amp;#039;)&amp;lt;/tt&amp;gt; || sortiert Artikel in der dynamischen Navigation (falls diese angezeigt werden) &lt;br /&gt;
|-&lt;br /&gt;
||&amp;lt;tt&amp;gt;&amp;#039;sort_articles&amp;#039;&amp;lt;/tt&amp;gt; || z.B. &amp;lt;tt&amp;gt;Array(&amp;#039;ASC&amp;#039;)&amp;lt;/tt&amp;gt; || bestimmt aufsteigende oder absteigende Sortierreihenfolge der Artikel&lt;br /&gt;
|-&lt;br /&gt;
||&amp;lt;tt&amp;gt;&amp;#039;href_page_groups&amp;#039;&amp;lt;/tt&amp;gt; || z.B. &amp;lt;tt&amp;gt;&amp;#039;../folgeseite.php&amp;#039;&amp;lt;/tt&amp;gt; || Seite auf die weiterverlinkt wird bei einem Klick auf den Gruppennamen (ACHTUNG &amp;lt;tt&amp;gt;&amp;#039;../&amp;#039;&amp;lt;/tt&amp;gt; wichtig, siehe Ordnerstruktur weiter oben!)&lt;br /&gt;
|-&lt;br /&gt;
||&amp;lt;tt&amp;gt;&amp;#039;href_page_articles&amp;#039;&amp;lt;/tt&amp;gt; || z.B. &amp;lt;tt&amp;gt;&amp;#039;../folgeseite.php&amp;#039;&amp;lt;/tt&amp;gt; ||&lt;br /&gt;
|-&lt;br /&gt;
||&amp;lt;tt&amp;gt;&amp;#039;href_page_detail&amp;#039;&amp;lt;/tt&amp;gt; || z.B. &amp;lt;tt&amp;gt;&amp;#039;../folgeseite.php&amp;#039;&amp;lt;/tt&amp;gt; || Seite auf die weiterverlinkt wird bei einem Klick auf Artikelnamen in dynamischer Navigation (sofern Artikel angezeigt werden)&lt;br /&gt;
|-&lt;br /&gt;
||&amp;lt;tt&amp;gt;&amp;#039;href_subpages&amp;#039;&amp;lt;/tt&amp;gt; || z.B. &amp;lt;pre&amp;gt;Array(&lt;br /&gt;
  GRUPPENNUMMER =&amp;gt; Array( &lt;br /&gt;
    &amp;#039;page&amp;#039; =&amp;gt; &amp;#039;PHP-SEITE{query}&amp;#039;,&lt;br /&gt;
    &amp;#039;successors&amp;#039; =&amp;gt; true&lt;br /&gt;
  ),&lt;br /&gt;
.................&lt;br /&gt;
  GRUPPENNUMMER =&amp;gt; Array( &lt;br /&gt;
    &amp;#039;page&amp;#039; =&amp;gt; &amp;#039;PHP-SEITE&amp;#039;,&lt;br /&gt;
    &amp;#039;successors&amp;#039; =&amp;gt; true&lt;br /&gt;
  ) &lt;br /&gt;
)&amp;lt;/pre&amp;gt; || Ermöglicht für bestimmte Gruppen auf eine andere &amp;lt;tt&amp;gt;PHP-SEITE&amp;lt;/tt&amp;gt; zu verlinken&lt;br /&gt;
|-&lt;br /&gt;
||&amp;lt;tt&amp;gt;&amp;#039;full_load&amp;#039;&amp;lt;/tt&amp;gt; || &amp;lt;tt&amp;gt;false&amp;lt;/tt&amp;gt; oder &amp;lt;tt&amp;gt;true&amp;lt;/tt&amp;gt; || zeigt unabhängig von angeklickten Gruppen den kompletten Navigationsbaum mit Untergruppen an (oder auch nicht)&lt;br /&gt;
|-&lt;br /&gt;
|| &amp;lt;tt&amp;gt;&amp;#039;full_load_articles&amp;#039;&amp;lt;/tt&amp;gt; || &amp;lt;tt&amp;gt;false&amp;lt;/tt&amp;gt; ||&lt;br /&gt;
|-&lt;br /&gt;
|| &amp;lt;tt&amp;gt;&amp;#039;limit_articles&amp;#039;&amp;lt;/tt&amp;gt; || &amp;lt;tt&amp;gt;false&amp;lt;/tt&amp;gt; ||&lt;br /&gt;
|-&lt;br /&gt;
|| &amp;lt;tt&amp;gt;&amp;#039;expand_subtree&amp;#039;&amp;lt;/tt&amp;gt; || &amp;lt;tt&amp;gt;Array(4)&amp;lt;/tt&amp;gt; oder &amp;lt;tt&amp;gt;Array(4,5)&amp;lt;/tt&amp;gt; etc. || zeigt die Untergruppen von Gruppe 4 (bzw. 4 und 5) in jedem Fall an. Sei Gruppe 4 bspw. die Gruppe &amp;#039;&amp;#039;News&amp;#039;&amp;#039; des Backends, dann werden die beispielhaften Untergruppen &amp;#039;&amp;#039;Lokalnachrichten&amp;#039;&amp;#039; und &amp;#039;&amp;#039;Weltnachrichten&amp;#039;&amp;#039; immer zur Navigation angeboten, auch wenn sich ein Benutzer auf der Website gerade einen Artikel aus der Gruppe &amp;#039;&amp;#039;Kontakt&amp;#039;&amp;#039; anschaut&lt;br /&gt;
|- &lt;br /&gt;
|| &amp;lt;tt&amp;gt;&amp;#039;implode_subtree&amp;#039;&amp;lt;/tt&amp;gt; || &amp;lt;tt&amp;gt;Array(4)&amp;lt;/tt&amp;gt; oder &amp;lt;tt&amp;gt;Array(4,5)&amp;lt;/tt&amp;gt; etc. || zeigt die Untergruppen von Gruppe 4 (bzw. 4 und 5) in jedem Fall NICHT an. Anmerkung: der Parameter &amp;lt;tt&amp;gt;expand_subtree&amp;lt;/tt&amp;gt; überschreibt diese Einstellung! Ist also eine Gruppe in beiden Parametern aufgeführt, so werden die Untergruppen dieser Gruppe immer angezeigt, da der Parameter &amp;lt;tt&amp;gt;expand_subtree&amp;lt;/tt&amp;gt; wichtiger ist.&lt;br /&gt;
|-&lt;br /&gt;
|| &amp;lt;tt&amp;gt;&amp;#039;real_expand&amp;#039;&amp;lt;/tt&amp;gt; || &amp;lt;tt&amp;gt;false&amp;lt;/tt&amp;gt; ||&lt;br /&gt;
|-&lt;br /&gt;
|| &amp;lt;tt&amp;gt;&amp;#039;speed_mode&amp;#039;&amp;lt;/tt&amp;gt; || &amp;lt;tt&amp;gt;false&amp;lt;/tt&amp;gt; ||&lt;br /&gt;
|-&lt;br /&gt;
|| &amp;lt;tt&amp;gt;&amp;#039;parent_select&amp;#039;&amp;lt;/tt&amp;gt; || &amp;lt;tt&amp;gt;true&amp;lt;/tt&amp;gt; ||&lt;br /&gt;
|-&lt;br /&gt;
|| &amp;lt;tt&amp;gt;&amp;#039;max_depth&amp;#039;&amp;lt;/tt&amp;gt; || &amp;lt;tt&amp;gt;null&amp;lt;/tt&amp;gt; oder &amp;lt;tt&amp;gt;0&amp;lt;/tt&amp;gt; oder &amp;lt;tt&amp;gt;1&amp;lt;/tt&amp;gt; etc. || Tiefe bis zu der (Unter-)Gruppen angezeigt werden&lt;br /&gt;
|-&lt;br /&gt;
|| &amp;lt;tt&amp;gt;&amp;#039;min_depth&amp;#039;&amp;lt;/tt&amp;gt; || &amp;lt;tt&amp;gt;null&amp;lt;/tt&amp;gt; oder &amp;lt;tt&amp;gt;0&amp;lt;/tt&amp;gt; oder &amp;lt;tt&amp;gt;1&amp;lt;/tt&amp;gt; etc. || Tiefe, die eine Gruppe mindestens haben muss um angezeigt zu werden, z.B. 1 um oberste Ebene der Gruppen aus dem Backend auszublenden&lt;br /&gt;
|-&lt;br /&gt;
|| &amp;lt;tt&amp;gt;&amp;#039;fetch_only&amp;#039;&amp;lt;/tt&amp;gt; || &amp;lt;tt&amp;gt;null&amp;lt;/tt&amp;gt; ||&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Sinnvolle Globals vom DynPG-CMS===&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;tt&amp;gt;$GLOBALS[&amp;quot;DynPG&amp;quot;]-&amp;gt;SetupTemplate(&amp;#039;uneditable&amp;#039;);&amp;lt;/tt&amp;gt; : ermöglicht Navigation in der Seite obwohl Editiermodus im Backend angeschaltet ist&lt;br /&gt;
*&amp;lt;tt&amp;gt;$GLOBALS[&amp;quot;DynPG&amp;quot;]-&amp;gt;SetParam_A_Anytime(TRUE);&amp;lt;/tt&amp;gt; : Menü soll immer angezeigt werden&lt;br /&gt;
*&amp;lt;tt&amp;gt;$GLOBALS[&amp;quot;DynPG&amp;quot;]-&amp;gt;SetParam_A_CategoryNavigation(FALSE);&amp;lt;/tt&amp;gt; : keine weitere Navigation(Breadcrumb) anzeigen&lt;br /&gt;
*&amp;lt;tt&amp;gt;$GLOBALS[&amp;quot;DynPG&amp;quot;]-&amp;gt;SetParam_A_PrintNavigation(FALSE);&amp;lt;/tt&amp;gt; : kein Link zu Print-Seite anzeigen&lt;br /&gt;
*&amp;lt;tt&amp;gt;$GLOBALS[&amp;quot;DynPG&amp;quot;]-&amp;gt;SetParam_A_ArticleHeader(FALSE);&amp;lt;/tt&amp;gt; : keine Artikelüberschrift (des Artikels mit dem DynMenü-Platzhalter) und kein Artikelleadtext anzeigen&lt;br /&gt;
*&amp;lt;tt&amp;gt;$GLOBALS[&amp;quot;DynPG&amp;quot;]-&amp;gt;SetParam_A_Article(1);&amp;lt;/tt&amp;gt; : Artikel mit dem Dynmenü-Platzhalter setzen (&amp;#039;&amp;#039;&amp;#039;Hier die Artikelnummer aus [#Einbinden] einfügen!&amp;#039;&amp;#039;&amp;#039;)&lt;br /&gt;
*&amp;lt;tt&amp;gt;$GLOBALS[&amp;quot;DynPG&amp;quot;]-&amp;gt;Write_Article();&amp;lt;/tt&amp;gt; : Artikel ausgeben&lt;br /&gt;
*&amp;lt;tt&amp;gt;$GLOBALS[&amp;quot;DynPG&amp;quot;]-&amp;gt;SetupTemplate(&amp;#039;default&amp;#039;);&amp;lt;/tt&amp;gt; : andere Teile der Website haben sicherlich andere Templates. Wir setzen daher hier wieder auf das Standard-Template zurück&lt;br /&gt;
&lt;br /&gt;
===CSS===&lt;br /&gt;
Die CSS-Dateien für die dynamische Navigation liegen im Verzeichnis &amp;lt;tt&amp;gt;dynpg/plugins/DPGdynmenu/styles&amp;lt;/tt&amp;gt;. Die Datei &amp;lt;tt&amp;gt;menu.css&amp;lt;/tt&amp;gt; ist hierbei meist die ausschlaggebende, so zum Beispiel in der Navigation der Musterwebsite 3.&lt;br /&gt;
&lt;br /&gt;
Die CSS-Klassen und -Bezeichner aus dieser Datei sind nach einem bestimmten Schema benannt. Hat man dieses einmal verstanden, so lassen sich leicht Änderungen an speziellen Teilen des Erscheinungsbildes der dynamischen Navigation durchführen.&lt;br /&gt;
&lt;br /&gt;
Die dynamische Navigation wird von einem &amp;lt;tt&amp;gt;div&amp;lt;/tt&amp;gt;-Tag mit der Id &amp;lt;tt&amp;gt;course_categories_menu&amp;lt;/tt&amp;gt; umschlossen.&lt;br /&gt;
&lt;br /&gt;
Diese Angaben gelten also grundsätzlich für die gesamte dynamische Navigation und werden gegebenenfalls weitervererbt.&lt;br /&gt;
Im &amp;lt;tt&amp;gt;menu.css&amp;lt;/tt&amp;gt; der Muster-Website 3 steht beispielsweise:&lt;br /&gt;
&amp;lt;code&amp;gt;[css, N]&lt;br /&gt;
div#course_categories_menu {&lt;br /&gt;
  margin: 0;&lt;br /&gt;
  padding: 0;&lt;br /&gt;
  width: 180px;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Um zu verhindern, dass die CSS-Angaben dieser Datei auch auf andere Teile der Website Einfluss haben, ist vor allen anderen CSS-Definitionen der Datei ebenfalls &amp;lt;tt&amp;gt;div#course_categories_menu&amp;lt;/tt&amp;gt; notiert. Dadurch wirken sich die Angaben nur auf die dynamische Navigation aus.&lt;br /&gt;
&lt;br /&gt;
Innerhalb des &amp;lt;tt&amp;gt;course_categories_menu&amp;lt;/tt&amp;gt; - &amp;lt;tt&amp;gt;div&amp;lt;/tt&amp;gt; - Tags gibt es für jede Gruppe der obersten angezeigten Gruppenebene ein &amp;lt;div&amp;gt;-Tag mit der CSS-Id &amp;lt;tt&amp;gt;group_fold_NUMMER&amp;lt;/tt&amp;gt; wobei &amp;lt;tt&amp;gt;NUMMER&amp;lt;/tt&amp;gt; der Gruppennummer der Gruppe aus dem Backend entspricht. In der Navigation der Muster-Website 3 gibt es also folgende Tags:&lt;br /&gt;
&amp;lt;code&amp;gt;[html, N]&lt;br /&gt;
&amp;lt;div id=&amp;quot;course_categories_menu&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;div id=&amp;quot;group_fold_2&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;  &amp;lt;!--Produkte--&amp;gt;&lt;br /&gt;
  &amp;lt;div id=&amp;quot;group_fold_3&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;  &amp;lt;!--Support--&amp;gt;&lt;br /&gt;
  &amp;lt;div id=&amp;quot;group_fold_9&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;  &amp;lt;!--News--&amp;gt;&lt;br /&gt;
  &amp;lt;div id=&amp;quot;group_fold_4&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;  &amp;lt;!--Über uns--&amp;gt;&lt;br /&gt;
  &amp;lt;div id=&amp;quot;group_fold_5&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;  &amp;lt;!--Kontakt--&amp;gt;&lt;br /&gt;
  &amp;lt;div id=&amp;quot;group_fold_21&amp;quot;&amp;gt;&amp;lt;/div&amp;gt; &amp;lt;!--Blog--&amp;gt;&lt;br /&gt;
  &amp;lt;div id=&amp;quot;group_fold_15&amp;quot;&amp;gt;&amp;lt;/div&amp;gt; &amp;lt;!--Sitemap--&amp;gt;&lt;br /&gt;
  &amp;lt;div id=&amp;quot;group_fold_6&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;  &amp;lt;!--Home--&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
Möchte man nun Eigenschaften nur an einem bestimmten Teil der Navigation machen, so könnte man im CSS-File folgende Angabe machen:&lt;br /&gt;
&amp;lt;code&amp;gt;[css, N]&lt;br /&gt;
div#course_categories_menu div#group_fold_9 {&lt;br /&gt;
  text-decoration:blink;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
Damit würde der Text der Gruppe &amp;#039;&amp;#039;News&amp;#039;&amp;#039; (und eventueller Untergruppen) in der dynamischen Navigation blinken.&lt;br /&gt;
&lt;br /&gt;
Innerhalb der &amp;lt;tt&amp;gt;group_fold_NUMMER&amp;lt;/tt&amp;gt; - &amp;lt;tt&amp;gt;div&amp;lt;/tt&amp;gt; - Tags gibt es nun ein &amp;lt;tt&amp;gt;div&amp;lt;/tt&amp;gt; - Tag, dass (neben einer weiteren CSS-Id) eine CSS-Klasse hat. Diese CSS-Klasse wird nach folgendem Muster gebildet:&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;&amp;lt;tt&amp;gt;level_&amp;#039;&amp;#039;A&amp;#039;&amp;#039;_&amp;#039;&amp;#039;B&amp;#039;&amp;#039;_&amp;#039;&amp;#039;C&amp;#039;&amp;#039;_&amp;#039;&amp;#039;D&amp;#039;&amp;#039;_&amp;#039;&amp;#039;E&amp;#039;&amp;#039;&amp;lt;/tt&amp;gt;&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;dynpgwikitable&amp;quot;&lt;br /&gt;
! Buchstabe !! mögliche Werte !! Beschreibung&lt;br /&gt;
|-&lt;br /&gt;
|| &amp;lt;tt&amp;gt;&amp;#039;&amp;#039;A&amp;#039;&amp;#039;&amp;lt;/tt&amp;gt; || 0 oder 1 oder 2 etc. || gibt das Level der Gruppe an, also die Verzweigungstiefe in der sich die Navigation befindet&lt;br /&gt;
|-&lt;br /&gt;
|| &amp;lt;tt&amp;gt;&amp;#039;&amp;#039;B&amp;#039;&amp;#039;&amp;lt;/tt&amp;gt; || &amp;lt;tt&amp;gt;r&amp;lt;/tt&amp;gt; (nicht letzter), &amp;lt;tt&amp;gt;e&amp;lt;/tt&amp;gt; (letzter) || gibt an, ob nach dieser Gruppe noch weitere aufgelistet werden (z.B. in Musterwebsite 3 ist die Gruppe 6 &amp;quot;Home&amp;quot; die letzte des Menüs)&lt;br /&gt;
|-&lt;br /&gt;
|| &amp;lt;tt&amp;gt;&amp;#039;&amp;#039;C&amp;#039;&amp;#039;&amp;lt;/tt&amp;gt; ||  &amp;lt;tt&amp;gt;a&amp;lt;/tt&amp;gt; (ist aktiv), &amp;lt;tt&amp;gt;i&amp;lt;/tt&amp;gt; (ist nicht aktiv) || gibt an, ob die Gruppe aktiv ist, d.h. ob sie durch einen Klick ausgewählt wurde&lt;br /&gt;
|-&lt;br /&gt;
|| &amp;lt;tt&amp;gt;&amp;#039;&amp;#039;D&amp;#039;&amp;#039;&amp;lt;/tt&amp;gt; ||  &amp;lt;tt&amp;gt;exp&amp;lt;/tt&amp;gt; (ausgeklappt), cll(eingeklappt) || gibt an, ob die Untergruppen dieser Gruppe ausgeklappt sind oder nicht&lt;br /&gt;
|-&lt;br /&gt;
|| &amp;lt;tt&amp;gt;&amp;#039;&amp;#039;E&amp;#039;&amp;#039;&amp;lt;/tt&amp;gt; ||  &amp;lt;tt&amp;gt;_hover&amp;lt;/tt&amp;gt; (Mauszeiger ist über dem Element), nichts (Mauszeiger ist nicht über dem Element) || gibt an, ob sich der Mauszeiger über dem Gruppennamen befindet oder nicht&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Mithilfe dieses Schemas kann man nun bestimmen, welche CSS-Klassen man in der CSS-Datei angeben muss um bestimmte Effekte hervorzurufen.&lt;br /&gt;
Möchte man beispielsweise, dass alle Elemente der zweitobersten Ebene blinken, wenn der Mauszeiger über dem Element ist, so notiert man in der CSS-Datei:&lt;br /&gt;
&amp;lt;code&amp;gt;[css, N]&lt;br /&gt;
div#course_categories_menu div#level_1_r_a_exp_hover,&lt;br /&gt;
div#course_categories_menu div#level_1_r_a_cll_hover,&lt;br /&gt;
div#course_categories_menu div#level_1_r_i_exp_hover,&lt;br /&gt;
div#course_categories_menu div#level_1_r_i_cll_hover,&lt;br /&gt;
div#course_categories_menu div#level_1_e_a_exp_hover,&lt;br /&gt;
div#course_categories_menu div#level_1_e_a_cll_hover,&lt;br /&gt;
div#course_categories_menu div#level_1_e_i_exp_hover,&lt;br /&gt;
div#course_categories_menu div#level_1_e_i_cll_hover {&lt;br /&gt;
  text-decoration:blink;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Diese Struktur der &amp;lt;tt&amp;gt;div&amp;lt;/tt&amp;gt;-Tags wiederholt sich mit tieferen Gruppenebenen / Untergruppen. Zum Beispiel tauchen die &amp;lt;tt&amp;gt;div&amp;lt;/tt&amp;gt;-Tags der Untergruppen vom &amp;#039;&amp;#039;Über uns&amp;#039;&amp;#039;-Menüpunkt aus der Muster-Website 3 innerhalb des &amp;lt;tt&amp;gt;group_fold_4&amp;lt;/tt&amp;gt; - &amp;lt;tt&amp;gt;div&amp;lt;/tt&amp;gt; - Tags auf.&lt;br /&gt;
&lt;br /&gt;
Weitere Informationen über die CSS-Klassen kann man schnell erhalten, indem man sich den HTML-Code eines generierten dynamischen Menüs anschaut, zum Beispiel aus der Muster-Website 3.&lt;br /&gt;
&lt;br /&gt;
==Templates==&lt;br /&gt;
Diese Templates liegen im Ordner &amp;lt;tt&amp;gt;dynpg/plugins/DPGdynmenu/templates&amp;lt;/tt&amp;gt;. Hier finden sie Ordner, die jeweils eine &amp;lt;tt&amp;gt;menu.tpl&amp;lt;/tt&amp;gt; enthalten. Welcher dieser Ordner aktiv ist, bestimmen Sie durch das Global &amp;lt;tt&amp;gt;$GLOBALS[&amp;quot;DynPG&amp;quot;]-&amp;gt;SetParam_PlugIn_Template(&amp;#039;DPGdynmenu&amp;#039;, &amp;#039;TEMPLATEORDNER&amp;#039;);&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Die Templates dienen als Vorlage für die Generierung des HTML-Codes der dynamischen Navigation. In ihnen werden auch die CSS-Klassen definiert, welche in [#CSS] erklärt wurden. Außerdem finden hier Templateplatzhalter der Form &amp;lt;tt&amp;gt;&amp;lt;nowiki&amp;gt;{$PLATZHALTER}&amp;lt;/nowiki&amp;gt;&amp;lt;/tt&amp;gt; Verwendung, die DynPG dynamisch durch Inhalt ersetzt.&lt;br /&gt;
&lt;br /&gt;
Das Template &amp;#039;&amp;#039;horizontal&amp;#039;&amp;#039; der Musterwebsite 3 generiert beispielsweise ein horizontales Menü, während das Template &amp;#039;&amp;#039;intelligent&amp;#039;&amp;#039; ein vertikales Menü erzeugt.&lt;br /&gt;
&lt;br /&gt;
Modifikationen an den Templates sind recht komplex. Sollten Sie vorhaben hier Änderungen durchzuführen, wenden Sie sich an das DynPG-Forum.&lt;br /&gt;
&lt;br /&gt;
==Feste Links einbauen==&lt;br /&gt;
&lt;br /&gt;
Hierzu erstellt man im Backend eine Gruppe mit dem Namen des festen Links und merkt sich die Gruppennummer. Mittels des Plugin-Parameters &amp;lt;tt&amp;gt;&amp;#039;href_subpages&amp;#039;&amp;lt;/tt&amp;gt; setzt man für diese Gruppennummer nun als Ziel die Datei &amp;lt;tt&amp;gt;counter.php&amp;lt;/tt&amp;gt; fest und übergibt dieser als Parameter das feste Linkziel. Beispiel: Wir wollen einen Link auf die Google-Webseite setzen. Also erstellen wir im Backend eine Gruppe mit dem Namen &amp;#039;&amp;#039;Google-Websuche&amp;#039;&amp;#039; und notieren die Gruppennummer (z.B. 33). In die PHP-Datei unserer dynamischen Navigation fügen wir nun folgendes ein:&lt;br /&gt;
&amp;lt;code&amp;gt;[php, N]&lt;br /&gt;
$GLOBALS[&amp;quot;DynPG&amp;quot;]-&amp;gt;SetParam_PlugIn_Param(&lt;br /&gt;
  &amp;#039;DPGdynmenu&amp;#039;,&lt;br /&gt;
  &amp;#039;href_subpages&amp;#039;,&lt;br /&gt;
  Array(&lt;br /&gt;
	33 =&amp;gt; Array(&lt;br /&gt;
      &amp;#039;page&amp;#039; =&amp;gt; &amp;#039;counter.php?inc=http://www.google.com&amp;#039;,&lt;br /&gt;
      &amp;#039;successors&amp;#039; =&amp;gt; true&lt;br /&gt;
    )		&lt;br /&gt;
  )&lt;br /&gt;
);&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Mehrsprachiges Menü==&lt;br /&gt;
&lt;br /&gt;
Hierzu gibt es einen Thread in unserem Forum unter [http://www.dynpg.ch/dynpg-forum.php?t=&amp;amp;read_group=30&amp;amp;thread_id=47&amp;amp;tt=Sprachwechsel]. Die grundsätzliche Idee ist (bei zwei Sprachen) zwei Gruppenbäume im Backend aufzubauen. Die oberste Gruppe des ersten Baumes wäre beispielsweise die Gruppe &amp;#039;&amp;#039;Deutsch&amp;#039;&amp;#039;, die oberste Gruppe des zweiten Baumes wäre zum Beispiel &amp;#039;&amp;#039;English&amp;#039;&amp;#039;.&lt;br /&gt;
&lt;br /&gt;
In der zweiten Ebene kommen dann unter &amp;#039;&amp;#039;Deutsch&amp;#039;&amp;#039; bzw. &amp;#039;&amp;#039;English&amp;#039;&amp;#039; Untergruppen wie &amp;#039;&amp;#039;News&amp;#039;&amp;#039;/&amp;#039;&amp;#039;Nachrichten&amp;#039;&amp;#039;, &amp;#039;&amp;#039;Produkte&amp;#039;&amp;#039;/&amp;#039;&amp;#039;Products&amp;#039;&amp;#039;, &amp;#039;&amp;#039;Hilfe&amp;#039;&amp;#039;/&amp;#039;&amp;#039;Support&amp;#039;&amp;#039; und so weiter. Man erstellt sich nun zwei PHP-Dateien (&amp;lt;tt&amp;gt;navi_de.php&amp;lt;/tt&amp;gt;, &amp;lt;tt&amp;gt;navi_en.php&amp;lt;/tt&amp;gt;) wie oben beschrieben [#Einrichten]. In diesen wird dann mit den Befehlen aus [#Globalsreferenz] der jeweils nicht passende Baum ausgeblendet.&lt;br /&gt;
&lt;br /&gt;
==Siehe auch==&lt;br /&gt;
*[[Sitemap-Tutorial]]&lt;br /&gt;
*[[Implementation eines kompletten Hauptmenüs]]&lt;br /&gt;
*[[Code-Schnipsel Einfaches Hauptmenü]]&lt;br /&gt;
*[[Code-Schnipsel Menüeinträge sortieren]]&lt;br /&gt;
*[[Snippet-Beispiele]]&lt;/div&gt;</summary>
		<author><name>Sebastian</name></author>	</entry>

	<entry>
		<id>https://wiki-en.dynpg.org/wiki_de/index.php?title=Dynamische_Navigation</id>
		<title>Dynamische Navigation</title>
		<link rel="alternate" type="text/html" href="https://wiki-en.dynpg.org/wiki_de/index.php?title=Dynamische_Navigation"/>
				<updated>2009-08-16T17:54:52Z</updated>
		
		<summary type="html">&lt;p&gt;Sebastian: /* Die dynamische Navigation im Backend */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Kategorie:Module]]&lt;br /&gt;
==Beschreibung==&lt;br /&gt;
Die dynamische Navigation ist Bestandteil des kostenlosen Grundmoduls von DynPG und bereits im Standard-DynPG integriert. Es ist keine separate Installation notwendig. Sie ermöglicht es Ihnen einfach und flexibel Navigationen auf Ihrer Homepage zu erstellen. Die Anwendungsmöglichkeiten gestalten sich dabei flexibel als normales Menü oder auch als Sitemap.&lt;br /&gt;
&lt;br /&gt;
Ein dynamisches Menü bildet die Gruppenstruktur im Backend als Menü ab, macht also die logische Struktur ihrer Artikel aus dem Backend auf einer Webseite sichtbar und navigierbar.&lt;br /&gt;
&lt;br /&gt;
Der Vorteil ist, dass man im Backend neue Gruppen o.ä. erstellt und diese dann im Hauptmenü erscheinen. Dies ist auch bei Untergruppen nützlich,&lt;br /&gt;
z.B. wenn eine neue Untergruppe &amp;#039;&amp;#039;Lokalnachrichten&amp;#039;&amp;#039; zur Hauptgruppe &amp;#039;&amp;#039;News&amp;#039;&amp;#039; hinzukommt.&lt;br /&gt;
&lt;br /&gt;
Zum Verständnis der Funktionsvielfalt der dynamischen Navigation ist es hilfreich, einmal eine der [[Muster-Web-Sites|Musterwebsites]] zu installieren und in den entsprechenden Dateien der Musterwebsite die unten erklärten Einstellungsmöglichkeiten nachzuvollziehen und vielleicht auch einmal mit den Optionen herumzuspielen.&lt;br /&gt;
&lt;br /&gt;
==Einrichten==&lt;br /&gt;
&amp;#039;&amp;#039;Anmerkung: Benutzen sie die [[Muster-Web-Sites|Musterwebsites]], so müssen die nachfolgenden zwei Schritte nicht ausgeführt werden, da die dynamische Navigation bereits in den Musterwebsites genutzt wird&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
===Schritt 1: Artikel erstellen mit Platzhalter für die dynamische Navigation===&lt;br /&gt;
Wählen Sie im Menü des Backends &amp;#039;&amp;#039;Gruppen&amp;#039;&amp;#039; aus [[Bild:dynmenue01.png|thumb]]. Suchen Sie sich nun eine Gruppe, in der Sie einen Artikel erfassen wollen. Hier wählen wir (die in diesem Falle schon vorhandene) Gruppe &amp;#039;&amp;#039;Startseite/Navigation/Formular&amp;#039;&amp;#039; durch Klick auf ihren Namen aus [[Bild:dynmenue02.png|thumb]].&lt;br /&gt;
&lt;br /&gt;
Mit einem Klick auf &amp;#039;&amp;#039;Artikel Formular anzeigen&amp;#039;&amp;#039; [[Bild:dynmenue03.png|thumb]] und danach auf &amp;#039;&amp;#039;Inhalt bearbeiten&amp;#039;&amp;#039; [[Bild:dynmenue04.png|thumb]] erscheint der Editor.&lt;br /&gt;
&lt;br /&gt;
In diesem wählen Sie das Symbol für die dynamische Navigation [[Bild:dynmenue05.png|thumb]], geben noch einen Titel, etwa &amp;#039;&amp;#039;Neue Seitennavigation&amp;#039;&amp;#039;, ein und bestätigen mit einem Klick auf &amp;#039;&amp;#039;Erstellen&amp;#039;&amp;#039; [[Bild:dynmenue06.png|thumb]]. &lt;br /&gt;
&lt;br /&gt;
Hat alles geklappt, können Sie im unteren Teil der Seite den neuen Artikel sehen [[Bild:dynmenue07.png|thumb]]. Die Nummer des Artikels benötigen Sie erneut, wenn Sie in eine PHP-Datei mittels eines Globals die dynamische Navigation einbinden.&lt;br /&gt;
&lt;br /&gt;
===Schritt 2: PHP-Datei für die dynamische Navigation erstellen===&lt;br /&gt;
Folgende Ordner-Struktur könnte bei Ihnen vorliegen:&lt;br /&gt;
:*&amp;lt;tt&amp;gt;http-docs/dynpg&amp;lt;/tt&amp;gt; : hier liegt das DynPG-CMS&lt;br /&gt;
:*&amp;lt;tt&amp;gt;http-docs/index.php&amp;lt;/tt&amp;gt; : die Hauptseite Ihrer Website&lt;br /&gt;
:*&amp;lt;tt&amp;gt;http-docs/folgeseite.php&amp;lt;/tt&amp;gt; : eine andere PHP-Datei der Website&lt;br /&gt;
:*&amp;lt;tt&amp;gt;http-docs/inc/navi.php&amp;lt;/tt&amp;gt; : In diese Datei platziert man häufig den Code für die Navigation, dadurch ist er leichter wiederverwendbar&lt;br /&gt;
&lt;br /&gt;
Den nötigen Code der &amp;lt;tt&amp;gt;inc/navi.php&amp;lt;/tt&amp;gt; kann man anhand der [[Muster-Web-Sites|Musterwebsites]] nachvollziehen (Für eine genauere Erklärung der einzelnen verwendeten Globals siehe die [[Funktionsreferenz/Globals|Globals-Übersicht von DynPG]] und weiter unten die [#Globalsreferenz Funktionsübersicht der dynamischen Navigation]) :&lt;br /&gt;
:*&amp;#039;&amp;#039;&amp;#039;&amp;lt;tt&amp;gt;inc/navi.php&amp;lt;/tt&amp;gt;:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;code&amp;gt;[php, N]&lt;br /&gt;
&amp;lt;?php&lt;br /&gt;
  $GLOBALS[&amp;quot;DynPG&amp;quot;]-&amp;gt;SetParam_PlugIn_Template(&amp;#039;DPGdynmenu&amp;#039;, &amp;#039;intelligent&amp;#039;);&lt;br /&gt;
  $GLOBALS[&amp;quot;DynPG&amp;quot;]-&amp;gt;SetParam_PlugIn_Param(&amp;#039;DPGdynmenu&amp;#039;, &amp;#039;real_expand&amp;#039;, TRUE);&lt;br /&gt;
  $GLOBALS[&amp;quot;DynPG&amp;quot;]-&amp;gt;SetParam_PlugIn_Param(&amp;#039;DPGdynmenu&amp;#039;, &amp;#039;order&amp;#039;, Array(&amp;#039;INDEX&amp;#039;));&lt;br /&gt;
  $GLOBALS[&amp;quot;DynPG&amp;quot;]-&amp;gt;SetParam_PlugIn_Param(&amp;#039;DPGdynmenu&amp;#039;, &amp;#039;sort&amp;#039;, Array(&amp;#039;ASC&amp;#039;));&lt;br /&gt;
  $GLOBALS[&amp;quot;DynPG&amp;quot;]-&amp;gt;SetParam_PlugIn_Param(&amp;#039;DPGdynmenu&amp;#039;, &amp;#039;href_page_groups&amp;#039;, &amp;#039;../folgeseite.php&amp;#039;);&lt;br /&gt;
  $GLOBALS[&amp;quot;DynPG&amp;quot;]-&amp;gt;SetParam_PlugIn_Param(&amp;#039;DPGdynmenu&amp;#039;, &amp;#039;href_page_articles&amp;#039;, &amp;#039;../folgeseite.php&amp;#039;);&lt;br /&gt;
  $GLOBALS[&amp;quot;DynPG&amp;quot;]-&amp;gt;SetParam_PlugIn_Param(&amp;#039;DPGdynmenu&amp;#039;, &amp;#039;href_page_detail&amp;#039;, &amp;#039;../folgeseite.php&amp;#039;);&lt;br /&gt;
  $GLOBALS[&amp;quot;DynPG&amp;quot;]-&amp;gt;SetParam_PlugIn_Param(&lt;br /&gt;
    &amp;#039;DPGdynmenu&amp;#039;,&lt;br /&gt;
    &amp;#039;href_subpages&amp;#039;,&lt;br /&gt;
    Array(&lt;br /&gt;
      0 =&amp;gt; Array(&lt;br /&gt;
        &amp;#039;page&amp;#039; =&amp;gt; &amp;#039;../formular.php{query}&amp;#039;,&lt;br /&gt;
        &amp;#039;successors&amp;#039; =&amp;gt; true&lt;br /&gt;
      ),&lt;br /&gt;
      21 =&amp;gt; Array(&lt;br /&gt;
        &amp;#039;page&amp;#039; =&amp;gt; &amp;#039;../blog.php{query}&amp;#039;,&lt;br /&gt;
        &amp;#039;successors&amp;#039; =&amp;gt; true&lt;br /&gt;
      ),&lt;br /&gt;
      15 =&amp;gt; Array(&lt;br /&gt;
        &amp;#039;page&amp;#039; =&amp;gt; &amp;#039;../sitemap.php{query}&amp;#039;,&lt;br /&gt;
        &amp;#039;successors&amp;#039; =&amp;gt; true&lt;br /&gt;
      ),&lt;br /&gt;
      16 =&amp;gt; Array(&lt;br /&gt;
        &amp;#039;page&amp;#039; =&amp;gt; &amp;#039;../veranstaltungen.php{query}&amp;#039;,&lt;br /&gt;
        &amp;#039;successors&amp;#039; =&amp;gt; true&lt;br /&gt;
      ),&lt;br /&gt;
      21 =&amp;gt; Array(&lt;br /&gt;
        &amp;#039;page&amp;#039; =&amp;gt; &amp;#039;../blog.php{query}&amp;#039;,&lt;br /&gt;
        &amp;#039;successors&amp;#039; =&amp;gt; true&lt;br /&gt;
      ),&lt;br /&gt;
      6 =&amp;gt; Array(&lt;br /&gt;
        &amp;#039;page&amp;#039; =&amp;gt; &amp;#039;../index.php{query}&amp;#039;,&lt;br /&gt;
        &amp;#039;successors&amp;#039; =&amp;gt; true&lt;br /&gt;
      )&lt;br /&gt;
    )&lt;br /&gt;
  );    &lt;br /&gt;
  $GLOBALS[&amp;quot;DynPG&amp;quot;]-&amp;gt;SetupTemplate(&amp;#039;uneditable&amp;#039;); &lt;br /&gt;
  $GLOBALS[&amp;quot;DynPG&amp;quot;]-&amp;gt;SetParam_A_Anytime(TRUE);&lt;br /&gt;
  $GLOBALS[&amp;quot;DynPG&amp;quot;]-&amp;gt;SetParam_A_CategoryNavigation(FALSE);&lt;br /&gt;
  $GLOBALS[&amp;quot;DynPG&amp;quot;]-&amp;gt;SetParam_A_PrintNavigation(FALSE);&lt;br /&gt;
  $GLOBALS[&amp;quot;DynPG&amp;quot;]-&amp;gt;SetParam_A_ArticleHeader(FALSE);&lt;br /&gt;
  $GLOBALS[&amp;quot;DynPG&amp;quot;]-&amp;gt;SetParam_A_Article(1);&lt;br /&gt;
&lt;br /&gt;
  $GLOBALS[&amp;quot;DynPG&amp;quot;]-&amp;gt;Write_Article();&lt;br /&gt;
  $GLOBALS[&amp;quot;DynPG&amp;quot;]-&amp;gt;SetupTemplate(&amp;#039;default&amp;#039;);  &lt;br /&gt;
?&amp;gt;&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Man kann nun in der &amp;lt;tt&amp;gt;index.php&amp;lt;/tt&amp;gt; mittels &lt;br /&gt;
&amp;lt;code&amp;gt;[php, N]&lt;br /&gt;
&amp;lt;?php include(&amp;quot;inc/navi.php&amp;quot;); ?&amp;gt;&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
die Navigation einbinden, ebenso z.B. auch in der &amp;lt;tt&amp;gt;folgeseite.php&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Die dynamische Navigation kann nun an verschiedenen Stellen angepasst werden. Neben den Globals in der PHP-Datei ([#Globalsreferenz]) ist dies im Backend durch das Erstellen von Gruppen und Artikeln möglich ([#Dynamische_Navigation_im_Backend]). Erweiterte Möglichkeiten ergeben sich durch das [#CSS] und die [#Templates].&lt;br /&gt;
&lt;br /&gt;
==Die dynamische Navigation im Backend==&lt;br /&gt;
&lt;br /&gt;
Wie bereits erwähnt, bildet die dynamische Navigation die Gruppenstruktur des Backends auf einer Webseite ab. In der Musterwebsite 3 ist im Backend zum Beispiel folgende Gruppenstruktur zu erkennen:&lt;br /&gt;
[[Media:dynmenue08.PNG|Klick]].&lt;br /&gt;
Auf der Website sieht dies dann wie folgt aus:&lt;br /&gt;
[[Media:dynmenue09.PNG|Klick]]&lt;br /&gt;
oder auch&lt;br /&gt;
[[Media:dynmenue10.PNG|Klick]]&lt;br /&gt;
. Welche Untergruppen angezeigt werden, hängt zum einen davon ab, welcher Navigationspunkt gerade aktiv ist (also angeklickt wurde) und zum anderen von den benutzten Globals in der PHP-Datei [#Globalsreferenz z.B. Parameter &amp;#039;full_load&amp;#039;] und den Einstellungen der Gruppe im Backend. &lt;br /&gt;
&lt;br /&gt;
In diesen Einstellungen kann man z.B. auch bestimmen, dass eine bestimmte Gruppe nicht im Menü der Website sichtbar ist (so zum Beispiel die Gruppe &amp;quot;Diverses&amp;quot; aus der Musterwebsite 3). Die Eigenschaftenseite der Gruppe erreicht man über einen Klick auf:&lt;br /&gt;
[[Media:dynmenue11.PNG|Klick]]&lt;br /&gt;
. Unter dem Punkt &amp;#039;&amp;#039;Veröffentlichen&amp;#039;&amp;#039;&lt;br /&gt;
[[Media:dynmenue12.PNG|Klick]])&lt;br /&gt;
wählt man nun die Option &amp;#039;&amp;#039;Nein&amp;#039;&amp;#039; aus. &lt;br /&gt;
&lt;br /&gt;
Die Option &amp;#039;&amp;#039;Ja&amp;#039;&amp;#039; führt dazu, dass auf der Website der Navigationspunkt &amp;#039;&amp;#039;Diverses&amp;#039;&amp;#039; erscheint&lt;br /&gt;
[[Media:dynmenue14.PNG|Klick]]&lt;br /&gt;
. Ist der Punkt &amp;#039;&amp;#039;Diverses&amp;#039;&amp;#039; ausgewählt, erscheinen auch die Untergruppen&lt;br /&gt;
[[Media:dynmenue13.PNG|Klick]]&lt;br /&gt;
.&lt;br /&gt;
&lt;br /&gt;
==Globalsreferenz==&lt;br /&gt;
===Globals direkt für das Plugin===&lt;br /&gt;
&amp;#039;&amp;#039;Die Parameter haben Default-Werte, müssen also nicht immer gesetzt werden&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;tt&amp;gt;$GLOBALS[&amp;quot;DynPG&amp;quot;]-&amp;gt;SetParam_PlugIn_Template(&amp;#039;DPGdynmenu&amp;#039;, &amp;#039;TEMPLATEORDNER&amp;#039;);&amp;lt;/tt&amp;gt;:&lt;br /&gt;
:Hiermit wählt man den Template-Ordner für die dynamische Navigation aus. Diese Template-Ordner liegen in &amp;lt;tt&amp;gt;dynpg/plugins/DPGdynmenu/templates&amp;lt;/tt&amp;gt;. Aus diesem Ordner wird die Template-Datei &amp;lt;tt&amp;gt;menu.tpl&amp;lt;/tt&amp;gt; zur Generierung des Menüs genommen. Dies ist unabhängig vom Global &amp;lt;tt&amp;gt;$GLOBALS[&amp;quot;DynPG&amp;quot;]-&amp;gt;SetupTemplate(...);&amp;lt;/tt&amp;gt;, der sozusagen das Template des Artikels bestimmt, welcher die dynamische Navigation enthält.&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;tt&amp;gt;$GLOBALS[&amp;quot;DynPG&amp;quot;]-&amp;gt;SetParam_PlugIn_Param(&amp;#039;DPGdynmenu&amp;#039;, PARAMETERNAME, PARAMETERWERT);&amp;lt;/tt&amp;gt;&lt;br /&gt;
:{| class=&amp;quot;dynpgwikitable&amp;quot;&lt;br /&gt;
! &amp;lt;tt&amp;gt;PARAMETERNAME&amp;lt;/tt&amp;gt; !! &amp;lt;tt&amp;gt;PARAMETERWERT&amp;lt;/tt&amp;gt; !! Beschreibung&lt;br /&gt;
|-&lt;br /&gt;
||&amp;lt;tt&amp;gt;&amp;#039;order&amp;#039;&amp;lt;/tt&amp;gt; || &amp;lt;tt&amp;gt;Array(&amp;#039;INDEX&amp;#039;)&amp;lt;/tt&amp;gt; oder &amp;lt;tt&amp;gt;Array(&amp;#039;NAME&amp;#039;)&amp;lt;/tt&amp;gt; || Reihenfolge der Gruppen in der Navigation nach Name oder im Backend gesetzten Index&lt;br /&gt;
|-&lt;br /&gt;
||&amp;lt;tt&amp;gt;&amp;#039;sort&amp;#039;&amp;lt;/tt&amp;gt; || &amp;lt;tt&amp;gt;Array(&amp;#039;ASC&amp;#039;)&amp;lt;/tt&amp;gt; oder &amp;lt;tt&amp;gt;Array(&amp;#039;DESC&amp;#039;)&amp;lt;/tt&amp;gt; || aufsteigende oder absteigende Sortierung&lt;br /&gt;
|-&lt;br /&gt;
||&amp;lt;tt&amp;gt;&amp;#039;order_articles&amp;#039;&amp;lt;/tt&amp;gt; || z.B. &amp;lt;tt&amp;gt;Array(&amp;#039;INDEX&amp;#039;)&amp;lt;/tt&amp;gt; || sortiert Artikel in der dynamischen Navigation (falls diese angezeigt werden) &lt;br /&gt;
|-&lt;br /&gt;
||&amp;lt;tt&amp;gt;&amp;#039;sort_articles&amp;#039;&amp;lt;/tt&amp;gt; || z.B. &amp;lt;tt&amp;gt;Array(&amp;#039;ASC&amp;#039;)&amp;lt;/tt&amp;gt; || bestimmt aufsteigende oder absteigende Sortierreihenfolge der Artikel&lt;br /&gt;
|-&lt;br /&gt;
||&amp;lt;tt&amp;gt;&amp;#039;href_page_groups&amp;#039;&amp;lt;/tt&amp;gt; || z.B. &amp;lt;tt&amp;gt;&amp;#039;../folgeseite.php&amp;#039;&amp;lt;/tt&amp;gt; || Seite auf die weiterverlinkt wird bei einem Klick auf den Gruppennamen (ACHTUNG &amp;lt;tt&amp;gt;&amp;#039;../&amp;#039;&amp;lt;/tt&amp;gt; wichtig, siehe Ordnerstruktur weiter oben!)&lt;br /&gt;
|-&lt;br /&gt;
||&amp;lt;tt&amp;gt;&amp;#039;href_page_articles&amp;#039;&amp;lt;/tt&amp;gt; || z.B. &amp;lt;tt&amp;gt;&amp;#039;../folgeseite.php&amp;#039;&amp;lt;/tt&amp;gt; ||&lt;br /&gt;
|-&lt;br /&gt;
||&amp;lt;tt&amp;gt;&amp;#039;href_page_detail&amp;#039;&amp;lt;/tt&amp;gt; || z.B. &amp;lt;tt&amp;gt;&amp;#039;../folgeseite.php&amp;#039;&amp;lt;/tt&amp;gt; || Seite auf die weiterverlinkt wird bei einem Klick auf Artikelnamen in dynamischer Navigation (sofern Artikel angezeigt werden)&lt;br /&gt;
|-&lt;br /&gt;
||&amp;lt;tt&amp;gt;&amp;#039;href_subpages&amp;#039;&amp;lt;/tt&amp;gt; || z.B. &amp;lt;pre&amp;gt;Array(&lt;br /&gt;
  GRUPPENNUMMER =&amp;gt; Array( &lt;br /&gt;
    &amp;#039;page&amp;#039; =&amp;gt; &amp;#039;PHP-SEITE{query}&amp;#039;,&lt;br /&gt;
    &amp;#039;successors&amp;#039; =&amp;gt; true&lt;br /&gt;
  ),&lt;br /&gt;
.................&lt;br /&gt;
  GRUPPENNUMMER =&amp;gt; Array( &lt;br /&gt;
    &amp;#039;page&amp;#039; =&amp;gt; &amp;#039;PHP-SEITE&amp;#039;,&lt;br /&gt;
    &amp;#039;successors&amp;#039; =&amp;gt; true&lt;br /&gt;
  ) &lt;br /&gt;
)&amp;lt;/pre&amp;gt; || Ermöglicht für bestimmte Gruppen auf eine andere &amp;lt;tt&amp;gt;PHP-SEITE&amp;lt;/tt&amp;gt; zu verlinken&lt;br /&gt;
|-&lt;br /&gt;
||&amp;lt;tt&amp;gt;&amp;#039;full_load&amp;#039;&amp;lt;/tt&amp;gt; || &amp;lt;tt&amp;gt;false&amp;lt;/tt&amp;gt; oder &amp;lt;tt&amp;gt;true&amp;lt;/tt&amp;gt; || zeigt unabhängig von angeklickten Gruppen den kompletten Navigationsbaum mit Untergruppen an (oder auch nicht)&lt;br /&gt;
|-&lt;br /&gt;
|| &amp;lt;tt&amp;gt;&amp;#039;full_load_articles&amp;#039;&amp;lt;/tt&amp;gt; || &amp;lt;tt&amp;gt;false&amp;lt;/tt&amp;gt; ||&lt;br /&gt;
|-&lt;br /&gt;
|| &amp;lt;tt&amp;gt;&amp;#039;limit_articles&amp;#039;&amp;lt;/tt&amp;gt; || &amp;lt;tt&amp;gt;false&amp;lt;/tt&amp;gt; ||&lt;br /&gt;
|-&lt;br /&gt;
|| &amp;lt;tt&amp;gt;&amp;#039;expand_subtree&amp;#039;&amp;lt;/tt&amp;gt; || &amp;lt;tt&amp;gt;Array(4)&amp;lt;/tt&amp;gt; oder &amp;lt;tt&amp;gt;Array(4,5)&amp;lt;/tt&amp;gt; etc. || zeigt die Untergruppen von Gruppe 4 (bzw. 4 und 5) in jedem Fall an. Sei Gruppe 4 bspw. die Gruppe &amp;#039;&amp;#039;News&amp;#039;&amp;#039; des Backends, dann werden die beispielhaften Untergruppen &amp;#039;&amp;#039;Lokalnachrichten&amp;#039;&amp;#039; und &amp;#039;&amp;#039;Weltnachrichten&amp;#039;&amp;#039; immer zur Navigation angeboten, auch wenn sich ein Benutzer auf der Website gerade einen Artikel aus der Gruppe &amp;#039;&amp;#039;Kontakt&amp;#039;&amp;#039; anschaut&lt;br /&gt;
|- &lt;br /&gt;
|| &amp;lt;tt&amp;gt;&amp;#039;implode_subtree&amp;#039;&amp;lt;/tt&amp;gt; || &amp;lt;tt&amp;gt;Array(4)&amp;lt;/tt&amp;gt; oder &amp;lt;tt&amp;gt;Array(4,5)&amp;lt;/tt&amp;gt; etc. || zeigt die Untergruppen von Gruppe 4 (bzw. 4 und 5) in jedem Fall NICHT an. Anmerkung: der Parameter &amp;lt;tt&amp;gt;expand_subtree&amp;lt;/tt&amp;gt; überschreibt diese Einstellung! Ist also eine Gruppe in beiden Parametern aufgeführt, so werden die Untergruppen dieser Gruppe immer angezeigt, da der Parameter &amp;lt;tt&amp;gt;expand_subtree&amp;lt;/tt&amp;gt; wichtiger ist.&lt;br /&gt;
|-&lt;br /&gt;
|| &amp;lt;tt&amp;gt;&amp;#039;real_expand&amp;#039;&amp;lt;/tt&amp;gt; || &amp;lt;tt&amp;gt;false&amp;lt;/tt&amp;gt; ||&lt;br /&gt;
|-&lt;br /&gt;
|| &amp;lt;tt&amp;gt;&amp;#039;speed_mode&amp;#039;&amp;lt;/tt&amp;gt; || &amp;lt;tt&amp;gt;false&amp;lt;/tt&amp;gt; ||&lt;br /&gt;
|-&lt;br /&gt;
|| &amp;lt;tt&amp;gt;&amp;#039;parent_select&amp;#039;&amp;lt;/tt&amp;gt; || &amp;lt;tt&amp;gt;true&amp;lt;/tt&amp;gt; ||&lt;br /&gt;
|-&lt;br /&gt;
|| &amp;lt;tt&amp;gt;&amp;#039;max_depth&amp;#039;&amp;lt;/tt&amp;gt; || &amp;lt;tt&amp;gt;null&amp;lt;/tt&amp;gt; oder &amp;lt;tt&amp;gt;0&amp;lt;/tt&amp;gt; oder &amp;lt;tt&amp;gt;1&amp;lt;/tt&amp;gt; etc. || Tiefe bis zu der (Unter-)Gruppen angezeigt werden&lt;br /&gt;
|-&lt;br /&gt;
|| &amp;lt;tt&amp;gt;&amp;#039;min_depth&amp;#039;&amp;lt;/tt&amp;gt; || &amp;lt;tt&amp;gt;null&amp;lt;/tt&amp;gt; oder &amp;lt;tt&amp;gt;0&amp;lt;/tt&amp;gt; oder &amp;lt;tt&amp;gt;1&amp;lt;/tt&amp;gt; etc. || Tiefe, die eine Gruppe mindestens haben muss um angezeigt zu werden, z.B. 1 um oberste Ebene der Gruppen aus dem Backend auszublenden&lt;br /&gt;
|-&lt;br /&gt;
|| &amp;lt;tt&amp;gt;&amp;#039;fetch_only&amp;#039;&amp;lt;/tt&amp;gt; || &amp;lt;tt&amp;gt;null&amp;lt;/tt&amp;gt; ||&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Sinnvolle Globals vom DynPG-CMS===&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;tt&amp;gt;$GLOBALS[&amp;quot;DynPG&amp;quot;]-&amp;gt;SetupTemplate(&amp;#039;uneditable&amp;#039;);&amp;lt;/tt&amp;gt; : ermöglicht Navigation in der Seite obwohl Editiermodus im Backend angeschaltet ist&lt;br /&gt;
*&amp;lt;tt&amp;gt;$GLOBALS[&amp;quot;DynPG&amp;quot;]-&amp;gt;SetParam_A_Anytime(TRUE);&amp;lt;/tt&amp;gt; : Menü soll immer angezeigt werden&lt;br /&gt;
*&amp;lt;tt&amp;gt;$GLOBALS[&amp;quot;DynPG&amp;quot;]-&amp;gt;SetParam_A_CategoryNavigation(FALSE);&amp;lt;/tt&amp;gt; : keine weitere Navigation(Breadcrumb) anzeigen&lt;br /&gt;
*&amp;lt;tt&amp;gt;$GLOBALS[&amp;quot;DynPG&amp;quot;]-&amp;gt;SetParam_A_PrintNavigation(FALSE);&amp;lt;/tt&amp;gt; : kein Link zu Print-Seite anzeigen&lt;br /&gt;
*&amp;lt;tt&amp;gt;$GLOBALS[&amp;quot;DynPG&amp;quot;]-&amp;gt;SetParam_A_ArticleHeader(FALSE);&amp;lt;/tt&amp;gt; : keine Artikelüberschrift (des Artikels mit dem DynMenü-Platzhalter) und kein Artikelleadtext anzeigen&lt;br /&gt;
*&amp;lt;tt&amp;gt;$GLOBALS[&amp;quot;DynPG&amp;quot;]-&amp;gt;SetParam_A_Article(1);&amp;lt;/tt&amp;gt; : Artikel mit dem Dynmenü-Platzhalter setzen (&amp;#039;&amp;#039;&amp;#039;Hier die Artikelnummer aus [#Einbinden] einfügen!&amp;#039;&amp;#039;&amp;#039;)&lt;br /&gt;
*&amp;lt;tt&amp;gt;$GLOBALS[&amp;quot;DynPG&amp;quot;]-&amp;gt;Write_Article();&amp;lt;/tt&amp;gt; : Artikel ausgeben&lt;br /&gt;
*&amp;lt;tt&amp;gt;$GLOBALS[&amp;quot;DynPG&amp;quot;]-&amp;gt;SetupTemplate(&amp;#039;default&amp;#039;);&amp;lt;/tt&amp;gt; : andere Teile der Website haben sicherlich andere Templates. Wir setzen daher hier wieder auf das Standard-Template zurück&lt;br /&gt;
&lt;br /&gt;
===CSS===&lt;br /&gt;
Die CSS-Dateien für die dynamische Navigation liegen im Verzeichnis &amp;lt;tt&amp;gt;dynpg/plugins/DPGdynmenu/styles&amp;lt;/tt&amp;gt;. Die Datei &amp;lt;tt&amp;gt;menu.css&amp;lt;/tt&amp;gt; ist hierbei meist die ausschlaggebende, so zum Beispiel in der Navigation der Musterwebsite 3.&lt;br /&gt;
&lt;br /&gt;
Die CSS-Klassen und -Bezeichner aus dieser Datei sind nach einem bestimmten Schema benannt. Hat man dieses einmal verstanden, so lassen sich leicht Änderungen an speziellen Teilen des Erscheinungsbildes der dynamischen Navigation durchführen.&lt;br /&gt;
&lt;br /&gt;
Die dynamische Navigation wird von einem &amp;lt;tt&amp;gt;div&amp;lt;/tt&amp;gt;-Tag mit der Id &amp;lt;tt&amp;gt;course_categories_menu&amp;lt;/tt&amp;gt; umschlossen.&lt;br /&gt;
&lt;br /&gt;
Diese Angaben gelten also grundsätzlich für die gesamte dynamische Navigation und werden gegebenenfalls weitervererbt.&lt;br /&gt;
Im &amp;lt;tt&amp;gt;menu.css&amp;lt;/tt&amp;gt; der Muster-Website 3 steht beispielsweise:&lt;br /&gt;
&amp;lt;code&amp;gt;[css, N]&lt;br /&gt;
div#course_categories_menu {&lt;br /&gt;
  margin: 0;&lt;br /&gt;
  padding: 0;&lt;br /&gt;
  width: 180px;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Um zu verhindern, dass die CSS-Angaben dieser Datei auch auf andere Teile der Website Einfluss haben, ist vor allen anderen CSS-Definitionen der Datei ebenfalls &amp;lt;tt&amp;gt;div#course_categories_menu&amp;lt;/tt&amp;gt; notiert. Dadurch wirken sich die Angaben nur auf die dynamische Navigation aus.&lt;br /&gt;
&lt;br /&gt;
Innerhalb des &amp;lt;tt&amp;gt;course_categories_menu&amp;lt;/tt&amp;gt; - &amp;lt;tt&amp;gt;div&amp;lt;/tt&amp;gt; - Tags gibt es für jede Gruppe der obersten angezeigten Gruppenebene ein &amp;lt;div&amp;gt;-Tag mit der CSS-Id &amp;lt;tt&amp;gt;group_fold_NUMMER&amp;lt;/tt&amp;gt; wobei &amp;lt;tt&amp;gt;NUMMER&amp;lt;/tt&amp;gt; der Gruppennummer der Gruppe aus dem Backend entspricht. In der Navigation der Muster-Website 3 gibt es also folgende Tags:&lt;br /&gt;
&amp;lt;code&amp;gt;[html, N]&lt;br /&gt;
&amp;lt;div id=&amp;quot;course_categories_menu&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;div id=&amp;quot;group_fold_2&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;  &amp;lt;!--Produkte--&amp;gt;&lt;br /&gt;
  &amp;lt;div id=&amp;quot;group_fold_3&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;  &amp;lt;!--Support--&amp;gt;&lt;br /&gt;
  &amp;lt;div id=&amp;quot;group_fold_9&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;  &amp;lt;!--News--&amp;gt;&lt;br /&gt;
  &amp;lt;div id=&amp;quot;group_fold_4&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;  &amp;lt;!--Über uns--&amp;gt;&lt;br /&gt;
  &amp;lt;div id=&amp;quot;group_fold_5&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;  &amp;lt;!--Kontakt--&amp;gt;&lt;br /&gt;
  &amp;lt;div id=&amp;quot;group_fold_21&amp;quot;&amp;gt;&amp;lt;/div&amp;gt; &amp;lt;!--Blog--&amp;gt;&lt;br /&gt;
  &amp;lt;div id=&amp;quot;group_fold_15&amp;quot;&amp;gt;&amp;lt;/div&amp;gt; &amp;lt;!--Sitemap--&amp;gt;&lt;br /&gt;
  &amp;lt;div id=&amp;quot;group_fold_6&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;  &amp;lt;!--Home--&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
Möchte man nun Eigenschaften nur an einem bestimmten Teil der Navigation machen, so könnte man im CSS-File folgende Angabe machen:&lt;br /&gt;
&amp;lt;code&amp;gt;[css, N]&lt;br /&gt;
div#course_categories_menu div#group_fold_9 {&lt;br /&gt;
  text-decoration:blink;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
Damit würde der Text der Gruppe &amp;#039;&amp;#039;News&amp;#039;&amp;#039; (und eventueller Untergruppen) in der dynamischen Navigation blinken.&lt;br /&gt;
&lt;br /&gt;
Innerhalb der &amp;lt;tt&amp;gt;group_fold_NUMMER&amp;lt;/tt&amp;gt; - &amp;lt;tt&amp;gt;div&amp;lt;/tt&amp;gt; - Tags gibt es nun ein &amp;lt;tt&amp;gt;div&amp;lt;/tt&amp;gt; - Tag, dass (neben einer weiteren CSS-Id) eine CSS-Klasse hat. Diese CSS-Klasse wird nach folgendem Muster gebildet:&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;&amp;lt;tt&amp;gt;level_&amp;#039;&amp;#039;A&amp;#039;&amp;#039;_&amp;#039;&amp;#039;B&amp;#039;&amp;#039;_&amp;#039;&amp;#039;C&amp;#039;&amp;#039;_&amp;#039;&amp;#039;D&amp;#039;&amp;#039;_&amp;#039;&amp;#039;E&amp;#039;&amp;#039;&amp;lt;/tt&amp;gt;&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;dynpgwikitable&amp;quot;&lt;br /&gt;
! Buchstabe !! mögliche Werte !! Beschreibung&lt;br /&gt;
|-&lt;br /&gt;
|| &amp;lt;tt&amp;gt;&amp;#039;&amp;#039;A&amp;#039;&amp;#039;&amp;lt;/tt&amp;gt; || 0 oder 1 oder 2 etc. || gibt das Level der Gruppe an, also die Verzweigungstiefe in der sich die Navigation befindet&lt;br /&gt;
|-&lt;br /&gt;
|| &amp;lt;tt&amp;gt;&amp;#039;&amp;#039;B&amp;#039;&amp;#039;&amp;lt;/tt&amp;gt; || &amp;lt;tt&amp;gt;r&amp;lt;/tt&amp;gt; (nicht letzter), &amp;lt;tt&amp;gt;e&amp;lt;/tt&amp;gt; (letzter) || gibt an, ob nach dieser Gruppe noch weitere aufgelistet werden (z.B. in Musterwebsite 3 ist die Gruppe 6 &amp;quot;Home&amp;quot; die letzte des Menüs)&lt;br /&gt;
|-&lt;br /&gt;
|| &amp;lt;tt&amp;gt;&amp;#039;&amp;#039;C&amp;#039;&amp;#039;&amp;lt;/tt&amp;gt; ||  &amp;lt;tt&amp;gt;a&amp;lt;/tt&amp;gt; (ist aktiv), &amp;lt;tt&amp;gt;i&amp;lt;/tt&amp;gt; (ist nicht aktiv) || gibt an, ob die Gruppe aktiv ist, d.h. ob sie durch einen Klick ausgewählt wurde&lt;br /&gt;
|-&lt;br /&gt;
|| &amp;lt;tt&amp;gt;&amp;#039;&amp;#039;D&amp;#039;&amp;#039;&amp;lt;/tt&amp;gt; ||  &amp;lt;tt&amp;gt;exp&amp;lt;/tt&amp;gt; (ausgeklappt), cll(eingeklappt) || gibt an, ob die Untergruppen dieser Gruppe ausgeklappt sind oder nicht&lt;br /&gt;
|-&lt;br /&gt;
|| &amp;lt;tt&amp;gt;&amp;#039;&amp;#039;E&amp;#039;&amp;#039;&amp;lt;/tt&amp;gt; ||  &amp;lt;tt&amp;gt;_hover&amp;lt;/tt&amp;gt; (Mauszeiger ist über dem Element), nichts (Mauszeiger ist nicht über dem Element) || gibt an, ob sich der Mauszeiger über dem Gruppennamen befindet oder nicht&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Mithilfe dieses Schemas kann man nun bestimmen, welche CSS-Klassen man in der CSS-Datei angeben muss um bestimmte Effekte hervorzurufen.&lt;br /&gt;
Möchte man beispielsweise, dass alle Elemente der zweitobersten Ebene blinken, wenn der Mauszeiger über dem Element ist, so notiert man in der CSS-Datei:&lt;br /&gt;
&amp;lt;code&amp;gt;[css, N]&lt;br /&gt;
div#course_categories_menu div#level_1_r_a_exp_hover,&lt;br /&gt;
div#course_categories_menu div#level_1_r_a_cll_hover,&lt;br /&gt;
div#course_categories_menu div#level_1_r_i_exp_hover,&lt;br /&gt;
div#course_categories_menu div#level_1_r_i_cll_hover,&lt;br /&gt;
div#course_categories_menu div#level_1_e_a_exp_hover,&lt;br /&gt;
div#course_categories_menu div#level_1_e_a_cll_hover,&lt;br /&gt;
div#course_categories_menu div#level_1_e_i_exp_hover,&lt;br /&gt;
div#course_categories_menu div#level_1_e_i_cll_hover {&lt;br /&gt;
  text-decoration:blink;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Diese Struktur der &amp;lt;tt&amp;gt;div&amp;lt;/tt&amp;gt;-Tags wiederholt sich mit tieferen Gruppenebenen / Untergruppen. Zum Beispiel tauchen die &amp;lt;tt&amp;gt;div&amp;lt;/tt&amp;gt;-Tags der Untergruppen vom &amp;#039;&amp;#039;Über uns&amp;#039;&amp;#039;-Menüpunkt aus der Muster-Website 3 innerhalb des &amp;lt;tt&amp;gt;group_fold_4&amp;lt;/tt&amp;gt; - &amp;lt;tt&amp;gt;div&amp;lt;/tt&amp;gt; - Tags auf.&lt;br /&gt;
&lt;br /&gt;
Weitere Informationen über die CSS-Klassen kann man schnell erhalten, indem man sich den HTML-Code eines generierten dynamischen Menüs anschaut, zum Beispiel aus der Muster-Website 3.&lt;br /&gt;
&lt;br /&gt;
==Templates==&lt;br /&gt;
Diese Templates liegen im Ordner &amp;lt;tt&amp;gt;dynpg/plugins/DPGdynmenu/templates&amp;lt;/tt&amp;gt;. Hier finden sie Ordner, die jeweils eine &amp;lt;tt&amp;gt;menu.tpl&amp;lt;/tt&amp;gt; enthalten. Welcher dieser Ordner aktiv ist, bestimmen Sie durch das Global &amp;lt;tt&amp;gt;$GLOBALS[&amp;quot;DynPG&amp;quot;]-&amp;gt;SetParam_PlugIn_Template(&amp;#039;DPGdynmenu&amp;#039;, &amp;#039;TEMPLATEORDNER&amp;#039;);&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Die Templates dienen als Vorlage für die Generierung des HTML-Codes der dynamischen Navigation. In ihnen werden auch die CSS-Klassen definiert, welche in [#CSS] erklärt wurden. Außerdem finden hier Templateplatzhalter der Form &amp;lt;tt&amp;gt;&amp;lt;nowiki&amp;gt;{$PLATZHALTER}&amp;lt;/nowiki&amp;gt;&amp;lt;/tt&amp;gt; Verwendung, die DynPG dynamisch durch Inhalt ersetzt.&lt;br /&gt;
&lt;br /&gt;
Das Template &amp;#039;&amp;#039;horizontal&amp;#039;&amp;#039; der Musterwebsite 3 generiert beispielsweise ein horizontales Menü, während das Template &amp;#039;&amp;#039;intelligent&amp;#039;&amp;#039; ein vertikales Menü erzeugt.&lt;br /&gt;
&lt;br /&gt;
Modifikationen an den Templates sind recht komplex. Sollten Sie vorhaben hier Änderungen durchzuführen, wenden Sie sich an das DynPG-Forum.&lt;br /&gt;
&lt;br /&gt;
==Feste Links einbauen==&lt;br /&gt;
&lt;br /&gt;
Hierzu erstellt man im Backend eine Gruppe mit dem Namen des festen Links und merkt sich die Gruppennummer. Mittels des Plugin-Parameters &amp;lt;tt&amp;gt;&amp;#039;href_subpages&amp;#039;&amp;lt;/tt&amp;gt; setzt man für diese Gruppennummer nun als Ziel die Datei &amp;lt;tt&amp;gt;counter.php&amp;lt;/tt&amp;gt; fest und übergibt dieser als Parameter das feste Linkziel. Beispiel: Wir wollen einen Link auf die Google-Webseite setzen. Also erstellen wir im Backend eine Gruppe mit dem Namen &amp;#039;&amp;#039;Google-Websuche&amp;#039;&amp;#039; und notieren die Gruppennummer (z.B. 33). In die PHP-Datei unserer dynamischen Navigation fügen wir nun folgendes ein:&lt;br /&gt;
&amp;lt;code&amp;gt;[php, N]&lt;br /&gt;
$GLOBALS[&amp;quot;DynPG&amp;quot;]-&amp;gt;SetParam_PlugIn_Param(&lt;br /&gt;
  &amp;#039;DPGdynmenu&amp;#039;,&lt;br /&gt;
  &amp;#039;href_subpages&amp;#039;,&lt;br /&gt;
  Array(&lt;br /&gt;
	33 =&amp;gt; Array(&lt;br /&gt;
      &amp;#039;page&amp;#039; =&amp;gt; &amp;#039;counter.php?inc=http://www.google.com&amp;#039;,&lt;br /&gt;
      &amp;#039;successors&amp;#039; =&amp;gt; true&lt;br /&gt;
    )		&lt;br /&gt;
  )&lt;br /&gt;
);&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Mehrsprachiges Menü==&lt;br /&gt;
&lt;br /&gt;
Hierzu gibt es einen Thread in unserem Forum unter [http://www.dynpg.ch/dynpg-forum.php?t=&amp;amp;read_group=30&amp;amp;thread_id=47&amp;amp;tt=Sprachwechsel]. Die grundsätzliche Idee ist (bei zwei Sprachen) zwei Gruppenbäume im Backend aufzubauen. Die oberste Gruppe des ersten Baumes wäre beispielsweise die Gruppe &amp;#039;&amp;#039;Deutsch&amp;#039;&amp;#039;, die oberste Gruppe des zweiten Baumes wäre zum Beispiel &amp;#039;&amp;#039;English&amp;#039;&amp;#039;.&lt;br /&gt;
&lt;br /&gt;
In der zweiten Ebene kommen dann unter &amp;#039;&amp;#039;Deutsch&amp;#039;&amp;#039; bzw. &amp;#039;&amp;#039;English&amp;#039;&amp;#039; Untergruppen wie &amp;#039;&amp;#039;News&amp;#039;&amp;#039;/&amp;#039;&amp;#039;Nachrichten&amp;#039;&amp;#039;, &amp;#039;&amp;#039;Produkte&amp;#039;&amp;#039;/&amp;#039;&amp;#039;Products&amp;#039;&amp;#039;, &amp;#039;&amp;#039;Hilfe&amp;#039;&amp;#039;/&amp;#039;&amp;#039;Support&amp;#039;&amp;#039; und so weiter. Man erstellt sich nun zwei PHP-Dateien (&amp;lt;tt&amp;gt;navi_de.php&amp;lt;/tt&amp;gt;, &amp;lt;tt&amp;gt;navi_en.php&amp;lt;/tt&amp;gt;) wie oben beschrieben [#Einrichten]. In diesen wird dann mit den Befehlen aus [#Globalsreferenz] der jeweils nicht passende Baum ausgeblendet.&lt;br /&gt;
&lt;br /&gt;
==Siehe auch==&lt;br /&gt;
*[[Sitemap-Tutorial]]&lt;br /&gt;
*[[Implementation eines kompletten Hauptmenüs]]&lt;br /&gt;
*[[Code-Schnipsel Einfaches Hauptmenü]]&lt;br /&gt;
*[[Code-Schnipsel Menüeinträge sortieren]]&lt;br /&gt;
*[[Snippet-Beispiele]]&lt;/div&gt;</summary>
		<author><name>Sebastian</name></author>	</entry>

	<entry>
		<id>https://wiki-en.dynpg.org/wiki_de/index.php?title=Dynamische_Navigation</id>
		<title>Dynamische Navigation</title>
		<link rel="alternate" type="text/html" href="https://wiki-en.dynpg.org/wiki_de/index.php?title=Dynamische_Navigation"/>
				<updated>2009-08-16T17:51:07Z</updated>
		
		<summary type="html">&lt;p&gt;Sebastian: /* Die dynamische Navigation im Backend */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Kategorie:Module]]&lt;br /&gt;
==Beschreibung==&lt;br /&gt;
Die dynamische Navigation ist Bestandteil des kostenlosen Grundmoduls von DynPG und bereits im Standard-DynPG integriert. Es ist keine separate Installation notwendig. Sie ermöglicht es Ihnen einfach und flexibel Navigationen auf Ihrer Homepage zu erstellen. Die Anwendungsmöglichkeiten gestalten sich dabei flexibel als normales Menü oder auch als Sitemap.&lt;br /&gt;
&lt;br /&gt;
Ein dynamisches Menü bildet die Gruppenstruktur im Backend als Menü ab, macht also die logische Struktur ihrer Artikel aus dem Backend auf einer Webseite sichtbar und navigierbar.&lt;br /&gt;
&lt;br /&gt;
Der Vorteil ist, dass man im Backend neue Gruppen o.ä. erstellt und diese dann im Hauptmenü erscheinen. Dies ist auch bei Untergruppen nützlich,&lt;br /&gt;
z.B. wenn eine neue Untergruppe &amp;#039;&amp;#039;Lokalnachrichten&amp;#039;&amp;#039; zur Hauptgruppe &amp;#039;&amp;#039;News&amp;#039;&amp;#039; hinzukommt.&lt;br /&gt;
&lt;br /&gt;
Zum Verständnis der Funktionsvielfalt der dynamischen Navigation ist es hilfreich, einmal eine der [[Muster-Web-Sites|Musterwebsites]] zu installieren und in den entsprechenden Dateien der Musterwebsite die unten erklärten Einstellungsmöglichkeiten nachzuvollziehen und vielleicht auch einmal mit den Optionen herumzuspielen.&lt;br /&gt;
&lt;br /&gt;
==Einrichten==&lt;br /&gt;
&amp;#039;&amp;#039;Anmerkung: Benutzen sie die [[Muster-Web-Sites|Musterwebsites]], so müssen die nachfolgenden zwei Schritte nicht ausgeführt werden, da die dynamische Navigation bereits in den Musterwebsites genutzt wird&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
===Schritt 1: Artikel erstellen mit Platzhalter für die dynamische Navigation===&lt;br /&gt;
Wählen Sie im Menü des Backends &amp;#039;&amp;#039;Gruppen&amp;#039;&amp;#039; aus [[Bild:dynmenue01.png|thumb]]. Suchen Sie sich nun eine Gruppe, in der Sie einen Artikel erfassen wollen. Hier wählen wir (die in diesem Falle schon vorhandene) Gruppe &amp;#039;&amp;#039;Startseite/Navigation/Formular&amp;#039;&amp;#039; durch Klick auf ihren Namen aus [[Bild:dynmenue02.png|thumb]].&lt;br /&gt;
&lt;br /&gt;
Mit einem Klick auf &amp;#039;&amp;#039;Artikel Formular anzeigen&amp;#039;&amp;#039; [[Bild:dynmenue03.png|thumb]] und danach auf &amp;#039;&amp;#039;Inhalt bearbeiten&amp;#039;&amp;#039; [[Bild:dynmenue04.png|thumb]] erscheint der Editor.&lt;br /&gt;
&lt;br /&gt;
In diesem wählen Sie das Symbol für die dynamische Navigation [[Bild:dynmenue05.png|thumb]], geben noch einen Titel, etwa &amp;#039;&amp;#039;Neue Seitennavigation&amp;#039;&amp;#039;, ein und bestätigen mit einem Klick auf &amp;#039;&amp;#039;Erstellen&amp;#039;&amp;#039; [[Bild:dynmenue06.png|thumb]]. &lt;br /&gt;
&lt;br /&gt;
Hat alles geklappt, können Sie im unteren Teil der Seite den neuen Artikel sehen [[Bild:dynmenue07.png|thumb]]. Die Nummer des Artikels benötigen Sie erneut, wenn Sie in eine PHP-Datei mittels eines Globals die dynamische Navigation einbinden.&lt;br /&gt;
&lt;br /&gt;
===Schritt 2: PHP-Datei für die dynamische Navigation erstellen===&lt;br /&gt;
Folgende Ordner-Struktur könnte bei Ihnen vorliegen:&lt;br /&gt;
:*&amp;lt;tt&amp;gt;http-docs/dynpg&amp;lt;/tt&amp;gt; : hier liegt das DynPG-CMS&lt;br /&gt;
:*&amp;lt;tt&amp;gt;http-docs/index.php&amp;lt;/tt&amp;gt; : die Hauptseite Ihrer Website&lt;br /&gt;
:*&amp;lt;tt&amp;gt;http-docs/folgeseite.php&amp;lt;/tt&amp;gt; : eine andere PHP-Datei der Website&lt;br /&gt;
:*&amp;lt;tt&amp;gt;http-docs/inc/navi.php&amp;lt;/tt&amp;gt; : In diese Datei platziert man häufig den Code für die Navigation, dadurch ist er leichter wiederverwendbar&lt;br /&gt;
&lt;br /&gt;
Den nötigen Code der &amp;lt;tt&amp;gt;inc/navi.php&amp;lt;/tt&amp;gt; kann man anhand der [[Muster-Web-Sites|Musterwebsites]] nachvollziehen (Für eine genauere Erklärung der einzelnen verwendeten Globals siehe die [[Funktionsreferenz/Globals|Globals-Übersicht von DynPG]] und weiter unten die [#Globalsreferenz Funktionsübersicht der dynamischen Navigation]) :&lt;br /&gt;
:*&amp;#039;&amp;#039;&amp;#039;&amp;lt;tt&amp;gt;inc/navi.php&amp;lt;/tt&amp;gt;:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;code&amp;gt;[php, N]&lt;br /&gt;
&amp;lt;?php&lt;br /&gt;
  $GLOBALS[&amp;quot;DynPG&amp;quot;]-&amp;gt;SetParam_PlugIn_Template(&amp;#039;DPGdynmenu&amp;#039;, &amp;#039;intelligent&amp;#039;);&lt;br /&gt;
  $GLOBALS[&amp;quot;DynPG&amp;quot;]-&amp;gt;SetParam_PlugIn_Param(&amp;#039;DPGdynmenu&amp;#039;, &amp;#039;real_expand&amp;#039;, TRUE);&lt;br /&gt;
  $GLOBALS[&amp;quot;DynPG&amp;quot;]-&amp;gt;SetParam_PlugIn_Param(&amp;#039;DPGdynmenu&amp;#039;, &amp;#039;order&amp;#039;, Array(&amp;#039;INDEX&amp;#039;));&lt;br /&gt;
  $GLOBALS[&amp;quot;DynPG&amp;quot;]-&amp;gt;SetParam_PlugIn_Param(&amp;#039;DPGdynmenu&amp;#039;, &amp;#039;sort&amp;#039;, Array(&amp;#039;ASC&amp;#039;));&lt;br /&gt;
  $GLOBALS[&amp;quot;DynPG&amp;quot;]-&amp;gt;SetParam_PlugIn_Param(&amp;#039;DPGdynmenu&amp;#039;, &amp;#039;href_page_groups&amp;#039;, &amp;#039;../folgeseite.php&amp;#039;);&lt;br /&gt;
  $GLOBALS[&amp;quot;DynPG&amp;quot;]-&amp;gt;SetParam_PlugIn_Param(&amp;#039;DPGdynmenu&amp;#039;, &amp;#039;href_page_articles&amp;#039;, &amp;#039;../folgeseite.php&amp;#039;);&lt;br /&gt;
  $GLOBALS[&amp;quot;DynPG&amp;quot;]-&amp;gt;SetParam_PlugIn_Param(&amp;#039;DPGdynmenu&amp;#039;, &amp;#039;href_page_detail&amp;#039;, &amp;#039;../folgeseite.php&amp;#039;);&lt;br /&gt;
  $GLOBALS[&amp;quot;DynPG&amp;quot;]-&amp;gt;SetParam_PlugIn_Param(&lt;br /&gt;
    &amp;#039;DPGdynmenu&amp;#039;,&lt;br /&gt;
    &amp;#039;href_subpages&amp;#039;,&lt;br /&gt;
    Array(&lt;br /&gt;
      0 =&amp;gt; Array(&lt;br /&gt;
        &amp;#039;page&amp;#039; =&amp;gt; &amp;#039;../formular.php{query}&amp;#039;,&lt;br /&gt;
        &amp;#039;successors&amp;#039; =&amp;gt; true&lt;br /&gt;
      ),&lt;br /&gt;
      21 =&amp;gt; Array(&lt;br /&gt;
        &amp;#039;page&amp;#039; =&amp;gt; &amp;#039;../blog.php{query}&amp;#039;,&lt;br /&gt;
        &amp;#039;successors&amp;#039; =&amp;gt; true&lt;br /&gt;
      ),&lt;br /&gt;
      15 =&amp;gt; Array(&lt;br /&gt;
        &amp;#039;page&amp;#039; =&amp;gt; &amp;#039;../sitemap.php{query}&amp;#039;,&lt;br /&gt;
        &amp;#039;successors&amp;#039; =&amp;gt; true&lt;br /&gt;
      ),&lt;br /&gt;
      16 =&amp;gt; Array(&lt;br /&gt;
        &amp;#039;page&amp;#039; =&amp;gt; &amp;#039;../veranstaltungen.php{query}&amp;#039;,&lt;br /&gt;
        &amp;#039;successors&amp;#039; =&amp;gt; true&lt;br /&gt;
      ),&lt;br /&gt;
      21 =&amp;gt; Array(&lt;br /&gt;
        &amp;#039;page&amp;#039; =&amp;gt; &amp;#039;../blog.php{query}&amp;#039;,&lt;br /&gt;
        &amp;#039;successors&amp;#039; =&amp;gt; true&lt;br /&gt;
      ),&lt;br /&gt;
      6 =&amp;gt; Array(&lt;br /&gt;
        &amp;#039;page&amp;#039; =&amp;gt; &amp;#039;../index.php{query}&amp;#039;,&lt;br /&gt;
        &amp;#039;successors&amp;#039; =&amp;gt; true&lt;br /&gt;
      )&lt;br /&gt;
    )&lt;br /&gt;
  );    &lt;br /&gt;
  $GLOBALS[&amp;quot;DynPG&amp;quot;]-&amp;gt;SetupTemplate(&amp;#039;uneditable&amp;#039;); &lt;br /&gt;
  $GLOBALS[&amp;quot;DynPG&amp;quot;]-&amp;gt;SetParam_A_Anytime(TRUE);&lt;br /&gt;
  $GLOBALS[&amp;quot;DynPG&amp;quot;]-&amp;gt;SetParam_A_CategoryNavigation(FALSE);&lt;br /&gt;
  $GLOBALS[&amp;quot;DynPG&amp;quot;]-&amp;gt;SetParam_A_PrintNavigation(FALSE);&lt;br /&gt;
  $GLOBALS[&amp;quot;DynPG&amp;quot;]-&amp;gt;SetParam_A_ArticleHeader(FALSE);&lt;br /&gt;
  $GLOBALS[&amp;quot;DynPG&amp;quot;]-&amp;gt;SetParam_A_Article(1);&lt;br /&gt;
&lt;br /&gt;
  $GLOBALS[&amp;quot;DynPG&amp;quot;]-&amp;gt;Write_Article();&lt;br /&gt;
  $GLOBALS[&amp;quot;DynPG&amp;quot;]-&amp;gt;SetupTemplate(&amp;#039;default&amp;#039;);  &lt;br /&gt;
?&amp;gt;&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Man kann nun in der &amp;lt;tt&amp;gt;index.php&amp;lt;/tt&amp;gt; mittels &lt;br /&gt;
&amp;lt;code&amp;gt;[php, N]&lt;br /&gt;
&amp;lt;?php include(&amp;quot;inc/navi.php&amp;quot;); ?&amp;gt;&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
die Navigation einbinden, ebenso z.B. auch in der &amp;lt;tt&amp;gt;folgeseite.php&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Die dynamische Navigation kann nun an verschiedenen Stellen angepasst werden. Neben den Globals in der PHP-Datei ([#Globalsreferenz]) ist dies im Backend durch das Erstellen von Gruppen und Artikeln möglich ([#Dynamische_Navigation_im_Backend]). Erweiterte Möglichkeiten ergeben sich durch das [#CSS] und die [#Templates].&lt;br /&gt;
&lt;br /&gt;
==Die dynamische Navigation im Backend==&lt;br /&gt;
&lt;br /&gt;
Wie bereits erwähnt, bildet die dynamische Navigation die Gruppenstruktur des Backends auf einer Webseite ab. In der Musterwebsite 3 ist im Backend zum Beispiel folgende Gruppenstruktur zu erkennen:&lt;br /&gt;
&lt;br /&gt;
[[Bild:dynmenue08.PNG|200px]].&lt;br /&gt;
&lt;br /&gt;
Auf der Website sieht dies dann wie folgt aus:&lt;br /&gt;
&lt;br /&gt;
[[Bild:dynmenue09.PNG|200px]]&lt;br /&gt;
&lt;br /&gt;
oder auch&lt;br /&gt;
&lt;br /&gt;
[[Bild:dynmenue10.PNG|200px]]&lt;br /&gt;
&lt;br /&gt;
. Welche Untergruppen angezeigt werden, hängt zum einen davon ab, welcher Navigationspunkt gerade aktiv ist (also angeklickt wurde) und zum anderen von den benutzten Globals in der PHP-Datei [#Globalsreferenz z.B. Parameter &amp;#039;full_load&amp;#039;] und den Einstellungen der Gruppe im Backend. &lt;br /&gt;
&lt;br /&gt;
In diesen Einstellungen kann man z.B. auch bestimmen, dass eine bestimmte Gruppe nicht im Menü der Website sichtbar ist (so zum Beispiel die Gruppe &amp;quot;Diverses&amp;quot; aus der Musterwebsite 3). Die Eigenschaftenseite der Gruppe erreicht man über einen Klick auf:&lt;br /&gt;
&lt;br /&gt;
[[Bild:dynmenue11.PNG|200px]]&lt;br /&gt;
&lt;br /&gt;
. Unter dem Punkt &amp;#039;&amp;#039;Veröffentlichen&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
[[Bild:dynmenue12.PNG|200px]])&lt;br /&gt;
&lt;br /&gt;
wählt man nun die Option &amp;#039;&amp;#039;Nein&amp;#039;&amp;#039; aus. &lt;br /&gt;
&lt;br /&gt;
Die Option &amp;#039;&amp;#039;Ja&amp;#039;&amp;#039; führt dazu, dass auf der Website der Navigationspunkt &amp;#039;&amp;#039;Diverses&amp;#039;&amp;#039; erscheint&lt;br /&gt;
&lt;br /&gt;
[[Bild:dynmenue14.PNG|200px]]&lt;br /&gt;
&lt;br /&gt;
. Ist der Punkt &amp;#039;&amp;#039;Diverses&amp;#039;&amp;#039; ausgewählt, erscheinen auch die Untergruppen&lt;br /&gt;
&lt;br /&gt;
[[Bild:dynmenue13.PNG|200px]]&lt;br /&gt;
&lt;br /&gt;
.&lt;br /&gt;
&lt;br /&gt;
==Globalsreferenz==&lt;br /&gt;
===Globals direkt für das Plugin===&lt;br /&gt;
&amp;#039;&amp;#039;Die Parameter haben Default-Werte, müssen also nicht immer gesetzt werden&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;tt&amp;gt;$GLOBALS[&amp;quot;DynPG&amp;quot;]-&amp;gt;SetParam_PlugIn_Template(&amp;#039;DPGdynmenu&amp;#039;, &amp;#039;TEMPLATEORDNER&amp;#039;);&amp;lt;/tt&amp;gt;:&lt;br /&gt;
:Hiermit wählt man den Template-Ordner für die dynamische Navigation aus. Diese Template-Ordner liegen in &amp;lt;tt&amp;gt;dynpg/plugins/DPGdynmenu/templates&amp;lt;/tt&amp;gt;. Aus diesem Ordner wird die Template-Datei &amp;lt;tt&amp;gt;menu.tpl&amp;lt;/tt&amp;gt; zur Generierung des Menüs genommen. Dies ist unabhängig vom Global &amp;lt;tt&amp;gt;$GLOBALS[&amp;quot;DynPG&amp;quot;]-&amp;gt;SetupTemplate(...);&amp;lt;/tt&amp;gt;, der sozusagen das Template des Artikels bestimmt, welcher die dynamische Navigation enthält.&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;tt&amp;gt;$GLOBALS[&amp;quot;DynPG&amp;quot;]-&amp;gt;SetParam_PlugIn_Param(&amp;#039;DPGdynmenu&amp;#039;, PARAMETERNAME, PARAMETERWERT);&amp;lt;/tt&amp;gt;&lt;br /&gt;
:{| class=&amp;quot;dynpgwikitable&amp;quot;&lt;br /&gt;
! &amp;lt;tt&amp;gt;PARAMETERNAME&amp;lt;/tt&amp;gt; !! &amp;lt;tt&amp;gt;PARAMETERWERT&amp;lt;/tt&amp;gt; !! Beschreibung&lt;br /&gt;
|-&lt;br /&gt;
||&amp;lt;tt&amp;gt;&amp;#039;order&amp;#039;&amp;lt;/tt&amp;gt; || &amp;lt;tt&amp;gt;Array(&amp;#039;INDEX&amp;#039;)&amp;lt;/tt&amp;gt; oder &amp;lt;tt&amp;gt;Array(&amp;#039;NAME&amp;#039;)&amp;lt;/tt&amp;gt; || Reihenfolge der Gruppen in der Navigation nach Name oder im Backend gesetzten Index&lt;br /&gt;
|-&lt;br /&gt;
||&amp;lt;tt&amp;gt;&amp;#039;sort&amp;#039;&amp;lt;/tt&amp;gt; || &amp;lt;tt&amp;gt;Array(&amp;#039;ASC&amp;#039;)&amp;lt;/tt&amp;gt; oder &amp;lt;tt&amp;gt;Array(&amp;#039;DESC&amp;#039;)&amp;lt;/tt&amp;gt; || aufsteigende oder absteigende Sortierung&lt;br /&gt;
|-&lt;br /&gt;
||&amp;lt;tt&amp;gt;&amp;#039;order_articles&amp;#039;&amp;lt;/tt&amp;gt; || z.B. &amp;lt;tt&amp;gt;Array(&amp;#039;INDEX&amp;#039;)&amp;lt;/tt&amp;gt; || sortiert Artikel in der dynamischen Navigation (falls diese angezeigt werden) &lt;br /&gt;
|-&lt;br /&gt;
||&amp;lt;tt&amp;gt;&amp;#039;sort_articles&amp;#039;&amp;lt;/tt&amp;gt; || z.B. &amp;lt;tt&amp;gt;Array(&amp;#039;ASC&amp;#039;)&amp;lt;/tt&amp;gt; || bestimmt aufsteigende oder absteigende Sortierreihenfolge der Artikel&lt;br /&gt;
|-&lt;br /&gt;
||&amp;lt;tt&amp;gt;&amp;#039;href_page_groups&amp;#039;&amp;lt;/tt&amp;gt; || z.B. &amp;lt;tt&amp;gt;&amp;#039;../folgeseite.php&amp;#039;&amp;lt;/tt&amp;gt; || Seite auf die weiterverlinkt wird bei einem Klick auf den Gruppennamen (ACHTUNG &amp;lt;tt&amp;gt;&amp;#039;../&amp;#039;&amp;lt;/tt&amp;gt; wichtig, siehe Ordnerstruktur weiter oben!)&lt;br /&gt;
|-&lt;br /&gt;
||&amp;lt;tt&amp;gt;&amp;#039;href_page_articles&amp;#039;&amp;lt;/tt&amp;gt; || z.B. &amp;lt;tt&amp;gt;&amp;#039;../folgeseite.php&amp;#039;&amp;lt;/tt&amp;gt; ||&lt;br /&gt;
|-&lt;br /&gt;
||&amp;lt;tt&amp;gt;&amp;#039;href_page_detail&amp;#039;&amp;lt;/tt&amp;gt; || z.B. &amp;lt;tt&amp;gt;&amp;#039;../folgeseite.php&amp;#039;&amp;lt;/tt&amp;gt; || Seite auf die weiterverlinkt wird bei einem Klick auf Artikelnamen in dynamischer Navigation (sofern Artikel angezeigt werden)&lt;br /&gt;
|-&lt;br /&gt;
||&amp;lt;tt&amp;gt;&amp;#039;href_subpages&amp;#039;&amp;lt;/tt&amp;gt; || z.B. &amp;lt;pre&amp;gt;Array(&lt;br /&gt;
  GRUPPENNUMMER =&amp;gt; Array( &lt;br /&gt;
    &amp;#039;page&amp;#039; =&amp;gt; &amp;#039;PHP-SEITE{query}&amp;#039;,&lt;br /&gt;
    &amp;#039;successors&amp;#039; =&amp;gt; true&lt;br /&gt;
  ),&lt;br /&gt;
.................&lt;br /&gt;
  GRUPPENNUMMER =&amp;gt; Array( &lt;br /&gt;
    &amp;#039;page&amp;#039; =&amp;gt; &amp;#039;PHP-SEITE&amp;#039;,&lt;br /&gt;
    &amp;#039;successors&amp;#039; =&amp;gt; true&lt;br /&gt;
  ) &lt;br /&gt;
)&amp;lt;/pre&amp;gt; || Ermöglicht für bestimmte Gruppen auf eine andere &amp;lt;tt&amp;gt;PHP-SEITE&amp;lt;/tt&amp;gt; zu verlinken&lt;br /&gt;
|-&lt;br /&gt;
||&amp;lt;tt&amp;gt;&amp;#039;full_load&amp;#039;&amp;lt;/tt&amp;gt; || &amp;lt;tt&amp;gt;false&amp;lt;/tt&amp;gt; oder &amp;lt;tt&amp;gt;true&amp;lt;/tt&amp;gt; || zeigt unabhängig von angeklickten Gruppen den kompletten Navigationsbaum mit Untergruppen an (oder auch nicht)&lt;br /&gt;
|-&lt;br /&gt;
|| &amp;lt;tt&amp;gt;&amp;#039;full_load_articles&amp;#039;&amp;lt;/tt&amp;gt; || &amp;lt;tt&amp;gt;false&amp;lt;/tt&amp;gt; ||&lt;br /&gt;
|-&lt;br /&gt;
|| &amp;lt;tt&amp;gt;&amp;#039;limit_articles&amp;#039;&amp;lt;/tt&amp;gt; || &amp;lt;tt&amp;gt;false&amp;lt;/tt&amp;gt; ||&lt;br /&gt;
|-&lt;br /&gt;
|| &amp;lt;tt&amp;gt;&amp;#039;expand_subtree&amp;#039;&amp;lt;/tt&amp;gt; || &amp;lt;tt&amp;gt;Array(4)&amp;lt;/tt&amp;gt; oder &amp;lt;tt&amp;gt;Array(4,5)&amp;lt;/tt&amp;gt; etc. || zeigt die Untergruppen von Gruppe 4 (bzw. 4 und 5) in jedem Fall an. Sei Gruppe 4 bspw. die Gruppe &amp;#039;&amp;#039;News&amp;#039;&amp;#039; des Backends, dann werden die beispielhaften Untergruppen &amp;#039;&amp;#039;Lokalnachrichten&amp;#039;&amp;#039; und &amp;#039;&amp;#039;Weltnachrichten&amp;#039;&amp;#039; immer zur Navigation angeboten, auch wenn sich ein Benutzer auf der Website gerade einen Artikel aus der Gruppe &amp;#039;&amp;#039;Kontakt&amp;#039;&amp;#039; anschaut&lt;br /&gt;
|- &lt;br /&gt;
|| &amp;lt;tt&amp;gt;&amp;#039;implode_subtree&amp;#039;&amp;lt;/tt&amp;gt; || &amp;lt;tt&amp;gt;Array(4)&amp;lt;/tt&amp;gt; oder &amp;lt;tt&amp;gt;Array(4,5)&amp;lt;/tt&amp;gt; etc. || zeigt die Untergruppen von Gruppe 4 (bzw. 4 und 5) in jedem Fall NICHT an. Anmerkung: der Parameter &amp;lt;tt&amp;gt;expand_subtree&amp;lt;/tt&amp;gt; überschreibt diese Einstellung! Ist also eine Gruppe in beiden Parametern aufgeführt, so werden die Untergruppen dieser Gruppe immer angezeigt, da der Parameter &amp;lt;tt&amp;gt;expand_subtree&amp;lt;/tt&amp;gt; wichtiger ist.&lt;br /&gt;
|-&lt;br /&gt;
|| &amp;lt;tt&amp;gt;&amp;#039;real_expand&amp;#039;&amp;lt;/tt&amp;gt; || &amp;lt;tt&amp;gt;false&amp;lt;/tt&amp;gt; ||&lt;br /&gt;
|-&lt;br /&gt;
|| &amp;lt;tt&amp;gt;&amp;#039;speed_mode&amp;#039;&amp;lt;/tt&amp;gt; || &amp;lt;tt&amp;gt;false&amp;lt;/tt&amp;gt; ||&lt;br /&gt;
|-&lt;br /&gt;
|| &amp;lt;tt&amp;gt;&amp;#039;parent_select&amp;#039;&amp;lt;/tt&amp;gt; || &amp;lt;tt&amp;gt;true&amp;lt;/tt&amp;gt; ||&lt;br /&gt;
|-&lt;br /&gt;
|| &amp;lt;tt&amp;gt;&amp;#039;max_depth&amp;#039;&amp;lt;/tt&amp;gt; || &amp;lt;tt&amp;gt;null&amp;lt;/tt&amp;gt; oder &amp;lt;tt&amp;gt;0&amp;lt;/tt&amp;gt; oder &amp;lt;tt&amp;gt;1&amp;lt;/tt&amp;gt; etc. || Tiefe bis zu der (Unter-)Gruppen angezeigt werden&lt;br /&gt;
|-&lt;br /&gt;
|| &amp;lt;tt&amp;gt;&amp;#039;min_depth&amp;#039;&amp;lt;/tt&amp;gt; || &amp;lt;tt&amp;gt;null&amp;lt;/tt&amp;gt; oder &amp;lt;tt&amp;gt;0&amp;lt;/tt&amp;gt; oder &amp;lt;tt&amp;gt;1&amp;lt;/tt&amp;gt; etc. || Tiefe, die eine Gruppe mindestens haben muss um angezeigt zu werden, z.B. 1 um oberste Ebene der Gruppen aus dem Backend auszublenden&lt;br /&gt;
|-&lt;br /&gt;
|| &amp;lt;tt&amp;gt;&amp;#039;fetch_only&amp;#039;&amp;lt;/tt&amp;gt; || &amp;lt;tt&amp;gt;null&amp;lt;/tt&amp;gt; ||&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Sinnvolle Globals vom DynPG-CMS===&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;tt&amp;gt;$GLOBALS[&amp;quot;DynPG&amp;quot;]-&amp;gt;SetupTemplate(&amp;#039;uneditable&amp;#039;);&amp;lt;/tt&amp;gt; : ermöglicht Navigation in der Seite obwohl Editiermodus im Backend angeschaltet ist&lt;br /&gt;
*&amp;lt;tt&amp;gt;$GLOBALS[&amp;quot;DynPG&amp;quot;]-&amp;gt;SetParam_A_Anytime(TRUE);&amp;lt;/tt&amp;gt; : Menü soll immer angezeigt werden&lt;br /&gt;
*&amp;lt;tt&amp;gt;$GLOBALS[&amp;quot;DynPG&amp;quot;]-&amp;gt;SetParam_A_CategoryNavigation(FALSE);&amp;lt;/tt&amp;gt; : keine weitere Navigation(Breadcrumb) anzeigen&lt;br /&gt;
*&amp;lt;tt&amp;gt;$GLOBALS[&amp;quot;DynPG&amp;quot;]-&amp;gt;SetParam_A_PrintNavigation(FALSE);&amp;lt;/tt&amp;gt; : kein Link zu Print-Seite anzeigen&lt;br /&gt;
*&amp;lt;tt&amp;gt;$GLOBALS[&amp;quot;DynPG&amp;quot;]-&amp;gt;SetParam_A_ArticleHeader(FALSE);&amp;lt;/tt&amp;gt; : keine Artikelüberschrift (des Artikels mit dem DynMenü-Platzhalter) und kein Artikelleadtext anzeigen&lt;br /&gt;
*&amp;lt;tt&amp;gt;$GLOBALS[&amp;quot;DynPG&amp;quot;]-&amp;gt;SetParam_A_Article(1);&amp;lt;/tt&amp;gt; : Artikel mit dem Dynmenü-Platzhalter setzen (&amp;#039;&amp;#039;&amp;#039;Hier die Artikelnummer aus [#Einbinden] einfügen!&amp;#039;&amp;#039;&amp;#039;)&lt;br /&gt;
*&amp;lt;tt&amp;gt;$GLOBALS[&amp;quot;DynPG&amp;quot;]-&amp;gt;Write_Article();&amp;lt;/tt&amp;gt; : Artikel ausgeben&lt;br /&gt;
*&amp;lt;tt&amp;gt;$GLOBALS[&amp;quot;DynPG&amp;quot;]-&amp;gt;SetupTemplate(&amp;#039;default&amp;#039;);&amp;lt;/tt&amp;gt; : andere Teile der Website haben sicherlich andere Templates. Wir setzen daher hier wieder auf das Standard-Template zurück&lt;br /&gt;
&lt;br /&gt;
===CSS===&lt;br /&gt;
Die CSS-Dateien für die dynamische Navigation liegen im Verzeichnis &amp;lt;tt&amp;gt;dynpg/plugins/DPGdynmenu/styles&amp;lt;/tt&amp;gt;. Die Datei &amp;lt;tt&amp;gt;menu.css&amp;lt;/tt&amp;gt; ist hierbei meist die ausschlaggebende, so zum Beispiel in der Navigation der Musterwebsite 3.&lt;br /&gt;
&lt;br /&gt;
Die CSS-Klassen und -Bezeichner aus dieser Datei sind nach einem bestimmten Schema benannt. Hat man dieses einmal verstanden, so lassen sich leicht Änderungen an speziellen Teilen des Erscheinungsbildes der dynamischen Navigation durchführen.&lt;br /&gt;
&lt;br /&gt;
Die dynamische Navigation wird von einem &amp;lt;tt&amp;gt;div&amp;lt;/tt&amp;gt;-Tag mit der Id &amp;lt;tt&amp;gt;course_categories_menu&amp;lt;/tt&amp;gt; umschlossen.&lt;br /&gt;
&lt;br /&gt;
Diese Angaben gelten also grundsätzlich für die gesamte dynamische Navigation und werden gegebenenfalls weitervererbt.&lt;br /&gt;
Im &amp;lt;tt&amp;gt;menu.css&amp;lt;/tt&amp;gt; der Muster-Website 3 steht beispielsweise:&lt;br /&gt;
&amp;lt;code&amp;gt;[css, N]&lt;br /&gt;
div#course_categories_menu {&lt;br /&gt;
  margin: 0;&lt;br /&gt;
  padding: 0;&lt;br /&gt;
  width: 180px;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Um zu verhindern, dass die CSS-Angaben dieser Datei auch auf andere Teile der Website Einfluss haben, ist vor allen anderen CSS-Definitionen der Datei ebenfalls &amp;lt;tt&amp;gt;div#course_categories_menu&amp;lt;/tt&amp;gt; notiert. Dadurch wirken sich die Angaben nur auf die dynamische Navigation aus.&lt;br /&gt;
&lt;br /&gt;
Innerhalb des &amp;lt;tt&amp;gt;course_categories_menu&amp;lt;/tt&amp;gt; - &amp;lt;tt&amp;gt;div&amp;lt;/tt&amp;gt; - Tags gibt es für jede Gruppe der obersten angezeigten Gruppenebene ein &amp;lt;div&amp;gt;-Tag mit der CSS-Id &amp;lt;tt&amp;gt;group_fold_NUMMER&amp;lt;/tt&amp;gt; wobei &amp;lt;tt&amp;gt;NUMMER&amp;lt;/tt&amp;gt; der Gruppennummer der Gruppe aus dem Backend entspricht. In der Navigation der Muster-Website 3 gibt es also folgende Tags:&lt;br /&gt;
&amp;lt;code&amp;gt;[html, N]&lt;br /&gt;
&amp;lt;div id=&amp;quot;course_categories_menu&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;div id=&amp;quot;group_fold_2&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;  &amp;lt;!--Produkte--&amp;gt;&lt;br /&gt;
  &amp;lt;div id=&amp;quot;group_fold_3&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;  &amp;lt;!--Support--&amp;gt;&lt;br /&gt;
  &amp;lt;div id=&amp;quot;group_fold_9&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;  &amp;lt;!--News--&amp;gt;&lt;br /&gt;
  &amp;lt;div id=&amp;quot;group_fold_4&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;  &amp;lt;!--Über uns--&amp;gt;&lt;br /&gt;
  &amp;lt;div id=&amp;quot;group_fold_5&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;  &amp;lt;!--Kontakt--&amp;gt;&lt;br /&gt;
  &amp;lt;div id=&amp;quot;group_fold_21&amp;quot;&amp;gt;&amp;lt;/div&amp;gt; &amp;lt;!--Blog--&amp;gt;&lt;br /&gt;
  &amp;lt;div id=&amp;quot;group_fold_15&amp;quot;&amp;gt;&amp;lt;/div&amp;gt; &amp;lt;!--Sitemap--&amp;gt;&lt;br /&gt;
  &amp;lt;div id=&amp;quot;group_fold_6&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;  &amp;lt;!--Home--&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
Möchte man nun Eigenschaften nur an einem bestimmten Teil der Navigation machen, so könnte man im CSS-File folgende Angabe machen:&lt;br /&gt;
&amp;lt;code&amp;gt;[css, N]&lt;br /&gt;
div#course_categories_menu div#group_fold_9 {&lt;br /&gt;
  text-decoration:blink;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
Damit würde der Text der Gruppe &amp;#039;&amp;#039;News&amp;#039;&amp;#039; (und eventueller Untergruppen) in der dynamischen Navigation blinken.&lt;br /&gt;
&lt;br /&gt;
Innerhalb der &amp;lt;tt&amp;gt;group_fold_NUMMER&amp;lt;/tt&amp;gt; - &amp;lt;tt&amp;gt;div&amp;lt;/tt&amp;gt; - Tags gibt es nun ein &amp;lt;tt&amp;gt;div&amp;lt;/tt&amp;gt; - Tag, dass (neben einer weiteren CSS-Id) eine CSS-Klasse hat. Diese CSS-Klasse wird nach folgendem Muster gebildet:&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;&amp;lt;tt&amp;gt;level_&amp;#039;&amp;#039;A&amp;#039;&amp;#039;_&amp;#039;&amp;#039;B&amp;#039;&amp;#039;_&amp;#039;&amp;#039;C&amp;#039;&amp;#039;_&amp;#039;&amp;#039;D&amp;#039;&amp;#039;_&amp;#039;&amp;#039;E&amp;#039;&amp;#039;&amp;lt;/tt&amp;gt;&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;dynpgwikitable&amp;quot;&lt;br /&gt;
! Buchstabe !! mögliche Werte !! Beschreibung&lt;br /&gt;
|-&lt;br /&gt;
|| &amp;lt;tt&amp;gt;&amp;#039;&amp;#039;A&amp;#039;&amp;#039;&amp;lt;/tt&amp;gt; || 0 oder 1 oder 2 etc. || gibt das Level der Gruppe an, also die Verzweigungstiefe in der sich die Navigation befindet&lt;br /&gt;
|-&lt;br /&gt;
|| &amp;lt;tt&amp;gt;&amp;#039;&amp;#039;B&amp;#039;&amp;#039;&amp;lt;/tt&amp;gt; || &amp;lt;tt&amp;gt;r&amp;lt;/tt&amp;gt; (nicht letzter), &amp;lt;tt&amp;gt;e&amp;lt;/tt&amp;gt; (letzter) || gibt an, ob nach dieser Gruppe noch weitere aufgelistet werden (z.B. in Musterwebsite 3 ist die Gruppe 6 &amp;quot;Home&amp;quot; die letzte des Menüs)&lt;br /&gt;
|-&lt;br /&gt;
|| &amp;lt;tt&amp;gt;&amp;#039;&amp;#039;C&amp;#039;&amp;#039;&amp;lt;/tt&amp;gt; ||  &amp;lt;tt&amp;gt;a&amp;lt;/tt&amp;gt; (ist aktiv), &amp;lt;tt&amp;gt;i&amp;lt;/tt&amp;gt; (ist nicht aktiv) || gibt an, ob die Gruppe aktiv ist, d.h. ob sie durch einen Klick ausgewählt wurde&lt;br /&gt;
|-&lt;br /&gt;
|| &amp;lt;tt&amp;gt;&amp;#039;&amp;#039;D&amp;#039;&amp;#039;&amp;lt;/tt&amp;gt; ||  &amp;lt;tt&amp;gt;exp&amp;lt;/tt&amp;gt; (ausgeklappt), cll(eingeklappt) || gibt an, ob die Untergruppen dieser Gruppe ausgeklappt sind oder nicht&lt;br /&gt;
|-&lt;br /&gt;
|| &amp;lt;tt&amp;gt;&amp;#039;&amp;#039;E&amp;#039;&amp;#039;&amp;lt;/tt&amp;gt; ||  &amp;lt;tt&amp;gt;_hover&amp;lt;/tt&amp;gt; (Mauszeiger ist über dem Element), nichts (Mauszeiger ist nicht über dem Element) || gibt an, ob sich der Mauszeiger über dem Gruppennamen befindet oder nicht&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Mithilfe dieses Schemas kann man nun bestimmen, welche CSS-Klassen man in der CSS-Datei angeben muss um bestimmte Effekte hervorzurufen.&lt;br /&gt;
Möchte man beispielsweise, dass alle Elemente der zweitobersten Ebene blinken, wenn der Mauszeiger über dem Element ist, so notiert man in der CSS-Datei:&lt;br /&gt;
&amp;lt;code&amp;gt;[css, N]&lt;br /&gt;
div#course_categories_menu div#level_1_r_a_exp_hover,&lt;br /&gt;
div#course_categories_menu div#level_1_r_a_cll_hover,&lt;br /&gt;
div#course_categories_menu div#level_1_r_i_exp_hover,&lt;br /&gt;
div#course_categories_menu div#level_1_r_i_cll_hover,&lt;br /&gt;
div#course_categories_menu div#level_1_e_a_exp_hover,&lt;br /&gt;
div#course_categories_menu div#level_1_e_a_cll_hover,&lt;br /&gt;
div#course_categories_menu div#level_1_e_i_exp_hover,&lt;br /&gt;
div#course_categories_menu div#level_1_e_i_cll_hover {&lt;br /&gt;
  text-decoration:blink;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Diese Struktur der &amp;lt;tt&amp;gt;div&amp;lt;/tt&amp;gt;-Tags wiederholt sich mit tieferen Gruppenebenen / Untergruppen. Zum Beispiel tauchen die &amp;lt;tt&amp;gt;div&amp;lt;/tt&amp;gt;-Tags der Untergruppen vom &amp;#039;&amp;#039;Über uns&amp;#039;&amp;#039;-Menüpunkt aus der Muster-Website 3 innerhalb des &amp;lt;tt&amp;gt;group_fold_4&amp;lt;/tt&amp;gt; - &amp;lt;tt&amp;gt;div&amp;lt;/tt&amp;gt; - Tags auf.&lt;br /&gt;
&lt;br /&gt;
Weitere Informationen über die CSS-Klassen kann man schnell erhalten, indem man sich den HTML-Code eines generierten dynamischen Menüs anschaut, zum Beispiel aus der Muster-Website 3.&lt;br /&gt;
&lt;br /&gt;
==Templates==&lt;br /&gt;
Diese Templates liegen im Ordner &amp;lt;tt&amp;gt;dynpg/plugins/DPGdynmenu/templates&amp;lt;/tt&amp;gt;. Hier finden sie Ordner, die jeweils eine &amp;lt;tt&amp;gt;menu.tpl&amp;lt;/tt&amp;gt; enthalten. Welcher dieser Ordner aktiv ist, bestimmen Sie durch das Global &amp;lt;tt&amp;gt;$GLOBALS[&amp;quot;DynPG&amp;quot;]-&amp;gt;SetParam_PlugIn_Template(&amp;#039;DPGdynmenu&amp;#039;, &amp;#039;TEMPLATEORDNER&amp;#039;);&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Die Templates dienen als Vorlage für die Generierung des HTML-Codes der dynamischen Navigation. In ihnen werden auch die CSS-Klassen definiert, welche in [#CSS] erklärt wurden. Außerdem finden hier Templateplatzhalter der Form &amp;lt;tt&amp;gt;&amp;lt;nowiki&amp;gt;{$PLATZHALTER}&amp;lt;/nowiki&amp;gt;&amp;lt;/tt&amp;gt; Verwendung, die DynPG dynamisch durch Inhalt ersetzt.&lt;br /&gt;
&lt;br /&gt;
Das Template &amp;#039;&amp;#039;horizontal&amp;#039;&amp;#039; der Musterwebsite 3 generiert beispielsweise ein horizontales Menü, während das Template &amp;#039;&amp;#039;intelligent&amp;#039;&amp;#039; ein vertikales Menü erzeugt.&lt;br /&gt;
&lt;br /&gt;
Modifikationen an den Templates sind recht komplex. Sollten Sie vorhaben hier Änderungen durchzuführen, wenden Sie sich an das DynPG-Forum.&lt;br /&gt;
&lt;br /&gt;
==Feste Links einbauen==&lt;br /&gt;
&lt;br /&gt;
Hierzu erstellt man im Backend eine Gruppe mit dem Namen des festen Links und merkt sich die Gruppennummer. Mittels des Plugin-Parameters &amp;lt;tt&amp;gt;&amp;#039;href_subpages&amp;#039;&amp;lt;/tt&amp;gt; setzt man für diese Gruppennummer nun als Ziel die Datei &amp;lt;tt&amp;gt;counter.php&amp;lt;/tt&amp;gt; fest und übergibt dieser als Parameter das feste Linkziel. Beispiel: Wir wollen einen Link auf die Google-Webseite setzen. Also erstellen wir im Backend eine Gruppe mit dem Namen &amp;#039;&amp;#039;Google-Websuche&amp;#039;&amp;#039; und notieren die Gruppennummer (z.B. 33). In die PHP-Datei unserer dynamischen Navigation fügen wir nun folgendes ein:&lt;br /&gt;
&amp;lt;code&amp;gt;[php, N]&lt;br /&gt;
$GLOBALS[&amp;quot;DynPG&amp;quot;]-&amp;gt;SetParam_PlugIn_Param(&lt;br /&gt;
  &amp;#039;DPGdynmenu&amp;#039;,&lt;br /&gt;
  &amp;#039;href_subpages&amp;#039;,&lt;br /&gt;
  Array(&lt;br /&gt;
	33 =&amp;gt; Array(&lt;br /&gt;
      &amp;#039;page&amp;#039; =&amp;gt; &amp;#039;counter.php?inc=http://www.google.com&amp;#039;,&lt;br /&gt;
      &amp;#039;successors&amp;#039; =&amp;gt; true&lt;br /&gt;
    )		&lt;br /&gt;
  )&lt;br /&gt;
);&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Mehrsprachiges Menü==&lt;br /&gt;
&lt;br /&gt;
Hierzu gibt es einen Thread in unserem Forum unter [http://www.dynpg.ch/dynpg-forum.php?t=&amp;amp;read_group=30&amp;amp;thread_id=47&amp;amp;tt=Sprachwechsel]. Die grundsätzliche Idee ist (bei zwei Sprachen) zwei Gruppenbäume im Backend aufzubauen. Die oberste Gruppe des ersten Baumes wäre beispielsweise die Gruppe &amp;#039;&amp;#039;Deutsch&amp;#039;&amp;#039;, die oberste Gruppe des zweiten Baumes wäre zum Beispiel &amp;#039;&amp;#039;English&amp;#039;&amp;#039;.&lt;br /&gt;
&lt;br /&gt;
In der zweiten Ebene kommen dann unter &amp;#039;&amp;#039;Deutsch&amp;#039;&amp;#039; bzw. &amp;#039;&amp;#039;English&amp;#039;&amp;#039; Untergruppen wie &amp;#039;&amp;#039;News&amp;#039;&amp;#039;/&amp;#039;&amp;#039;Nachrichten&amp;#039;&amp;#039;, &amp;#039;&amp;#039;Produkte&amp;#039;&amp;#039;/&amp;#039;&amp;#039;Products&amp;#039;&amp;#039;, &amp;#039;&amp;#039;Hilfe&amp;#039;&amp;#039;/&amp;#039;&amp;#039;Support&amp;#039;&amp;#039; und so weiter. Man erstellt sich nun zwei PHP-Dateien (&amp;lt;tt&amp;gt;navi_de.php&amp;lt;/tt&amp;gt;, &amp;lt;tt&amp;gt;navi_en.php&amp;lt;/tt&amp;gt;) wie oben beschrieben [#Einrichten]. In diesen wird dann mit den Befehlen aus [#Globalsreferenz] der jeweils nicht passende Baum ausgeblendet.&lt;br /&gt;
&lt;br /&gt;
==Siehe auch==&lt;br /&gt;
*[[Sitemap-Tutorial]]&lt;br /&gt;
*[[Implementation eines kompletten Hauptmenüs]]&lt;br /&gt;
*[[Code-Schnipsel Einfaches Hauptmenü]]&lt;br /&gt;
*[[Code-Schnipsel Menüeinträge sortieren]]&lt;br /&gt;
*[[Snippet-Beispiele]]&lt;/div&gt;</summary>
		<author><name>Sebastian</name></author>	</entry>

	<entry>
		<id>https://wiki-en.dynpg.org/wiki_de/index.php?title=Dynamische_Navigation</id>
		<title>Dynamische Navigation</title>
		<link rel="alternate" type="text/html" href="https://wiki-en.dynpg.org/wiki_de/index.php?title=Dynamische_Navigation"/>
				<updated>2009-08-16T17:50:34Z</updated>
		
		<summary type="html">&lt;p&gt;Sebastian: /* Die dynamische Navigation im Backend */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Kategorie:Module]]&lt;br /&gt;
==Beschreibung==&lt;br /&gt;
Die dynamische Navigation ist Bestandteil des kostenlosen Grundmoduls von DynPG und bereits im Standard-DynPG integriert. Es ist keine separate Installation notwendig. Sie ermöglicht es Ihnen einfach und flexibel Navigationen auf Ihrer Homepage zu erstellen. Die Anwendungsmöglichkeiten gestalten sich dabei flexibel als normales Menü oder auch als Sitemap.&lt;br /&gt;
&lt;br /&gt;
Ein dynamisches Menü bildet die Gruppenstruktur im Backend als Menü ab, macht also die logische Struktur ihrer Artikel aus dem Backend auf einer Webseite sichtbar und navigierbar.&lt;br /&gt;
&lt;br /&gt;
Der Vorteil ist, dass man im Backend neue Gruppen o.ä. erstellt und diese dann im Hauptmenü erscheinen. Dies ist auch bei Untergruppen nützlich,&lt;br /&gt;
z.B. wenn eine neue Untergruppe &amp;#039;&amp;#039;Lokalnachrichten&amp;#039;&amp;#039; zur Hauptgruppe &amp;#039;&amp;#039;News&amp;#039;&amp;#039; hinzukommt.&lt;br /&gt;
&lt;br /&gt;
Zum Verständnis der Funktionsvielfalt der dynamischen Navigation ist es hilfreich, einmal eine der [[Muster-Web-Sites|Musterwebsites]] zu installieren und in den entsprechenden Dateien der Musterwebsite die unten erklärten Einstellungsmöglichkeiten nachzuvollziehen und vielleicht auch einmal mit den Optionen herumzuspielen.&lt;br /&gt;
&lt;br /&gt;
==Einrichten==&lt;br /&gt;
&amp;#039;&amp;#039;Anmerkung: Benutzen sie die [[Muster-Web-Sites|Musterwebsites]], so müssen die nachfolgenden zwei Schritte nicht ausgeführt werden, da die dynamische Navigation bereits in den Musterwebsites genutzt wird&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
===Schritt 1: Artikel erstellen mit Platzhalter für die dynamische Navigation===&lt;br /&gt;
Wählen Sie im Menü des Backends &amp;#039;&amp;#039;Gruppen&amp;#039;&amp;#039; aus [[Bild:dynmenue01.png|thumb]]. Suchen Sie sich nun eine Gruppe, in der Sie einen Artikel erfassen wollen. Hier wählen wir (die in diesem Falle schon vorhandene) Gruppe &amp;#039;&amp;#039;Startseite/Navigation/Formular&amp;#039;&amp;#039; durch Klick auf ihren Namen aus [[Bild:dynmenue02.png|thumb]].&lt;br /&gt;
&lt;br /&gt;
Mit einem Klick auf &amp;#039;&amp;#039;Artikel Formular anzeigen&amp;#039;&amp;#039; [[Bild:dynmenue03.png|thumb]] und danach auf &amp;#039;&amp;#039;Inhalt bearbeiten&amp;#039;&amp;#039; [[Bild:dynmenue04.png|thumb]] erscheint der Editor.&lt;br /&gt;
&lt;br /&gt;
In diesem wählen Sie das Symbol für die dynamische Navigation [[Bild:dynmenue05.png|thumb]], geben noch einen Titel, etwa &amp;#039;&amp;#039;Neue Seitennavigation&amp;#039;&amp;#039;, ein und bestätigen mit einem Klick auf &amp;#039;&amp;#039;Erstellen&amp;#039;&amp;#039; [[Bild:dynmenue06.png|thumb]]. &lt;br /&gt;
&lt;br /&gt;
Hat alles geklappt, können Sie im unteren Teil der Seite den neuen Artikel sehen [[Bild:dynmenue07.png|thumb]]. Die Nummer des Artikels benötigen Sie erneut, wenn Sie in eine PHP-Datei mittels eines Globals die dynamische Navigation einbinden.&lt;br /&gt;
&lt;br /&gt;
===Schritt 2: PHP-Datei für die dynamische Navigation erstellen===&lt;br /&gt;
Folgende Ordner-Struktur könnte bei Ihnen vorliegen:&lt;br /&gt;
:*&amp;lt;tt&amp;gt;http-docs/dynpg&amp;lt;/tt&amp;gt; : hier liegt das DynPG-CMS&lt;br /&gt;
:*&amp;lt;tt&amp;gt;http-docs/index.php&amp;lt;/tt&amp;gt; : die Hauptseite Ihrer Website&lt;br /&gt;
:*&amp;lt;tt&amp;gt;http-docs/folgeseite.php&amp;lt;/tt&amp;gt; : eine andere PHP-Datei der Website&lt;br /&gt;
:*&amp;lt;tt&amp;gt;http-docs/inc/navi.php&amp;lt;/tt&amp;gt; : In diese Datei platziert man häufig den Code für die Navigation, dadurch ist er leichter wiederverwendbar&lt;br /&gt;
&lt;br /&gt;
Den nötigen Code der &amp;lt;tt&amp;gt;inc/navi.php&amp;lt;/tt&amp;gt; kann man anhand der [[Muster-Web-Sites|Musterwebsites]] nachvollziehen (Für eine genauere Erklärung der einzelnen verwendeten Globals siehe die [[Funktionsreferenz/Globals|Globals-Übersicht von DynPG]] und weiter unten die [#Globalsreferenz Funktionsübersicht der dynamischen Navigation]) :&lt;br /&gt;
:*&amp;#039;&amp;#039;&amp;#039;&amp;lt;tt&amp;gt;inc/navi.php&amp;lt;/tt&amp;gt;:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;code&amp;gt;[php, N]&lt;br /&gt;
&amp;lt;?php&lt;br /&gt;
  $GLOBALS[&amp;quot;DynPG&amp;quot;]-&amp;gt;SetParam_PlugIn_Template(&amp;#039;DPGdynmenu&amp;#039;, &amp;#039;intelligent&amp;#039;);&lt;br /&gt;
  $GLOBALS[&amp;quot;DynPG&amp;quot;]-&amp;gt;SetParam_PlugIn_Param(&amp;#039;DPGdynmenu&amp;#039;, &amp;#039;real_expand&amp;#039;, TRUE);&lt;br /&gt;
  $GLOBALS[&amp;quot;DynPG&amp;quot;]-&amp;gt;SetParam_PlugIn_Param(&amp;#039;DPGdynmenu&amp;#039;, &amp;#039;order&amp;#039;, Array(&amp;#039;INDEX&amp;#039;));&lt;br /&gt;
  $GLOBALS[&amp;quot;DynPG&amp;quot;]-&amp;gt;SetParam_PlugIn_Param(&amp;#039;DPGdynmenu&amp;#039;, &amp;#039;sort&amp;#039;, Array(&amp;#039;ASC&amp;#039;));&lt;br /&gt;
  $GLOBALS[&amp;quot;DynPG&amp;quot;]-&amp;gt;SetParam_PlugIn_Param(&amp;#039;DPGdynmenu&amp;#039;, &amp;#039;href_page_groups&amp;#039;, &amp;#039;../folgeseite.php&amp;#039;);&lt;br /&gt;
  $GLOBALS[&amp;quot;DynPG&amp;quot;]-&amp;gt;SetParam_PlugIn_Param(&amp;#039;DPGdynmenu&amp;#039;, &amp;#039;href_page_articles&amp;#039;, &amp;#039;../folgeseite.php&amp;#039;);&lt;br /&gt;
  $GLOBALS[&amp;quot;DynPG&amp;quot;]-&amp;gt;SetParam_PlugIn_Param(&amp;#039;DPGdynmenu&amp;#039;, &amp;#039;href_page_detail&amp;#039;, &amp;#039;../folgeseite.php&amp;#039;);&lt;br /&gt;
  $GLOBALS[&amp;quot;DynPG&amp;quot;]-&amp;gt;SetParam_PlugIn_Param(&lt;br /&gt;
    &amp;#039;DPGdynmenu&amp;#039;,&lt;br /&gt;
    &amp;#039;href_subpages&amp;#039;,&lt;br /&gt;
    Array(&lt;br /&gt;
      0 =&amp;gt; Array(&lt;br /&gt;
        &amp;#039;page&amp;#039; =&amp;gt; &amp;#039;../formular.php{query}&amp;#039;,&lt;br /&gt;
        &amp;#039;successors&amp;#039; =&amp;gt; true&lt;br /&gt;
      ),&lt;br /&gt;
      21 =&amp;gt; Array(&lt;br /&gt;
        &amp;#039;page&amp;#039; =&amp;gt; &amp;#039;../blog.php{query}&amp;#039;,&lt;br /&gt;
        &amp;#039;successors&amp;#039; =&amp;gt; true&lt;br /&gt;
      ),&lt;br /&gt;
      15 =&amp;gt; Array(&lt;br /&gt;
        &amp;#039;page&amp;#039; =&amp;gt; &amp;#039;../sitemap.php{query}&amp;#039;,&lt;br /&gt;
        &amp;#039;successors&amp;#039; =&amp;gt; true&lt;br /&gt;
      ),&lt;br /&gt;
      16 =&amp;gt; Array(&lt;br /&gt;
        &amp;#039;page&amp;#039; =&amp;gt; &amp;#039;../veranstaltungen.php{query}&amp;#039;,&lt;br /&gt;
        &amp;#039;successors&amp;#039; =&amp;gt; true&lt;br /&gt;
      ),&lt;br /&gt;
      21 =&amp;gt; Array(&lt;br /&gt;
        &amp;#039;page&amp;#039; =&amp;gt; &amp;#039;../blog.php{query}&amp;#039;,&lt;br /&gt;
        &amp;#039;successors&amp;#039; =&amp;gt; true&lt;br /&gt;
      ),&lt;br /&gt;
      6 =&amp;gt; Array(&lt;br /&gt;
        &amp;#039;page&amp;#039; =&amp;gt; &amp;#039;../index.php{query}&amp;#039;,&lt;br /&gt;
        &amp;#039;successors&amp;#039; =&amp;gt; true&lt;br /&gt;
      )&lt;br /&gt;
    )&lt;br /&gt;
  );    &lt;br /&gt;
  $GLOBALS[&amp;quot;DynPG&amp;quot;]-&amp;gt;SetupTemplate(&amp;#039;uneditable&amp;#039;); &lt;br /&gt;
  $GLOBALS[&amp;quot;DynPG&amp;quot;]-&amp;gt;SetParam_A_Anytime(TRUE);&lt;br /&gt;
  $GLOBALS[&amp;quot;DynPG&amp;quot;]-&amp;gt;SetParam_A_CategoryNavigation(FALSE);&lt;br /&gt;
  $GLOBALS[&amp;quot;DynPG&amp;quot;]-&amp;gt;SetParam_A_PrintNavigation(FALSE);&lt;br /&gt;
  $GLOBALS[&amp;quot;DynPG&amp;quot;]-&amp;gt;SetParam_A_ArticleHeader(FALSE);&lt;br /&gt;
  $GLOBALS[&amp;quot;DynPG&amp;quot;]-&amp;gt;SetParam_A_Article(1);&lt;br /&gt;
&lt;br /&gt;
  $GLOBALS[&amp;quot;DynPG&amp;quot;]-&amp;gt;Write_Article();&lt;br /&gt;
  $GLOBALS[&amp;quot;DynPG&amp;quot;]-&amp;gt;SetupTemplate(&amp;#039;default&amp;#039;);  &lt;br /&gt;
?&amp;gt;&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Man kann nun in der &amp;lt;tt&amp;gt;index.php&amp;lt;/tt&amp;gt; mittels &lt;br /&gt;
&amp;lt;code&amp;gt;[php, N]&lt;br /&gt;
&amp;lt;?php include(&amp;quot;inc/navi.php&amp;quot;); ?&amp;gt;&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
die Navigation einbinden, ebenso z.B. auch in der &amp;lt;tt&amp;gt;folgeseite.php&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Die dynamische Navigation kann nun an verschiedenen Stellen angepasst werden. Neben den Globals in der PHP-Datei ([#Globalsreferenz]) ist dies im Backend durch das Erstellen von Gruppen und Artikeln möglich ([#Dynamische_Navigation_im_Backend]). Erweiterte Möglichkeiten ergeben sich durch das [#CSS] und die [#Templates].&lt;br /&gt;
&lt;br /&gt;
==Die dynamische Navigation im Backend==&lt;br /&gt;
&lt;br /&gt;
Wie bereits erwähnt, bildet die dynamische Navigation die Gruppenstruktur des Backends auf einer Webseite ab. In der Musterwebsite 3 ist im Backend zum Beispiel folgende Gruppenstruktur zu erkennen:&lt;br /&gt;
[[Bild:dynmenue08.PNG|200px]].&lt;br /&gt;
Auf der Website sieht dies dann wie folgt aus:&lt;br /&gt;
[[Bild:dynmenue09.PNG|200px]]&lt;br /&gt;
oder auch&lt;br /&gt;
[[Bild:dynmenue10.PNG|200px]]&lt;br /&gt;
. Welche Untergruppen angezeigt werden, hängt zum einen davon ab, welcher Navigationspunkt gerade aktiv ist (also angeklickt wurde) und zum anderen von den benutzten Globals in der PHP-Datei [#Globalsreferenz z.B. Parameter &amp;#039;full_load&amp;#039;] und den Einstellungen der Gruppe im Backend. &lt;br /&gt;
&lt;br /&gt;
In diesen Einstellungen kann man z.B. auch bestimmen, dass eine bestimmte Gruppe nicht im Menü der Website sichtbar ist (so zum Beispiel die Gruppe &amp;quot;Diverses&amp;quot; aus der Musterwebsite 3). Die Eigenschaftenseite der Gruppe erreicht man über einen Klick auf:&lt;br /&gt;
[[Bild:dynmenue11.PNG|200px]]&lt;br /&gt;
. Unter dem Punkt &amp;#039;&amp;#039;Veröffentlichen&amp;#039;&amp;#039;&lt;br /&gt;
[[Bild:dynmenue12.PNG|200px]])&lt;br /&gt;
wählt man nun die Option &amp;#039;&amp;#039;Nein&amp;#039;&amp;#039; aus. &lt;br /&gt;
&lt;br /&gt;
Die Option &amp;#039;&amp;#039;Ja&amp;#039;&amp;#039; führt dazu, dass auf der Website der Navigationspunkt &amp;#039;&amp;#039;Diverses&amp;#039;&amp;#039; erscheint&lt;br /&gt;
[[Bild:dynmenue14.PNG|200px]]&lt;br /&gt;
. Ist der Punkt &amp;#039;&amp;#039;Diverses&amp;#039;&amp;#039; ausgewählt, erscheinen auch die Untergruppen&lt;br /&gt;
[[Bild:dynmenue13.PNG|200px]]&lt;br /&gt;
.&lt;br /&gt;
&lt;br /&gt;
==Globalsreferenz==&lt;br /&gt;
===Globals direkt für das Plugin===&lt;br /&gt;
&amp;#039;&amp;#039;Die Parameter haben Default-Werte, müssen also nicht immer gesetzt werden&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;tt&amp;gt;$GLOBALS[&amp;quot;DynPG&amp;quot;]-&amp;gt;SetParam_PlugIn_Template(&amp;#039;DPGdynmenu&amp;#039;, &amp;#039;TEMPLATEORDNER&amp;#039;);&amp;lt;/tt&amp;gt;:&lt;br /&gt;
:Hiermit wählt man den Template-Ordner für die dynamische Navigation aus. Diese Template-Ordner liegen in &amp;lt;tt&amp;gt;dynpg/plugins/DPGdynmenu/templates&amp;lt;/tt&amp;gt;. Aus diesem Ordner wird die Template-Datei &amp;lt;tt&amp;gt;menu.tpl&amp;lt;/tt&amp;gt; zur Generierung des Menüs genommen. Dies ist unabhängig vom Global &amp;lt;tt&amp;gt;$GLOBALS[&amp;quot;DynPG&amp;quot;]-&amp;gt;SetupTemplate(...);&amp;lt;/tt&amp;gt;, der sozusagen das Template des Artikels bestimmt, welcher die dynamische Navigation enthält.&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;tt&amp;gt;$GLOBALS[&amp;quot;DynPG&amp;quot;]-&amp;gt;SetParam_PlugIn_Param(&amp;#039;DPGdynmenu&amp;#039;, PARAMETERNAME, PARAMETERWERT);&amp;lt;/tt&amp;gt;&lt;br /&gt;
:{| class=&amp;quot;dynpgwikitable&amp;quot;&lt;br /&gt;
! &amp;lt;tt&amp;gt;PARAMETERNAME&amp;lt;/tt&amp;gt; !! &amp;lt;tt&amp;gt;PARAMETERWERT&amp;lt;/tt&amp;gt; !! Beschreibung&lt;br /&gt;
|-&lt;br /&gt;
||&amp;lt;tt&amp;gt;&amp;#039;order&amp;#039;&amp;lt;/tt&amp;gt; || &amp;lt;tt&amp;gt;Array(&amp;#039;INDEX&amp;#039;)&amp;lt;/tt&amp;gt; oder &amp;lt;tt&amp;gt;Array(&amp;#039;NAME&amp;#039;)&amp;lt;/tt&amp;gt; || Reihenfolge der Gruppen in der Navigation nach Name oder im Backend gesetzten Index&lt;br /&gt;
|-&lt;br /&gt;
||&amp;lt;tt&amp;gt;&amp;#039;sort&amp;#039;&amp;lt;/tt&amp;gt; || &amp;lt;tt&amp;gt;Array(&amp;#039;ASC&amp;#039;)&amp;lt;/tt&amp;gt; oder &amp;lt;tt&amp;gt;Array(&amp;#039;DESC&amp;#039;)&amp;lt;/tt&amp;gt; || aufsteigende oder absteigende Sortierung&lt;br /&gt;
|-&lt;br /&gt;
||&amp;lt;tt&amp;gt;&amp;#039;order_articles&amp;#039;&amp;lt;/tt&amp;gt; || z.B. &amp;lt;tt&amp;gt;Array(&amp;#039;INDEX&amp;#039;)&amp;lt;/tt&amp;gt; || sortiert Artikel in der dynamischen Navigation (falls diese angezeigt werden) &lt;br /&gt;
|-&lt;br /&gt;
||&amp;lt;tt&amp;gt;&amp;#039;sort_articles&amp;#039;&amp;lt;/tt&amp;gt; || z.B. &amp;lt;tt&amp;gt;Array(&amp;#039;ASC&amp;#039;)&amp;lt;/tt&amp;gt; || bestimmt aufsteigende oder absteigende Sortierreihenfolge der Artikel&lt;br /&gt;
|-&lt;br /&gt;
||&amp;lt;tt&amp;gt;&amp;#039;href_page_groups&amp;#039;&amp;lt;/tt&amp;gt; || z.B. &amp;lt;tt&amp;gt;&amp;#039;../folgeseite.php&amp;#039;&amp;lt;/tt&amp;gt; || Seite auf die weiterverlinkt wird bei einem Klick auf den Gruppennamen (ACHTUNG &amp;lt;tt&amp;gt;&amp;#039;../&amp;#039;&amp;lt;/tt&amp;gt; wichtig, siehe Ordnerstruktur weiter oben!)&lt;br /&gt;
|-&lt;br /&gt;
||&amp;lt;tt&amp;gt;&amp;#039;href_page_articles&amp;#039;&amp;lt;/tt&amp;gt; || z.B. &amp;lt;tt&amp;gt;&amp;#039;../folgeseite.php&amp;#039;&amp;lt;/tt&amp;gt; ||&lt;br /&gt;
|-&lt;br /&gt;
||&amp;lt;tt&amp;gt;&amp;#039;href_page_detail&amp;#039;&amp;lt;/tt&amp;gt; || z.B. &amp;lt;tt&amp;gt;&amp;#039;../folgeseite.php&amp;#039;&amp;lt;/tt&amp;gt; || Seite auf die weiterverlinkt wird bei einem Klick auf Artikelnamen in dynamischer Navigation (sofern Artikel angezeigt werden)&lt;br /&gt;
|-&lt;br /&gt;
||&amp;lt;tt&amp;gt;&amp;#039;href_subpages&amp;#039;&amp;lt;/tt&amp;gt; || z.B. &amp;lt;pre&amp;gt;Array(&lt;br /&gt;
  GRUPPENNUMMER =&amp;gt; Array( &lt;br /&gt;
    &amp;#039;page&amp;#039; =&amp;gt; &amp;#039;PHP-SEITE{query}&amp;#039;,&lt;br /&gt;
    &amp;#039;successors&amp;#039; =&amp;gt; true&lt;br /&gt;
  ),&lt;br /&gt;
.................&lt;br /&gt;
  GRUPPENNUMMER =&amp;gt; Array( &lt;br /&gt;
    &amp;#039;page&amp;#039; =&amp;gt; &amp;#039;PHP-SEITE&amp;#039;,&lt;br /&gt;
    &amp;#039;successors&amp;#039; =&amp;gt; true&lt;br /&gt;
  ) &lt;br /&gt;
)&amp;lt;/pre&amp;gt; || Ermöglicht für bestimmte Gruppen auf eine andere &amp;lt;tt&amp;gt;PHP-SEITE&amp;lt;/tt&amp;gt; zu verlinken&lt;br /&gt;
|-&lt;br /&gt;
||&amp;lt;tt&amp;gt;&amp;#039;full_load&amp;#039;&amp;lt;/tt&amp;gt; || &amp;lt;tt&amp;gt;false&amp;lt;/tt&amp;gt; oder &amp;lt;tt&amp;gt;true&amp;lt;/tt&amp;gt; || zeigt unabhängig von angeklickten Gruppen den kompletten Navigationsbaum mit Untergruppen an (oder auch nicht)&lt;br /&gt;
|-&lt;br /&gt;
|| &amp;lt;tt&amp;gt;&amp;#039;full_load_articles&amp;#039;&amp;lt;/tt&amp;gt; || &amp;lt;tt&amp;gt;false&amp;lt;/tt&amp;gt; ||&lt;br /&gt;
|-&lt;br /&gt;
|| &amp;lt;tt&amp;gt;&amp;#039;limit_articles&amp;#039;&amp;lt;/tt&amp;gt; || &amp;lt;tt&amp;gt;false&amp;lt;/tt&amp;gt; ||&lt;br /&gt;
|-&lt;br /&gt;
|| &amp;lt;tt&amp;gt;&amp;#039;expand_subtree&amp;#039;&amp;lt;/tt&amp;gt; || &amp;lt;tt&amp;gt;Array(4)&amp;lt;/tt&amp;gt; oder &amp;lt;tt&amp;gt;Array(4,5)&amp;lt;/tt&amp;gt; etc. || zeigt die Untergruppen von Gruppe 4 (bzw. 4 und 5) in jedem Fall an. Sei Gruppe 4 bspw. die Gruppe &amp;#039;&amp;#039;News&amp;#039;&amp;#039; des Backends, dann werden die beispielhaften Untergruppen &amp;#039;&amp;#039;Lokalnachrichten&amp;#039;&amp;#039; und &amp;#039;&amp;#039;Weltnachrichten&amp;#039;&amp;#039; immer zur Navigation angeboten, auch wenn sich ein Benutzer auf der Website gerade einen Artikel aus der Gruppe &amp;#039;&amp;#039;Kontakt&amp;#039;&amp;#039; anschaut&lt;br /&gt;
|- &lt;br /&gt;
|| &amp;lt;tt&amp;gt;&amp;#039;implode_subtree&amp;#039;&amp;lt;/tt&amp;gt; || &amp;lt;tt&amp;gt;Array(4)&amp;lt;/tt&amp;gt; oder &amp;lt;tt&amp;gt;Array(4,5)&amp;lt;/tt&amp;gt; etc. || zeigt die Untergruppen von Gruppe 4 (bzw. 4 und 5) in jedem Fall NICHT an. Anmerkung: der Parameter &amp;lt;tt&amp;gt;expand_subtree&amp;lt;/tt&amp;gt; überschreibt diese Einstellung! Ist also eine Gruppe in beiden Parametern aufgeführt, so werden die Untergruppen dieser Gruppe immer angezeigt, da der Parameter &amp;lt;tt&amp;gt;expand_subtree&amp;lt;/tt&amp;gt; wichtiger ist.&lt;br /&gt;
|-&lt;br /&gt;
|| &amp;lt;tt&amp;gt;&amp;#039;real_expand&amp;#039;&amp;lt;/tt&amp;gt; || &amp;lt;tt&amp;gt;false&amp;lt;/tt&amp;gt; ||&lt;br /&gt;
|-&lt;br /&gt;
|| &amp;lt;tt&amp;gt;&amp;#039;speed_mode&amp;#039;&amp;lt;/tt&amp;gt; || &amp;lt;tt&amp;gt;false&amp;lt;/tt&amp;gt; ||&lt;br /&gt;
|-&lt;br /&gt;
|| &amp;lt;tt&amp;gt;&amp;#039;parent_select&amp;#039;&amp;lt;/tt&amp;gt; || &amp;lt;tt&amp;gt;true&amp;lt;/tt&amp;gt; ||&lt;br /&gt;
|-&lt;br /&gt;
|| &amp;lt;tt&amp;gt;&amp;#039;max_depth&amp;#039;&amp;lt;/tt&amp;gt; || &amp;lt;tt&amp;gt;null&amp;lt;/tt&amp;gt; oder &amp;lt;tt&amp;gt;0&amp;lt;/tt&amp;gt; oder &amp;lt;tt&amp;gt;1&amp;lt;/tt&amp;gt; etc. || Tiefe bis zu der (Unter-)Gruppen angezeigt werden&lt;br /&gt;
|-&lt;br /&gt;
|| &amp;lt;tt&amp;gt;&amp;#039;min_depth&amp;#039;&amp;lt;/tt&amp;gt; || &amp;lt;tt&amp;gt;null&amp;lt;/tt&amp;gt; oder &amp;lt;tt&amp;gt;0&amp;lt;/tt&amp;gt; oder &amp;lt;tt&amp;gt;1&amp;lt;/tt&amp;gt; etc. || Tiefe, die eine Gruppe mindestens haben muss um angezeigt zu werden, z.B. 1 um oberste Ebene der Gruppen aus dem Backend auszublenden&lt;br /&gt;
|-&lt;br /&gt;
|| &amp;lt;tt&amp;gt;&amp;#039;fetch_only&amp;#039;&amp;lt;/tt&amp;gt; || &amp;lt;tt&amp;gt;null&amp;lt;/tt&amp;gt; ||&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Sinnvolle Globals vom DynPG-CMS===&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;tt&amp;gt;$GLOBALS[&amp;quot;DynPG&amp;quot;]-&amp;gt;SetupTemplate(&amp;#039;uneditable&amp;#039;);&amp;lt;/tt&amp;gt; : ermöglicht Navigation in der Seite obwohl Editiermodus im Backend angeschaltet ist&lt;br /&gt;
*&amp;lt;tt&amp;gt;$GLOBALS[&amp;quot;DynPG&amp;quot;]-&amp;gt;SetParam_A_Anytime(TRUE);&amp;lt;/tt&amp;gt; : Menü soll immer angezeigt werden&lt;br /&gt;
*&amp;lt;tt&amp;gt;$GLOBALS[&amp;quot;DynPG&amp;quot;]-&amp;gt;SetParam_A_CategoryNavigation(FALSE);&amp;lt;/tt&amp;gt; : keine weitere Navigation(Breadcrumb) anzeigen&lt;br /&gt;
*&amp;lt;tt&amp;gt;$GLOBALS[&amp;quot;DynPG&amp;quot;]-&amp;gt;SetParam_A_PrintNavigation(FALSE);&amp;lt;/tt&amp;gt; : kein Link zu Print-Seite anzeigen&lt;br /&gt;
*&amp;lt;tt&amp;gt;$GLOBALS[&amp;quot;DynPG&amp;quot;]-&amp;gt;SetParam_A_ArticleHeader(FALSE);&amp;lt;/tt&amp;gt; : keine Artikelüberschrift (des Artikels mit dem DynMenü-Platzhalter) und kein Artikelleadtext anzeigen&lt;br /&gt;
*&amp;lt;tt&amp;gt;$GLOBALS[&amp;quot;DynPG&amp;quot;]-&amp;gt;SetParam_A_Article(1);&amp;lt;/tt&amp;gt; : Artikel mit dem Dynmenü-Platzhalter setzen (&amp;#039;&amp;#039;&amp;#039;Hier die Artikelnummer aus [#Einbinden] einfügen!&amp;#039;&amp;#039;&amp;#039;)&lt;br /&gt;
*&amp;lt;tt&amp;gt;$GLOBALS[&amp;quot;DynPG&amp;quot;]-&amp;gt;Write_Article();&amp;lt;/tt&amp;gt; : Artikel ausgeben&lt;br /&gt;
*&amp;lt;tt&amp;gt;$GLOBALS[&amp;quot;DynPG&amp;quot;]-&amp;gt;SetupTemplate(&amp;#039;default&amp;#039;);&amp;lt;/tt&amp;gt; : andere Teile der Website haben sicherlich andere Templates. Wir setzen daher hier wieder auf das Standard-Template zurück&lt;br /&gt;
&lt;br /&gt;
===CSS===&lt;br /&gt;
Die CSS-Dateien für die dynamische Navigation liegen im Verzeichnis &amp;lt;tt&amp;gt;dynpg/plugins/DPGdynmenu/styles&amp;lt;/tt&amp;gt;. Die Datei &amp;lt;tt&amp;gt;menu.css&amp;lt;/tt&amp;gt; ist hierbei meist die ausschlaggebende, so zum Beispiel in der Navigation der Musterwebsite 3.&lt;br /&gt;
&lt;br /&gt;
Die CSS-Klassen und -Bezeichner aus dieser Datei sind nach einem bestimmten Schema benannt. Hat man dieses einmal verstanden, so lassen sich leicht Änderungen an speziellen Teilen des Erscheinungsbildes der dynamischen Navigation durchführen.&lt;br /&gt;
&lt;br /&gt;
Die dynamische Navigation wird von einem &amp;lt;tt&amp;gt;div&amp;lt;/tt&amp;gt;-Tag mit der Id &amp;lt;tt&amp;gt;course_categories_menu&amp;lt;/tt&amp;gt; umschlossen.&lt;br /&gt;
&lt;br /&gt;
Diese Angaben gelten also grundsätzlich für die gesamte dynamische Navigation und werden gegebenenfalls weitervererbt.&lt;br /&gt;
Im &amp;lt;tt&amp;gt;menu.css&amp;lt;/tt&amp;gt; der Muster-Website 3 steht beispielsweise:&lt;br /&gt;
&amp;lt;code&amp;gt;[css, N]&lt;br /&gt;
div#course_categories_menu {&lt;br /&gt;
  margin: 0;&lt;br /&gt;
  padding: 0;&lt;br /&gt;
  width: 180px;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Um zu verhindern, dass die CSS-Angaben dieser Datei auch auf andere Teile der Website Einfluss haben, ist vor allen anderen CSS-Definitionen der Datei ebenfalls &amp;lt;tt&amp;gt;div#course_categories_menu&amp;lt;/tt&amp;gt; notiert. Dadurch wirken sich die Angaben nur auf die dynamische Navigation aus.&lt;br /&gt;
&lt;br /&gt;
Innerhalb des &amp;lt;tt&amp;gt;course_categories_menu&amp;lt;/tt&amp;gt; - &amp;lt;tt&amp;gt;div&amp;lt;/tt&amp;gt; - Tags gibt es für jede Gruppe der obersten angezeigten Gruppenebene ein &amp;lt;div&amp;gt;-Tag mit der CSS-Id &amp;lt;tt&amp;gt;group_fold_NUMMER&amp;lt;/tt&amp;gt; wobei &amp;lt;tt&amp;gt;NUMMER&amp;lt;/tt&amp;gt; der Gruppennummer der Gruppe aus dem Backend entspricht. In der Navigation der Muster-Website 3 gibt es also folgende Tags:&lt;br /&gt;
&amp;lt;code&amp;gt;[html, N]&lt;br /&gt;
&amp;lt;div id=&amp;quot;course_categories_menu&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;div id=&amp;quot;group_fold_2&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;  &amp;lt;!--Produkte--&amp;gt;&lt;br /&gt;
  &amp;lt;div id=&amp;quot;group_fold_3&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;  &amp;lt;!--Support--&amp;gt;&lt;br /&gt;
  &amp;lt;div id=&amp;quot;group_fold_9&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;  &amp;lt;!--News--&amp;gt;&lt;br /&gt;
  &amp;lt;div id=&amp;quot;group_fold_4&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;  &amp;lt;!--Über uns--&amp;gt;&lt;br /&gt;
  &amp;lt;div id=&amp;quot;group_fold_5&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;  &amp;lt;!--Kontakt--&amp;gt;&lt;br /&gt;
  &amp;lt;div id=&amp;quot;group_fold_21&amp;quot;&amp;gt;&amp;lt;/div&amp;gt; &amp;lt;!--Blog--&amp;gt;&lt;br /&gt;
  &amp;lt;div id=&amp;quot;group_fold_15&amp;quot;&amp;gt;&amp;lt;/div&amp;gt; &amp;lt;!--Sitemap--&amp;gt;&lt;br /&gt;
  &amp;lt;div id=&amp;quot;group_fold_6&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;  &amp;lt;!--Home--&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
Möchte man nun Eigenschaften nur an einem bestimmten Teil der Navigation machen, so könnte man im CSS-File folgende Angabe machen:&lt;br /&gt;
&amp;lt;code&amp;gt;[css, N]&lt;br /&gt;
div#course_categories_menu div#group_fold_9 {&lt;br /&gt;
  text-decoration:blink;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
Damit würde der Text der Gruppe &amp;#039;&amp;#039;News&amp;#039;&amp;#039; (und eventueller Untergruppen) in der dynamischen Navigation blinken.&lt;br /&gt;
&lt;br /&gt;
Innerhalb der &amp;lt;tt&amp;gt;group_fold_NUMMER&amp;lt;/tt&amp;gt; - &amp;lt;tt&amp;gt;div&amp;lt;/tt&amp;gt; - Tags gibt es nun ein &amp;lt;tt&amp;gt;div&amp;lt;/tt&amp;gt; - Tag, dass (neben einer weiteren CSS-Id) eine CSS-Klasse hat. Diese CSS-Klasse wird nach folgendem Muster gebildet:&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;&amp;lt;tt&amp;gt;level_&amp;#039;&amp;#039;A&amp;#039;&amp;#039;_&amp;#039;&amp;#039;B&amp;#039;&amp;#039;_&amp;#039;&amp;#039;C&amp;#039;&amp;#039;_&amp;#039;&amp;#039;D&amp;#039;&amp;#039;_&amp;#039;&amp;#039;E&amp;#039;&amp;#039;&amp;lt;/tt&amp;gt;&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;dynpgwikitable&amp;quot;&lt;br /&gt;
! Buchstabe !! mögliche Werte !! Beschreibung&lt;br /&gt;
|-&lt;br /&gt;
|| &amp;lt;tt&amp;gt;&amp;#039;&amp;#039;A&amp;#039;&amp;#039;&amp;lt;/tt&amp;gt; || 0 oder 1 oder 2 etc. || gibt das Level der Gruppe an, also die Verzweigungstiefe in der sich die Navigation befindet&lt;br /&gt;
|-&lt;br /&gt;
|| &amp;lt;tt&amp;gt;&amp;#039;&amp;#039;B&amp;#039;&amp;#039;&amp;lt;/tt&amp;gt; || &amp;lt;tt&amp;gt;r&amp;lt;/tt&amp;gt; (nicht letzter), &amp;lt;tt&amp;gt;e&amp;lt;/tt&amp;gt; (letzter) || gibt an, ob nach dieser Gruppe noch weitere aufgelistet werden (z.B. in Musterwebsite 3 ist die Gruppe 6 &amp;quot;Home&amp;quot; die letzte des Menüs)&lt;br /&gt;
|-&lt;br /&gt;
|| &amp;lt;tt&amp;gt;&amp;#039;&amp;#039;C&amp;#039;&amp;#039;&amp;lt;/tt&amp;gt; ||  &amp;lt;tt&amp;gt;a&amp;lt;/tt&amp;gt; (ist aktiv), &amp;lt;tt&amp;gt;i&amp;lt;/tt&amp;gt; (ist nicht aktiv) || gibt an, ob die Gruppe aktiv ist, d.h. ob sie durch einen Klick ausgewählt wurde&lt;br /&gt;
|-&lt;br /&gt;
|| &amp;lt;tt&amp;gt;&amp;#039;&amp;#039;D&amp;#039;&amp;#039;&amp;lt;/tt&amp;gt; ||  &amp;lt;tt&amp;gt;exp&amp;lt;/tt&amp;gt; (ausgeklappt), cll(eingeklappt) || gibt an, ob die Untergruppen dieser Gruppe ausgeklappt sind oder nicht&lt;br /&gt;
|-&lt;br /&gt;
|| &amp;lt;tt&amp;gt;&amp;#039;&amp;#039;E&amp;#039;&amp;#039;&amp;lt;/tt&amp;gt; ||  &amp;lt;tt&amp;gt;_hover&amp;lt;/tt&amp;gt; (Mauszeiger ist über dem Element), nichts (Mauszeiger ist nicht über dem Element) || gibt an, ob sich der Mauszeiger über dem Gruppennamen befindet oder nicht&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Mithilfe dieses Schemas kann man nun bestimmen, welche CSS-Klassen man in der CSS-Datei angeben muss um bestimmte Effekte hervorzurufen.&lt;br /&gt;
Möchte man beispielsweise, dass alle Elemente der zweitobersten Ebene blinken, wenn der Mauszeiger über dem Element ist, so notiert man in der CSS-Datei:&lt;br /&gt;
&amp;lt;code&amp;gt;[css, N]&lt;br /&gt;
div#course_categories_menu div#level_1_r_a_exp_hover,&lt;br /&gt;
div#course_categories_menu div#level_1_r_a_cll_hover,&lt;br /&gt;
div#course_categories_menu div#level_1_r_i_exp_hover,&lt;br /&gt;
div#course_categories_menu div#level_1_r_i_cll_hover,&lt;br /&gt;
div#course_categories_menu div#level_1_e_a_exp_hover,&lt;br /&gt;
div#course_categories_menu div#level_1_e_a_cll_hover,&lt;br /&gt;
div#course_categories_menu div#level_1_e_i_exp_hover,&lt;br /&gt;
div#course_categories_menu div#level_1_e_i_cll_hover {&lt;br /&gt;
  text-decoration:blink;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Diese Struktur der &amp;lt;tt&amp;gt;div&amp;lt;/tt&amp;gt;-Tags wiederholt sich mit tieferen Gruppenebenen / Untergruppen. Zum Beispiel tauchen die &amp;lt;tt&amp;gt;div&amp;lt;/tt&amp;gt;-Tags der Untergruppen vom &amp;#039;&amp;#039;Über uns&amp;#039;&amp;#039;-Menüpunkt aus der Muster-Website 3 innerhalb des &amp;lt;tt&amp;gt;group_fold_4&amp;lt;/tt&amp;gt; - &amp;lt;tt&amp;gt;div&amp;lt;/tt&amp;gt; - Tags auf.&lt;br /&gt;
&lt;br /&gt;
Weitere Informationen über die CSS-Klassen kann man schnell erhalten, indem man sich den HTML-Code eines generierten dynamischen Menüs anschaut, zum Beispiel aus der Muster-Website 3.&lt;br /&gt;
&lt;br /&gt;
==Templates==&lt;br /&gt;
Diese Templates liegen im Ordner &amp;lt;tt&amp;gt;dynpg/plugins/DPGdynmenu/templates&amp;lt;/tt&amp;gt;. Hier finden sie Ordner, die jeweils eine &amp;lt;tt&amp;gt;menu.tpl&amp;lt;/tt&amp;gt; enthalten. Welcher dieser Ordner aktiv ist, bestimmen Sie durch das Global &amp;lt;tt&amp;gt;$GLOBALS[&amp;quot;DynPG&amp;quot;]-&amp;gt;SetParam_PlugIn_Template(&amp;#039;DPGdynmenu&amp;#039;, &amp;#039;TEMPLATEORDNER&amp;#039;);&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Die Templates dienen als Vorlage für die Generierung des HTML-Codes der dynamischen Navigation. In ihnen werden auch die CSS-Klassen definiert, welche in [#CSS] erklärt wurden. Außerdem finden hier Templateplatzhalter der Form &amp;lt;tt&amp;gt;&amp;lt;nowiki&amp;gt;{$PLATZHALTER}&amp;lt;/nowiki&amp;gt;&amp;lt;/tt&amp;gt; Verwendung, die DynPG dynamisch durch Inhalt ersetzt.&lt;br /&gt;
&lt;br /&gt;
Das Template &amp;#039;&amp;#039;horizontal&amp;#039;&amp;#039; der Musterwebsite 3 generiert beispielsweise ein horizontales Menü, während das Template &amp;#039;&amp;#039;intelligent&amp;#039;&amp;#039; ein vertikales Menü erzeugt.&lt;br /&gt;
&lt;br /&gt;
Modifikationen an den Templates sind recht komplex. Sollten Sie vorhaben hier Änderungen durchzuführen, wenden Sie sich an das DynPG-Forum.&lt;br /&gt;
&lt;br /&gt;
==Feste Links einbauen==&lt;br /&gt;
&lt;br /&gt;
Hierzu erstellt man im Backend eine Gruppe mit dem Namen des festen Links und merkt sich die Gruppennummer. Mittels des Plugin-Parameters &amp;lt;tt&amp;gt;&amp;#039;href_subpages&amp;#039;&amp;lt;/tt&amp;gt; setzt man für diese Gruppennummer nun als Ziel die Datei &amp;lt;tt&amp;gt;counter.php&amp;lt;/tt&amp;gt; fest und übergibt dieser als Parameter das feste Linkziel. Beispiel: Wir wollen einen Link auf die Google-Webseite setzen. Also erstellen wir im Backend eine Gruppe mit dem Namen &amp;#039;&amp;#039;Google-Websuche&amp;#039;&amp;#039; und notieren die Gruppennummer (z.B. 33). In die PHP-Datei unserer dynamischen Navigation fügen wir nun folgendes ein:&lt;br /&gt;
&amp;lt;code&amp;gt;[php, N]&lt;br /&gt;
$GLOBALS[&amp;quot;DynPG&amp;quot;]-&amp;gt;SetParam_PlugIn_Param(&lt;br /&gt;
  &amp;#039;DPGdynmenu&amp;#039;,&lt;br /&gt;
  &amp;#039;href_subpages&amp;#039;,&lt;br /&gt;
  Array(&lt;br /&gt;
	33 =&amp;gt; Array(&lt;br /&gt;
      &amp;#039;page&amp;#039; =&amp;gt; &amp;#039;counter.php?inc=http://www.google.com&amp;#039;,&lt;br /&gt;
      &amp;#039;successors&amp;#039; =&amp;gt; true&lt;br /&gt;
    )		&lt;br /&gt;
  )&lt;br /&gt;
);&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Mehrsprachiges Menü==&lt;br /&gt;
&lt;br /&gt;
Hierzu gibt es einen Thread in unserem Forum unter [http://www.dynpg.ch/dynpg-forum.php?t=&amp;amp;read_group=30&amp;amp;thread_id=47&amp;amp;tt=Sprachwechsel]. Die grundsätzliche Idee ist (bei zwei Sprachen) zwei Gruppenbäume im Backend aufzubauen. Die oberste Gruppe des ersten Baumes wäre beispielsweise die Gruppe &amp;#039;&amp;#039;Deutsch&amp;#039;&amp;#039;, die oberste Gruppe des zweiten Baumes wäre zum Beispiel &amp;#039;&amp;#039;English&amp;#039;&amp;#039;.&lt;br /&gt;
&lt;br /&gt;
In der zweiten Ebene kommen dann unter &amp;#039;&amp;#039;Deutsch&amp;#039;&amp;#039; bzw. &amp;#039;&amp;#039;English&amp;#039;&amp;#039; Untergruppen wie &amp;#039;&amp;#039;News&amp;#039;&amp;#039;/&amp;#039;&amp;#039;Nachrichten&amp;#039;&amp;#039;, &amp;#039;&amp;#039;Produkte&amp;#039;&amp;#039;/&amp;#039;&amp;#039;Products&amp;#039;&amp;#039;, &amp;#039;&amp;#039;Hilfe&amp;#039;&amp;#039;/&amp;#039;&amp;#039;Support&amp;#039;&amp;#039; und so weiter. Man erstellt sich nun zwei PHP-Dateien (&amp;lt;tt&amp;gt;navi_de.php&amp;lt;/tt&amp;gt;, &amp;lt;tt&amp;gt;navi_en.php&amp;lt;/tt&amp;gt;) wie oben beschrieben [#Einrichten]. In diesen wird dann mit den Befehlen aus [#Globalsreferenz] der jeweils nicht passende Baum ausgeblendet.&lt;br /&gt;
&lt;br /&gt;
==Siehe auch==&lt;br /&gt;
*[[Sitemap-Tutorial]]&lt;br /&gt;
*[[Implementation eines kompletten Hauptmenüs]]&lt;br /&gt;
*[[Code-Schnipsel Einfaches Hauptmenü]]&lt;br /&gt;
*[[Code-Schnipsel Menüeinträge sortieren]]&lt;br /&gt;
*[[Snippet-Beispiele]]&lt;/div&gt;</summary>
		<author><name>Sebastian</name></author>	</entry>

	<entry>
		<id>https://wiki-en.dynpg.org/wiki_de/index.php?title=Dynamische_Navigation</id>
		<title>Dynamische Navigation</title>
		<link rel="alternate" type="text/html" href="https://wiki-en.dynpg.org/wiki_de/index.php?title=Dynamische_Navigation"/>
				<updated>2009-08-16T17:47:44Z</updated>
		
		<summary type="html">&lt;p&gt;Sebastian: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Kategorie:Module]]&lt;br /&gt;
==Beschreibung==&lt;br /&gt;
Die dynamische Navigation ist Bestandteil des kostenlosen Grundmoduls von DynPG und bereits im Standard-DynPG integriert. Es ist keine separate Installation notwendig. Sie ermöglicht es Ihnen einfach und flexibel Navigationen auf Ihrer Homepage zu erstellen. Die Anwendungsmöglichkeiten gestalten sich dabei flexibel als normales Menü oder auch als Sitemap.&lt;br /&gt;
&lt;br /&gt;
Ein dynamisches Menü bildet die Gruppenstruktur im Backend als Menü ab, macht also die logische Struktur ihrer Artikel aus dem Backend auf einer Webseite sichtbar und navigierbar.&lt;br /&gt;
&lt;br /&gt;
Der Vorteil ist, dass man im Backend neue Gruppen o.ä. erstellt und diese dann im Hauptmenü erscheinen. Dies ist auch bei Untergruppen nützlich,&lt;br /&gt;
z.B. wenn eine neue Untergruppe &amp;#039;&amp;#039;Lokalnachrichten&amp;#039;&amp;#039; zur Hauptgruppe &amp;#039;&amp;#039;News&amp;#039;&amp;#039; hinzukommt.&lt;br /&gt;
&lt;br /&gt;
Zum Verständnis der Funktionsvielfalt der dynamischen Navigation ist es hilfreich, einmal eine der [[Muster-Web-Sites|Musterwebsites]] zu installieren und in den entsprechenden Dateien der Musterwebsite die unten erklärten Einstellungsmöglichkeiten nachzuvollziehen und vielleicht auch einmal mit den Optionen herumzuspielen.&lt;br /&gt;
&lt;br /&gt;
==Einrichten==&lt;br /&gt;
&amp;#039;&amp;#039;Anmerkung: Benutzen sie die [[Muster-Web-Sites|Musterwebsites]], so müssen die nachfolgenden zwei Schritte nicht ausgeführt werden, da die dynamische Navigation bereits in den Musterwebsites genutzt wird&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
===Schritt 1: Artikel erstellen mit Platzhalter für die dynamische Navigation===&lt;br /&gt;
Wählen Sie im Menü des Backends &amp;#039;&amp;#039;Gruppen&amp;#039;&amp;#039; aus [[Bild:dynmenue01.png|thumb]]. Suchen Sie sich nun eine Gruppe, in der Sie einen Artikel erfassen wollen. Hier wählen wir (die in diesem Falle schon vorhandene) Gruppe &amp;#039;&amp;#039;Startseite/Navigation/Formular&amp;#039;&amp;#039; durch Klick auf ihren Namen aus [[Bild:dynmenue02.png|thumb]].&lt;br /&gt;
&lt;br /&gt;
Mit einem Klick auf &amp;#039;&amp;#039;Artikel Formular anzeigen&amp;#039;&amp;#039; [[Bild:dynmenue03.png|thumb]] und danach auf &amp;#039;&amp;#039;Inhalt bearbeiten&amp;#039;&amp;#039; [[Bild:dynmenue04.png|thumb]] erscheint der Editor.&lt;br /&gt;
&lt;br /&gt;
In diesem wählen Sie das Symbol für die dynamische Navigation [[Bild:dynmenue05.png|thumb]], geben noch einen Titel, etwa &amp;#039;&amp;#039;Neue Seitennavigation&amp;#039;&amp;#039;, ein und bestätigen mit einem Klick auf &amp;#039;&amp;#039;Erstellen&amp;#039;&amp;#039; [[Bild:dynmenue06.png|thumb]]. &lt;br /&gt;
&lt;br /&gt;
Hat alles geklappt, können Sie im unteren Teil der Seite den neuen Artikel sehen [[Bild:dynmenue07.png|thumb]]. Die Nummer des Artikels benötigen Sie erneut, wenn Sie in eine PHP-Datei mittels eines Globals die dynamische Navigation einbinden.&lt;br /&gt;
&lt;br /&gt;
===Schritt 2: PHP-Datei für die dynamische Navigation erstellen===&lt;br /&gt;
Folgende Ordner-Struktur könnte bei Ihnen vorliegen:&lt;br /&gt;
:*&amp;lt;tt&amp;gt;http-docs/dynpg&amp;lt;/tt&amp;gt; : hier liegt das DynPG-CMS&lt;br /&gt;
:*&amp;lt;tt&amp;gt;http-docs/index.php&amp;lt;/tt&amp;gt; : die Hauptseite Ihrer Website&lt;br /&gt;
:*&amp;lt;tt&amp;gt;http-docs/folgeseite.php&amp;lt;/tt&amp;gt; : eine andere PHP-Datei der Website&lt;br /&gt;
:*&amp;lt;tt&amp;gt;http-docs/inc/navi.php&amp;lt;/tt&amp;gt; : In diese Datei platziert man häufig den Code für die Navigation, dadurch ist er leichter wiederverwendbar&lt;br /&gt;
&lt;br /&gt;
Den nötigen Code der &amp;lt;tt&amp;gt;inc/navi.php&amp;lt;/tt&amp;gt; kann man anhand der [[Muster-Web-Sites|Musterwebsites]] nachvollziehen (Für eine genauere Erklärung der einzelnen verwendeten Globals siehe die [[Funktionsreferenz/Globals|Globals-Übersicht von DynPG]] und weiter unten die [#Globalsreferenz Funktionsübersicht der dynamischen Navigation]) :&lt;br /&gt;
:*&amp;#039;&amp;#039;&amp;#039;&amp;lt;tt&amp;gt;inc/navi.php&amp;lt;/tt&amp;gt;:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&amp;lt;code&amp;gt;[php, N]&lt;br /&gt;
&amp;lt;?php&lt;br /&gt;
  $GLOBALS[&amp;quot;DynPG&amp;quot;]-&amp;gt;SetParam_PlugIn_Template(&amp;#039;DPGdynmenu&amp;#039;, &amp;#039;intelligent&amp;#039;);&lt;br /&gt;
  $GLOBALS[&amp;quot;DynPG&amp;quot;]-&amp;gt;SetParam_PlugIn_Param(&amp;#039;DPGdynmenu&amp;#039;, &amp;#039;real_expand&amp;#039;, TRUE);&lt;br /&gt;
  $GLOBALS[&amp;quot;DynPG&amp;quot;]-&amp;gt;SetParam_PlugIn_Param(&amp;#039;DPGdynmenu&amp;#039;, &amp;#039;order&amp;#039;, Array(&amp;#039;INDEX&amp;#039;));&lt;br /&gt;
  $GLOBALS[&amp;quot;DynPG&amp;quot;]-&amp;gt;SetParam_PlugIn_Param(&amp;#039;DPGdynmenu&amp;#039;, &amp;#039;sort&amp;#039;, Array(&amp;#039;ASC&amp;#039;));&lt;br /&gt;
  $GLOBALS[&amp;quot;DynPG&amp;quot;]-&amp;gt;SetParam_PlugIn_Param(&amp;#039;DPGdynmenu&amp;#039;, &amp;#039;href_page_groups&amp;#039;, &amp;#039;../folgeseite.php&amp;#039;);&lt;br /&gt;
  $GLOBALS[&amp;quot;DynPG&amp;quot;]-&amp;gt;SetParam_PlugIn_Param(&amp;#039;DPGdynmenu&amp;#039;, &amp;#039;href_page_articles&amp;#039;, &amp;#039;../folgeseite.php&amp;#039;);&lt;br /&gt;
  $GLOBALS[&amp;quot;DynPG&amp;quot;]-&amp;gt;SetParam_PlugIn_Param(&amp;#039;DPGdynmenu&amp;#039;, &amp;#039;href_page_detail&amp;#039;, &amp;#039;../folgeseite.php&amp;#039;);&lt;br /&gt;
  $GLOBALS[&amp;quot;DynPG&amp;quot;]-&amp;gt;SetParam_PlugIn_Param(&lt;br /&gt;
    &amp;#039;DPGdynmenu&amp;#039;,&lt;br /&gt;
    &amp;#039;href_subpages&amp;#039;,&lt;br /&gt;
    Array(&lt;br /&gt;
      0 =&amp;gt; Array(&lt;br /&gt;
        &amp;#039;page&amp;#039; =&amp;gt; &amp;#039;../formular.php{query}&amp;#039;,&lt;br /&gt;
        &amp;#039;successors&amp;#039; =&amp;gt; true&lt;br /&gt;
      ),&lt;br /&gt;
      21 =&amp;gt; Array(&lt;br /&gt;
        &amp;#039;page&amp;#039; =&amp;gt; &amp;#039;../blog.php{query}&amp;#039;,&lt;br /&gt;
        &amp;#039;successors&amp;#039; =&amp;gt; true&lt;br /&gt;
      ),&lt;br /&gt;
      15 =&amp;gt; Array(&lt;br /&gt;
        &amp;#039;page&amp;#039; =&amp;gt; &amp;#039;../sitemap.php{query}&amp;#039;,&lt;br /&gt;
        &amp;#039;successors&amp;#039; =&amp;gt; true&lt;br /&gt;
      ),&lt;br /&gt;
      16 =&amp;gt; Array(&lt;br /&gt;
        &amp;#039;page&amp;#039; =&amp;gt; &amp;#039;../veranstaltungen.php{query}&amp;#039;,&lt;br /&gt;
        &amp;#039;successors&amp;#039; =&amp;gt; true&lt;br /&gt;
      ),&lt;br /&gt;
      21 =&amp;gt; Array(&lt;br /&gt;
        &amp;#039;page&amp;#039; =&amp;gt; &amp;#039;../blog.php{query}&amp;#039;,&lt;br /&gt;
        &amp;#039;successors&amp;#039; =&amp;gt; true&lt;br /&gt;
      ),&lt;br /&gt;
      6 =&amp;gt; Array(&lt;br /&gt;
        &amp;#039;page&amp;#039; =&amp;gt; &amp;#039;../index.php{query}&amp;#039;,&lt;br /&gt;
        &amp;#039;successors&amp;#039; =&amp;gt; true&lt;br /&gt;
      )&lt;br /&gt;
    )&lt;br /&gt;
  );    &lt;br /&gt;
  $GLOBALS[&amp;quot;DynPG&amp;quot;]-&amp;gt;SetupTemplate(&amp;#039;uneditable&amp;#039;); &lt;br /&gt;
  $GLOBALS[&amp;quot;DynPG&amp;quot;]-&amp;gt;SetParam_A_Anytime(TRUE);&lt;br /&gt;
  $GLOBALS[&amp;quot;DynPG&amp;quot;]-&amp;gt;SetParam_A_CategoryNavigation(FALSE);&lt;br /&gt;
  $GLOBALS[&amp;quot;DynPG&amp;quot;]-&amp;gt;SetParam_A_PrintNavigation(FALSE);&lt;br /&gt;
  $GLOBALS[&amp;quot;DynPG&amp;quot;]-&amp;gt;SetParam_A_ArticleHeader(FALSE);&lt;br /&gt;
  $GLOBALS[&amp;quot;DynPG&amp;quot;]-&amp;gt;SetParam_A_Article(1);&lt;br /&gt;
&lt;br /&gt;
  $GLOBALS[&amp;quot;DynPG&amp;quot;]-&amp;gt;Write_Article();&lt;br /&gt;
  $GLOBALS[&amp;quot;DynPG&amp;quot;]-&amp;gt;SetupTemplate(&amp;#039;default&amp;#039;);  &lt;br /&gt;
?&amp;gt;&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Man kann nun in der &amp;lt;tt&amp;gt;index.php&amp;lt;/tt&amp;gt; mittels &lt;br /&gt;
&amp;lt;code&amp;gt;[php, N]&lt;br /&gt;
&amp;lt;?php include(&amp;quot;inc/navi.php&amp;quot;); ?&amp;gt;&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
die Navigation einbinden, ebenso z.B. auch in der &amp;lt;tt&amp;gt;folgeseite.php&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Die dynamische Navigation kann nun an verschiedenen Stellen angepasst werden. Neben den Globals in der PHP-Datei ([#Globalsreferenz]) ist dies im Backend durch das Erstellen von Gruppen und Artikeln möglich ([#Dynamische_Navigation_im_Backend]). Erweiterte Möglichkeiten ergeben sich durch das [#CSS] und die [#Templates].&lt;br /&gt;
&lt;br /&gt;
==Die dynamische Navigation im Backend==&lt;br /&gt;
&lt;br /&gt;
Wie bereits erwähnt, bildet die dynamische Navigation die Gruppenstruktur des Backends auf einer Webseite ab. In der Musterwebsite 3 ist im Backend zum Beispiel folgende Gruppenstruktur zu erkennen:&lt;br /&gt;
[[Bild:dynmenue08.png|200px]].&lt;br /&gt;
Auf der Website sieht dies dann wie folgt aus:&lt;br /&gt;
[[Bild:dynmenue09.png|200px]]&lt;br /&gt;
oder auch&lt;br /&gt;
[[Bild:dynmenue10.png|200px]]&lt;br /&gt;
. Welche Untergruppen angezeigt werden, hängt zum einen davon ab, welcher Navigationspunkt gerade aktiv ist (also angeklickt wurde) und zum anderen von den benutzten Globals in der PHP-Datei [#Globalsreferenz z.B. Parameter &amp;#039;full_load&amp;#039;] und den Einstellungen der Gruppe im Backend. &lt;br /&gt;
&lt;br /&gt;
In diesen Einstellungen kann man z.B. auch bestimmen, dass eine bestimmte Gruppe nicht im Menü der Website sichtbar ist (so zum Beispiel die Gruppe &amp;quot;Diverses&amp;quot; aus der Musterwebsite 3). Die Eigenschaftenseite der Gruppe erreicht man über einen Klick auf:&lt;br /&gt;
[[Bild:dynmenue11.png|200px]]&lt;br /&gt;
. Unter dem Punkt &amp;#039;&amp;#039;Veröffentlichen&amp;#039;&amp;#039;&lt;br /&gt;
[[Bild:dynmenue12.png|200px]])&lt;br /&gt;
wählt man nun die Option &amp;#039;&amp;#039;Nein&amp;#039;&amp;#039; aus. &lt;br /&gt;
&lt;br /&gt;
Die Option &amp;#039;&amp;#039;Ja&amp;#039;&amp;#039; führt dazu, dass auf der Website der Navigationspunkt &amp;#039;&amp;#039;Diverses&amp;#039;&amp;#039; erscheint&lt;br /&gt;
[[Bild:dynmenue14.png|200px]]&lt;br /&gt;
. Ist der Punkt &amp;#039;&amp;#039;Diverses&amp;#039;&amp;#039; ausgewählt, erscheinen auch die Untergruppen&lt;br /&gt;
[[Bild:dynmenue13.png|200px]]&lt;br /&gt;
.&lt;br /&gt;
&lt;br /&gt;
==Globalsreferenz==&lt;br /&gt;
===Globals direkt für das Plugin===&lt;br /&gt;
&amp;#039;&amp;#039;Die Parameter haben Default-Werte, müssen also nicht immer gesetzt werden&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;tt&amp;gt;$GLOBALS[&amp;quot;DynPG&amp;quot;]-&amp;gt;SetParam_PlugIn_Template(&amp;#039;DPGdynmenu&amp;#039;, &amp;#039;TEMPLATEORDNER&amp;#039;);&amp;lt;/tt&amp;gt;:&lt;br /&gt;
:Hiermit wählt man den Template-Ordner für die dynamische Navigation aus. Diese Template-Ordner liegen in &amp;lt;tt&amp;gt;dynpg/plugins/DPGdynmenu/templates&amp;lt;/tt&amp;gt;. Aus diesem Ordner wird die Template-Datei &amp;lt;tt&amp;gt;menu.tpl&amp;lt;/tt&amp;gt; zur Generierung des Menüs genommen. Dies ist unabhängig vom Global &amp;lt;tt&amp;gt;$GLOBALS[&amp;quot;DynPG&amp;quot;]-&amp;gt;SetupTemplate(...);&amp;lt;/tt&amp;gt;, der sozusagen das Template des Artikels bestimmt, welcher die dynamische Navigation enthält.&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;tt&amp;gt;$GLOBALS[&amp;quot;DynPG&amp;quot;]-&amp;gt;SetParam_PlugIn_Param(&amp;#039;DPGdynmenu&amp;#039;, PARAMETERNAME, PARAMETERWERT);&amp;lt;/tt&amp;gt;&lt;br /&gt;
:{| class=&amp;quot;dynpgwikitable&amp;quot;&lt;br /&gt;
! &amp;lt;tt&amp;gt;PARAMETERNAME&amp;lt;/tt&amp;gt; !! &amp;lt;tt&amp;gt;PARAMETERWERT&amp;lt;/tt&amp;gt; !! Beschreibung&lt;br /&gt;
|-&lt;br /&gt;
||&amp;lt;tt&amp;gt;&amp;#039;order&amp;#039;&amp;lt;/tt&amp;gt; || &amp;lt;tt&amp;gt;Array(&amp;#039;INDEX&amp;#039;)&amp;lt;/tt&amp;gt; oder &amp;lt;tt&amp;gt;Array(&amp;#039;NAME&amp;#039;)&amp;lt;/tt&amp;gt; || Reihenfolge der Gruppen in der Navigation nach Name oder im Backend gesetzten Index&lt;br /&gt;
|-&lt;br /&gt;
||&amp;lt;tt&amp;gt;&amp;#039;sort&amp;#039;&amp;lt;/tt&amp;gt; || &amp;lt;tt&amp;gt;Array(&amp;#039;ASC&amp;#039;)&amp;lt;/tt&amp;gt; oder &amp;lt;tt&amp;gt;Array(&amp;#039;DESC&amp;#039;)&amp;lt;/tt&amp;gt; || aufsteigende oder absteigende Sortierung&lt;br /&gt;
|-&lt;br /&gt;
||&amp;lt;tt&amp;gt;&amp;#039;order_articles&amp;#039;&amp;lt;/tt&amp;gt; || z.B. &amp;lt;tt&amp;gt;Array(&amp;#039;INDEX&amp;#039;)&amp;lt;/tt&amp;gt; || sortiert Artikel in der dynamischen Navigation (falls diese angezeigt werden) &lt;br /&gt;
|-&lt;br /&gt;
||&amp;lt;tt&amp;gt;&amp;#039;sort_articles&amp;#039;&amp;lt;/tt&amp;gt; || z.B. &amp;lt;tt&amp;gt;Array(&amp;#039;ASC&amp;#039;)&amp;lt;/tt&amp;gt; || bestimmt aufsteigende oder absteigende Sortierreihenfolge der Artikel&lt;br /&gt;
|-&lt;br /&gt;
||&amp;lt;tt&amp;gt;&amp;#039;href_page_groups&amp;#039;&amp;lt;/tt&amp;gt; || z.B. &amp;lt;tt&amp;gt;&amp;#039;../folgeseite.php&amp;#039;&amp;lt;/tt&amp;gt; || Seite auf die weiterverlinkt wird bei einem Klick auf den Gruppennamen (ACHTUNG &amp;lt;tt&amp;gt;&amp;#039;../&amp;#039;&amp;lt;/tt&amp;gt; wichtig, siehe Ordnerstruktur weiter oben!)&lt;br /&gt;
|-&lt;br /&gt;
||&amp;lt;tt&amp;gt;&amp;#039;href_page_articles&amp;#039;&amp;lt;/tt&amp;gt; || z.B. &amp;lt;tt&amp;gt;&amp;#039;../folgeseite.php&amp;#039;&amp;lt;/tt&amp;gt; ||&lt;br /&gt;
|-&lt;br /&gt;
||&amp;lt;tt&amp;gt;&amp;#039;href_page_detail&amp;#039;&amp;lt;/tt&amp;gt; || z.B. &amp;lt;tt&amp;gt;&amp;#039;../folgeseite.php&amp;#039;&amp;lt;/tt&amp;gt; || Seite auf die weiterverlinkt wird bei einem Klick auf Artikelnamen in dynamischer Navigation (sofern Artikel angezeigt werden)&lt;br /&gt;
|-&lt;br /&gt;
||&amp;lt;tt&amp;gt;&amp;#039;href_subpages&amp;#039;&amp;lt;/tt&amp;gt; || z.B. &amp;lt;pre&amp;gt;Array(&lt;br /&gt;
  GRUPPENNUMMER =&amp;gt; Array( &lt;br /&gt;
    &amp;#039;page&amp;#039; =&amp;gt; &amp;#039;PHP-SEITE{query}&amp;#039;,&lt;br /&gt;
    &amp;#039;successors&amp;#039; =&amp;gt; true&lt;br /&gt;
  ),&lt;br /&gt;
.................&lt;br /&gt;
  GRUPPENNUMMER =&amp;gt; Array( &lt;br /&gt;
    &amp;#039;page&amp;#039; =&amp;gt; &amp;#039;PHP-SEITE&amp;#039;,&lt;br /&gt;
    &amp;#039;successors&amp;#039; =&amp;gt; true&lt;br /&gt;
  ) &lt;br /&gt;
)&amp;lt;/pre&amp;gt; || Ermöglicht für bestimmte Gruppen auf eine andere &amp;lt;tt&amp;gt;PHP-SEITE&amp;lt;/tt&amp;gt; zu verlinken&lt;br /&gt;
|-&lt;br /&gt;
||&amp;lt;tt&amp;gt;&amp;#039;full_load&amp;#039;&amp;lt;/tt&amp;gt; || &amp;lt;tt&amp;gt;false&amp;lt;/tt&amp;gt; oder &amp;lt;tt&amp;gt;true&amp;lt;/tt&amp;gt; || zeigt unabhängig von angeklickten Gruppen den kompletten Navigationsbaum mit Untergruppen an (oder auch nicht)&lt;br /&gt;
|-&lt;br /&gt;
|| &amp;lt;tt&amp;gt;&amp;#039;full_load_articles&amp;#039;&amp;lt;/tt&amp;gt; || &amp;lt;tt&amp;gt;false&amp;lt;/tt&amp;gt; ||&lt;br /&gt;
|-&lt;br /&gt;
|| &amp;lt;tt&amp;gt;&amp;#039;limit_articles&amp;#039;&amp;lt;/tt&amp;gt; || &amp;lt;tt&amp;gt;false&amp;lt;/tt&amp;gt; ||&lt;br /&gt;
|-&lt;br /&gt;
|| &amp;lt;tt&amp;gt;&amp;#039;expand_subtree&amp;#039;&amp;lt;/tt&amp;gt; || &amp;lt;tt&amp;gt;Array(4)&amp;lt;/tt&amp;gt; oder &amp;lt;tt&amp;gt;Array(4,5)&amp;lt;/tt&amp;gt; etc. || zeigt die Untergruppen von Gruppe 4 (bzw. 4 und 5) in jedem Fall an. Sei Gruppe 4 bspw. die Gruppe &amp;#039;&amp;#039;News&amp;#039;&amp;#039; des Backends, dann werden die beispielhaften Untergruppen &amp;#039;&amp;#039;Lokalnachrichten&amp;#039;&amp;#039; und &amp;#039;&amp;#039;Weltnachrichten&amp;#039;&amp;#039; immer zur Navigation angeboten, auch wenn sich ein Benutzer auf der Website gerade einen Artikel aus der Gruppe &amp;#039;&amp;#039;Kontakt&amp;#039;&amp;#039; anschaut&lt;br /&gt;
|- &lt;br /&gt;
|| &amp;lt;tt&amp;gt;&amp;#039;implode_subtree&amp;#039;&amp;lt;/tt&amp;gt; || &amp;lt;tt&amp;gt;Array(4)&amp;lt;/tt&amp;gt; oder &amp;lt;tt&amp;gt;Array(4,5)&amp;lt;/tt&amp;gt; etc. || zeigt die Untergruppen von Gruppe 4 (bzw. 4 und 5) in jedem Fall NICHT an. Anmerkung: der Parameter &amp;lt;tt&amp;gt;expand_subtree&amp;lt;/tt&amp;gt; überschreibt diese Einstellung! Ist also eine Gruppe in beiden Parametern aufgeführt, so werden die Untergruppen dieser Gruppe immer angezeigt, da der Parameter &amp;lt;tt&amp;gt;expand_subtree&amp;lt;/tt&amp;gt; wichtiger ist.&lt;br /&gt;
|-&lt;br /&gt;
|| &amp;lt;tt&amp;gt;&amp;#039;real_expand&amp;#039;&amp;lt;/tt&amp;gt; || &amp;lt;tt&amp;gt;false&amp;lt;/tt&amp;gt; ||&lt;br /&gt;
|-&lt;br /&gt;
|| &amp;lt;tt&amp;gt;&amp;#039;speed_mode&amp;#039;&amp;lt;/tt&amp;gt; || &amp;lt;tt&amp;gt;false&amp;lt;/tt&amp;gt; ||&lt;br /&gt;
|-&lt;br /&gt;
|| &amp;lt;tt&amp;gt;&amp;#039;parent_select&amp;#039;&amp;lt;/tt&amp;gt; || &amp;lt;tt&amp;gt;true&amp;lt;/tt&amp;gt; ||&lt;br /&gt;
|-&lt;br /&gt;
|| &amp;lt;tt&amp;gt;&amp;#039;max_depth&amp;#039;&amp;lt;/tt&amp;gt; || &amp;lt;tt&amp;gt;null&amp;lt;/tt&amp;gt; oder &amp;lt;tt&amp;gt;0&amp;lt;/tt&amp;gt; oder &amp;lt;tt&amp;gt;1&amp;lt;/tt&amp;gt; etc. || Tiefe bis zu der (Unter-)Gruppen angezeigt werden&lt;br /&gt;
|-&lt;br /&gt;
|| &amp;lt;tt&amp;gt;&amp;#039;min_depth&amp;#039;&amp;lt;/tt&amp;gt; || &amp;lt;tt&amp;gt;null&amp;lt;/tt&amp;gt; oder &amp;lt;tt&amp;gt;0&amp;lt;/tt&amp;gt; oder &amp;lt;tt&amp;gt;1&amp;lt;/tt&amp;gt; etc. || Tiefe, die eine Gruppe mindestens haben muss um angezeigt zu werden, z.B. 1 um oberste Ebene der Gruppen aus dem Backend auszublenden&lt;br /&gt;
|-&lt;br /&gt;
|| &amp;lt;tt&amp;gt;&amp;#039;fetch_only&amp;#039;&amp;lt;/tt&amp;gt; || &amp;lt;tt&amp;gt;null&amp;lt;/tt&amp;gt; ||&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
===Sinnvolle Globals vom DynPG-CMS===&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;tt&amp;gt;$GLOBALS[&amp;quot;DynPG&amp;quot;]-&amp;gt;SetupTemplate(&amp;#039;uneditable&amp;#039;);&amp;lt;/tt&amp;gt; : ermöglicht Navigation in der Seite obwohl Editiermodus im Backend angeschaltet ist&lt;br /&gt;
*&amp;lt;tt&amp;gt;$GLOBALS[&amp;quot;DynPG&amp;quot;]-&amp;gt;SetParam_A_Anytime(TRUE);&amp;lt;/tt&amp;gt; : Menü soll immer angezeigt werden&lt;br /&gt;
*&amp;lt;tt&amp;gt;$GLOBALS[&amp;quot;DynPG&amp;quot;]-&amp;gt;SetParam_A_CategoryNavigation(FALSE);&amp;lt;/tt&amp;gt; : keine weitere Navigation(Breadcrumb) anzeigen&lt;br /&gt;
*&amp;lt;tt&amp;gt;$GLOBALS[&amp;quot;DynPG&amp;quot;]-&amp;gt;SetParam_A_PrintNavigation(FALSE);&amp;lt;/tt&amp;gt; : kein Link zu Print-Seite anzeigen&lt;br /&gt;
*&amp;lt;tt&amp;gt;$GLOBALS[&amp;quot;DynPG&amp;quot;]-&amp;gt;SetParam_A_ArticleHeader(FALSE);&amp;lt;/tt&amp;gt; : keine Artikelüberschrift (des Artikels mit dem DynMenü-Platzhalter) und kein Artikelleadtext anzeigen&lt;br /&gt;
*&amp;lt;tt&amp;gt;$GLOBALS[&amp;quot;DynPG&amp;quot;]-&amp;gt;SetParam_A_Article(1);&amp;lt;/tt&amp;gt; : Artikel mit dem Dynmenü-Platzhalter setzen (&amp;#039;&amp;#039;&amp;#039;Hier die Artikelnummer aus [#Einbinden] einfügen!&amp;#039;&amp;#039;&amp;#039;)&lt;br /&gt;
*&amp;lt;tt&amp;gt;$GLOBALS[&amp;quot;DynPG&amp;quot;]-&amp;gt;Write_Article();&amp;lt;/tt&amp;gt; : Artikel ausgeben&lt;br /&gt;
*&amp;lt;tt&amp;gt;$GLOBALS[&amp;quot;DynPG&amp;quot;]-&amp;gt;SetupTemplate(&amp;#039;default&amp;#039;);&amp;lt;/tt&amp;gt; : andere Teile der Website haben sicherlich andere Templates. Wir setzen daher hier wieder auf das Standard-Template zurück&lt;br /&gt;
&lt;br /&gt;
===CSS===&lt;br /&gt;
Die CSS-Dateien für die dynamische Navigation liegen im Verzeichnis &amp;lt;tt&amp;gt;dynpg/plugins/DPGdynmenu/styles&amp;lt;/tt&amp;gt;. Die Datei &amp;lt;tt&amp;gt;menu.css&amp;lt;/tt&amp;gt; ist hierbei meist die ausschlaggebende, so zum Beispiel in der Navigation der Musterwebsite 3.&lt;br /&gt;
&lt;br /&gt;
Die CSS-Klassen und -Bezeichner aus dieser Datei sind nach einem bestimmten Schema benannt. Hat man dieses einmal verstanden, so lassen sich leicht Änderungen an speziellen Teilen des Erscheinungsbildes der dynamischen Navigation durchführen.&lt;br /&gt;
&lt;br /&gt;
Die dynamische Navigation wird von einem &amp;lt;tt&amp;gt;div&amp;lt;/tt&amp;gt;-Tag mit der Id &amp;lt;tt&amp;gt;course_categories_menu&amp;lt;/tt&amp;gt; umschlossen.&lt;br /&gt;
&lt;br /&gt;
Diese Angaben gelten also grundsätzlich für die gesamte dynamische Navigation und werden gegebenenfalls weitervererbt.&lt;br /&gt;
Im &amp;lt;tt&amp;gt;menu.css&amp;lt;/tt&amp;gt; der Muster-Website 3 steht beispielsweise:&lt;br /&gt;
&amp;lt;code&amp;gt;[css, N]&lt;br /&gt;
div#course_categories_menu {&lt;br /&gt;
  margin: 0;&lt;br /&gt;
  padding: 0;&lt;br /&gt;
  width: 180px;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Um zu verhindern, dass die CSS-Angaben dieser Datei auch auf andere Teile der Website Einfluss haben, ist vor allen anderen CSS-Definitionen der Datei ebenfalls &amp;lt;tt&amp;gt;div#course_categories_menu&amp;lt;/tt&amp;gt; notiert. Dadurch wirken sich die Angaben nur auf die dynamische Navigation aus.&lt;br /&gt;
&lt;br /&gt;
Innerhalb des &amp;lt;tt&amp;gt;course_categories_menu&amp;lt;/tt&amp;gt; - &amp;lt;tt&amp;gt;div&amp;lt;/tt&amp;gt; - Tags gibt es für jede Gruppe der obersten angezeigten Gruppenebene ein &amp;lt;div&amp;gt;-Tag mit der CSS-Id &amp;lt;tt&amp;gt;group_fold_NUMMER&amp;lt;/tt&amp;gt; wobei &amp;lt;tt&amp;gt;NUMMER&amp;lt;/tt&amp;gt; der Gruppennummer der Gruppe aus dem Backend entspricht. In der Navigation der Muster-Website 3 gibt es also folgende Tags:&lt;br /&gt;
&amp;lt;code&amp;gt;[html, N]&lt;br /&gt;
&amp;lt;div id=&amp;quot;course_categories_menu&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;div id=&amp;quot;group_fold_2&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;  &amp;lt;!--Produkte--&amp;gt;&lt;br /&gt;
  &amp;lt;div id=&amp;quot;group_fold_3&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;  &amp;lt;!--Support--&amp;gt;&lt;br /&gt;
  &amp;lt;div id=&amp;quot;group_fold_9&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;  &amp;lt;!--News--&amp;gt;&lt;br /&gt;
  &amp;lt;div id=&amp;quot;group_fold_4&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;  &amp;lt;!--Über uns--&amp;gt;&lt;br /&gt;
  &amp;lt;div id=&amp;quot;group_fold_5&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;  &amp;lt;!--Kontakt--&amp;gt;&lt;br /&gt;
  &amp;lt;div id=&amp;quot;group_fold_21&amp;quot;&amp;gt;&amp;lt;/div&amp;gt; &amp;lt;!--Blog--&amp;gt;&lt;br /&gt;
  &amp;lt;div id=&amp;quot;group_fold_15&amp;quot;&amp;gt;&amp;lt;/div&amp;gt; &amp;lt;!--Sitemap--&amp;gt;&lt;br /&gt;
  &amp;lt;div id=&amp;quot;group_fold_6&amp;quot;&amp;gt;&amp;lt;/div&amp;gt;  &amp;lt;!--Home--&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
Möchte man nun Eigenschaften nur an einem bestimmten Teil der Navigation machen, so könnte man im CSS-File folgende Angabe machen:&lt;br /&gt;
&amp;lt;code&amp;gt;[css, N]&lt;br /&gt;
div#course_categories_menu div#group_fold_9 {&lt;br /&gt;
  text-decoration:blink;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
Damit würde der Text der Gruppe &amp;#039;&amp;#039;News&amp;#039;&amp;#039; (und eventueller Untergruppen) in der dynamischen Navigation blinken.&lt;br /&gt;
&lt;br /&gt;
Innerhalb der &amp;lt;tt&amp;gt;group_fold_NUMMER&amp;lt;/tt&amp;gt; - &amp;lt;tt&amp;gt;div&amp;lt;/tt&amp;gt; - Tags gibt es nun ein &amp;lt;tt&amp;gt;div&amp;lt;/tt&amp;gt; - Tag, dass (neben einer weiteren CSS-Id) eine CSS-Klasse hat. Diese CSS-Klasse wird nach folgendem Muster gebildet:&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;&amp;lt;tt&amp;gt;level_&amp;#039;&amp;#039;A&amp;#039;&amp;#039;_&amp;#039;&amp;#039;B&amp;#039;&amp;#039;_&amp;#039;&amp;#039;C&amp;#039;&amp;#039;_&amp;#039;&amp;#039;D&amp;#039;&amp;#039;_&amp;#039;&amp;#039;E&amp;#039;&amp;#039;&amp;lt;/tt&amp;gt;&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;dynpgwikitable&amp;quot;&lt;br /&gt;
! Buchstabe !! mögliche Werte !! Beschreibung&lt;br /&gt;
|-&lt;br /&gt;
|| &amp;lt;tt&amp;gt;&amp;#039;&amp;#039;A&amp;#039;&amp;#039;&amp;lt;/tt&amp;gt; || 0 oder 1 oder 2 etc. || gibt das Level der Gruppe an, also die Verzweigungstiefe in der sich die Navigation befindet&lt;br /&gt;
|-&lt;br /&gt;
|| &amp;lt;tt&amp;gt;&amp;#039;&amp;#039;B&amp;#039;&amp;#039;&amp;lt;/tt&amp;gt; || &amp;lt;tt&amp;gt;r&amp;lt;/tt&amp;gt; (nicht letzter), &amp;lt;tt&amp;gt;e&amp;lt;/tt&amp;gt; (letzter) || gibt an, ob nach dieser Gruppe noch weitere aufgelistet werden (z.B. in Musterwebsite 3 ist die Gruppe 6 &amp;quot;Home&amp;quot; die letzte des Menüs)&lt;br /&gt;
|-&lt;br /&gt;
|| &amp;lt;tt&amp;gt;&amp;#039;&amp;#039;C&amp;#039;&amp;#039;&amp;lt;/tt&amp;gt; ||  &amp;lt;tt&amp;gt;a&amp;lt;/tt&amp;gt; (ist aktiv), &amp;lt;tt&amp;gt;i&amp;lt;/tt&amp;gt; (ist nicht aktiv) || gibt an, ob die Gruppe aktiv ist, d.h. ob sie durch einen Klick ausgewählt wurde&lt;br /&gt;
|-&lt;br /&gt;
|| &amp;lt;tt&amp;gt;&amp;#039;&amp;#039;D&amp;#039;&amp;#039;&amp;lt;/tt&amp;gt; ||  &amp;lt;tt&amp;gt;exp&amp;lt;/tt&amp;gt; (ausgeklappt), cll(eingeklappt) || gibt an, ob die Untergruppen dieser Gruppe ausgeklappt sind oder nicht&lt;br /&gt;
|-&lt;br /&gt;
|| &amp;lt;tt&amp;gt;&amp;#039;&amp;#039;E&amp;#039;&amp;#039;&amp;lt;/tt&amp;gt; ||  &amp;lt;tt&amp;gt;_hover&amp;lt;/tt&amp;gt; (Mauszeiger ist über dem Element), nichts (Mauszeiger ist nicht über dem Element) || gibt an, ob sich der Mauszeiger über dem Gruppennamen befindet oder nicht&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Mithilfe dieses Schemas kann man nun bestimmen, welche CSS-Klassen man in der CSS-Datei angeben muss um bestimmte Effekte hervorzurufen.&lt;br /&gt;
Möchte man beispielsweise, dass alle Elemente der zweitobersten Ebene blinken, wenn der Mauszeiger über dem Element ist, so notiert man in der CSS-Datei:&lt;br /&gt;
&amp;lt;code&amp;gt;[css, N]&lt;br /&gt;
div#course_categories_menu div#level_1_r_a_exp_hover,&lt;br /&gt;
div#course_categories_menu div#level_1_r_a_cll_hover,&lt;br /&gt;
div#course_categories_menu div#level_1_r_i_exp_hover,&lt;br /&gt;
div#course_categories_menu div#level_1_r_i_cll_hover,&lt;br /&gt;
div#course_categories_menu div#level_1_e_a_exp_hover,&lt;br /&gt;
div#course_categories_menu div#level_1_e_a_cll_hover,&lt;br /&gt;
div#course_categories_menu div#level_1_e_i_exp_hover,&lt;br /&gt;
div#course_categories_menu div#level_1_e_i_cll_hover {&lt;br /&gt;
  text-decoration:blink;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Diese Struktur der &amp;lt;tt&amp;gt;div&amp;lt;/tt&amp;gt;-Tags wiederholt sich mit tieferen Gruppenebenen / Untergruppen. Zum Beispiel tauchen die &amp;lt;tt&amp;gt;div&amp;lt;/tt&amp;gt;-Tags der Untergruppen vom &amp;#039;&amp;#039;Über uns&amp;#039;&amp;#039;-Menüpunkt aus der Muster-Website 3 innerhalb des &amp;lt;tt&amp;gt;group_fold_4&amp;lt;/tt&amp;gt; - &amp;lt;tt&amp;gt;div&amp;lt;/tt&amp;gt; - Tags auf.&lt;br /&gt;
&lt;br /&gt;
Weitere Informationen über die CSS-Klassen kann man schnell erhalten, indem man sich den HTML-Code eines generierten dynamischen Menüs anschaut, zum Beispiel aus der Muster-Website 3.&lt;br /&gt;
&lt;br /&gt;
==Templates==&lt;br /&gt;
Diese Templates liegen im Ordner &amp;lt;tt&amp;gt;dynpg/plugins/DPGdynmenu/templates&amp;lt;/tt&amp;gt;. Hier finden sie Ordner, die jeweils eine &amp;lt;tt&amp;gt;menu.tpl&amp;lt;/tt&amp;gt; enthalten. Welcher dieser Ordner aktiv ist, bestimmen Sie durch das Global &amp;lt;tt&amp;gt;$GLOBALS[&amp;quot;DynPG&amp;quot;]-&amp;gt;SetParam_PlugIn_Template(&amp;#039;DPGdynmenu&amp;#039;, &amp;#039;TEMPLATEORDNER&amp;#039;);&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Die Templates dienen als Vorlage für die Generierung des HTML-Codes der dynamischen Navigation. In ihnen werden auch die CSS-Klassen definiert, welche in [#CSS] erklärt wurden. Außerdem finden hier Templateplatzhalter der Form &amp;lt;tt&amp;gt;&amp;lt;nowiki&amp;gt;{$PLATZHALTER}&amp;lt;/nowiki&amp;gt;&amp;lt;/tt&amp;gt; Verwendung, die DynPG dynamisch durch Inhalt ersetzt.&lt;br /&gt;
&lt;br /&gt;
Das Template &amp;#039;&amp;#039;horizontal&amp;#039;&amp;#039; der Musterwebsite 3 generiert beispielsweise ein horizontales Menü, während das Template &amp;#039;&amp;#039;intelligent&amp;#039;&amp;#039; ein vertikales Menü erzeugt.&lt;br /&gt;
&lt;br /&gt;
Modifikationen an den Templates sind recht komplex. Sollten Sie vorhaben hier Änderungen durchzuführen, wenden Sie sich an das DynPG-Forum.&lt;br /&gt;
&lt;br /&gt;
==Feste Links einbauen==&lt;br /&gt;
&lt;br /&gt;
Hierzu erstellt man im Backend eine Gruppe mit dem Namen des festen Links und merkt sich die Gruppennummer. Mittels des Plugin-Parameters &amp;lt;tt&amp;gt;&amp;#039;href_subpages&amp;#039;&amp;lt;/tt&amp;gt; setzt man für diese Gruppennummer nun als Ziel die Datei &amp;lt;tt&amp;gt;counter.php&amp;lt;/tt&amp;gt; fest und übergibt dieser als Parameter das feste Linkziel. Beispiel: Wir wollen einen Link auf die Google-Webseite setzen. Also erstellen wir im Backend eine Gruppe mit dem Namen &amp;#039;&amp;#039;Google-Websuche&amp;#039;&amp;#039; und notieren die Gruppennummer (z.B. 33). In die PHP-Datei unserer dynamischen Navigation fügen wir nun folgendes ein:&lt;br /&gt;
&amp;lt;code&amp;gt;[php, N]&lt;br /&gt;
$GLOBALS[&amp;quot;DynPG&amp;quot;]-&amp;gt;SetParam_PlugIn_Param(&lt;br /&gt;
  &amp;#039;DPGdynmenu&amp;#039;,&lt;br /&gt;
  &amp;#039;href_subpages&amp;#039;,&lt;br /&gt;
  Array(&lt;br /&gt;
	33 =&amp;gt; Array(&lt;br /&gt;
      &amp;#039;page&amp;#039; =&amp;gt; &amp;#039;counter.php?inc=http://www.google.com&amp;#039;,&lt;br /&gt;
      &amp;#039;successors&amp;#039; =&amp;gt; true&lt;br /&gt;
    )		&lt;br /&gt;
  )&lt;br /&gt;
);&lt;br /&gt;
&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Mehrsprachiges Menü==&lt;br /&gt;
&lt;br /&gt;
Hierzu gibt es einen Thread in unserem Forum unter [http://www.dynpg.ch/dynpg-forum.php?t=&amp;amp;read_group=30&amp;amp;thread_id=47&amp;amp;tt=Sprachwechsel]. Die grundsätzliche Idee ist (bei zwei Sprachen) zwei Gruppenbäume im Backend aufzubauen. Die oberste Gruppe des ersten Baumes wäre beispielsweise die Gruppe &amp;#039;&amp;#039;Deutsch&amp;#039;&amp;#039;, die oberste Gruppe des zweiten Baumes wäre zum Beispiel &amp;#039;&amp;#039;English&amp;#039;&amp;#039;.&lt;br /&gt;
&lt;br /&gt;
In der zweiten Ebene kommen dann unter &amp;#039;&amp;#039;Deutsch&amp;#039;&amp;#039; bzw. &amp;#039;&amp;#039;English&amp;#039;&amp;#039; Untergruppen wie &amp;#039;&amp;#039;News&amp;#039;&amp;#039;/&amp;#039;&amp;#039;Nachrichten&amp;#039;&amp;#039;, &amp;#039;&amp;#039;Produkte&amp;#039;&amp;#039;/&amp;#039;&amp;#039;Products&amp;#039;&amp;#039;, &amp;#039;&amp;#039;Hilfe&amp;#039;&amp;#039;/&amp;#039;&amp;#039;Support&amp;#039;&amp;#039; und so weiter. Man erstellt sich nun zwei PHP-Dateien (&amp;lt;tt&amp;gt;navi_de.php&amp;lt;/tt&amp;gt;, &amp;lt;tt&amp;gt;navi_en.php&amp;lt;/tt&amp;gt;) wie oben beschrieben [#Einrichten]. In diesen wird dann mit den Befehlen aus [#Globalsreferenz] der jeweils nicht passende Baum ausgeblendet.&lt;br /&gt;
&lt;br /&gt;
==Siehe auch==&lt;br /&gt;
*[[Sitemap-Tutorial]]&lt;br /&gt;
*[[Implementation eines kompletten Hauptmenüs]]&lt;br /&gt;
*[[Code-Schnipsel Einfaches Hauptmenü]]&lt;br /&gt;
*[[Code-Schnipsel Menüeinträge sortieren]]&lt;br /&gt;
*[[Snippet-Beispiele]]&lt;/div&gt;</summary>
		<author><name>Sebastian</name></author>	</entry>

	<entry>
		<id>https://wiki-en.dynpg.org/wiki_de/index.php?title=Kategorie:Module</id>
		<title>Kategorie:Module</title>
		<link rel="alternate" type="text/html" href="https://wiki-en.dynpg.org/wiki_de/index.php?title=Kategorie:Module"/>
				<updated>2009-08-16T17:47:29Z</updated>
		
		<summary type="html">&lt;p&gt;Sebastian: /* Artikel zu einzelnen Modulen */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;In diesem Bereich sind Informationen über die Integration von Modulen in Ihr DynPG und die anschließende Konfiguration und Verwendung gesammelt.&lt;br /&gt;
&lt;br /&gt;
=== Artikel zu Modulen allgemein ===&lt;br /&gt;
*[[Installation von Modulen]]: Kurze Anleitung für das Installieren von Modulen.&lt;br /&gt;
*[[Einfügen von Modulen]]: Dokumentation für das Einfügen von Modulen in Artikeltexte. Die Navigation, das Gästebuch, der Blog, die Bildergalerie etc. müssen jeweils als Artikel erstellt werden. Dies wird in dieser kurzen Dokumentaton beschrieben.&lt;br /&gt;
*[[XML-Schnittstelle in Modulen|Die XML-Schnittstelle]]: Beschreibt, wie man über die in einigen Modulen integrierte XML-Exportfunktion Daten gewinnt und wie man diese verwendet.&lt;br /&gt;
&lt;br /&gt;
=== Artikel zu einzelnen Modulen ===&lt;br /&gt;
*[[Modul Dynamische Navigation]]: Hier wird das Standard-Plugin &amp;#039;&amp;#039;Dynamische Navigation&amp;#039;&amp;#039; erläutert&lt;br /&gt;
*[[Bildergalerie-Modul Erstellen einer Bildergalerie|Bildergalerie-Modul: Erstellen einer Bildergalerie]]: Die Dokumentation für das Erstellen einer Bildergalerie. Hier lernen Sie in kürzester Zeit eine effektvolle Bildergalerie mit Diashow zu erstellen.&lt;br /&gt;
*[[Newsletter-Modul]]: Die Dokumentation des Newsletter-Moduls&lt;br /&gt;
*[[E-Shop Pro Bedienung|e-Shop Pro Bedienung]]: Erläutert beispielhaft die Verwendung des Moduls e-Shop Pro.&lt;br /&gt;
*[[Kalender-Modul]]: Die Dokumentation für den Einbau des Kalender-Moduls&lt;br /&gt;
*[[Blog]]: Die Benutzer-Dokumentation des DynPG-Blogs&lt;br /&gt;
*[[Bedienung des Community-Moduls]]: Das Community-Modul mit seinen verschiedenen Ansichten&lt;br /&gt;
*[[Modul Rechnungen und Rapporte]]: Ein neues Modul zum Erfassen von Arbeitszeiten und dem automatischen Generieren von Rechnungen etc.&lt;/div&gt;</summary>
		<author><name>Sebastian</name></author>	</entry>

	<entry>
		<id>https://wiki-en.dynpg.org/wiki_de/index.php?title=Kategorie:Module</id>
		<title>Kategorie:Module</title>
		<link rel="alternate" type="text/html" href="https://wiki-en.dynpg.org/wiki_de/index.php?title=Kategorie:Module"/>
				<updated>2009-08-16T17:46:37Z</updated>
		
		<summary type="html">&lt;p&gt;Sebastian: /* Artikel zu einzelnen Modulen */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;In diesem Bereich sind Informationen über die Integration von Modulen in Ihr DynPG und die anschließende Konfiguration und Verwendung gesammelt.&lt;br /&gt;
&lt;br /&gt;
=== Artikel zu Modulen allgemein ===&lt;br /&gt;
*[[Installation von Modulen]]: Kurze Anleitung für das Installieren von Modulen.&lt;br /&gt;
*[[Einfügen von Modulen]]: Dokumentation für das Einfügen von Modulen in Artikeltexte. Die Navigation, das Gästebuch, der Blog, die Bildergalerie etc. müssen jeweils als Artikel erstellt werden. Dies wird in dieser kurzen Dokumentaton beschrieben.&lt;br /&gt;
*[[XML-Schnittstelle in Modulen|Die XML-Schnittstelle]]: Beschreibt, wie man über die in einigen Modulen integrierte XML-Exportfunktion Daten gewinnt und wie man diese verwendet.&lt;br /&gt;
&lt;br /&gt;
=== Artikel zu einzelnen Modulen ===&lt;br /&gt;
*[[Modul Dynamische Navigation]]&lt;br /&gt;
*[[Bildergalerie-Modul Erstellen einer Bildergalerie|Bildergalerie-Modul: Erstellen einer Bildergalerie]]: Die Dokumentation für das Erstellen einer Bildergalerie. Hier lernen Sie in kürzester Zeit eine effektvolle Bildergalerie mit Diashow zu erstellen.&lt;br /&gt;
*[[Newsletter-Modul]]: Die Dokumentation des Newsletter-Moduls&lt;br /&gt;
*[[E-Shop Pro Bedienung|e-Shop Pro Bedienung]]: Erläutert beispielhaft die Verwendung des Moduls e-Shop Pro.&lt;br /&gt;
*[[Kalender-Modul]]: Die Dokumentation für den Einbau des Kalender-Moduls&lt;br /&gt;
*[[Blog]]: Die Benutzer-Dokumentation des DynPG-Blogs&lt;br /&gt;
*[[Bedienung des Community-Moduls]]: Das Community-Modul mit seinen verschiedenen Ansichten&lt;br /&gt;
*[[Modul Rechnungen und Rapporte]]: Ein neues Modul zum Erfassen von Arbeitszeiten und dem automatischen Generieren von Rechnungen etc.&lt;/div&gt;</summary>
		<author><name>Sebastian</name></author>	</entry>

	<entry>
		<id>https://wiki-en.dynpg.org/wiki_de/index.php?title=Kategorie:Integration_in_eine_Webseite</id>
		<title>Kategorie:Integration in eine Webseite</title>
		<link rel="alternate" type="text/html" href="https://wiki-en.dynpg.org/wiki_de/index.php?title=Kategorie:Integration_in_eine_Webseite"/>
				<updated>2009-08-16T17:46:07Z</updated>
		
		<summary type="html">&lt;p&gt;Sebastian: /* Artikel */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=== Artikel ===&lt;br /&gt;
Vorschlag einer Reihenfolge zum Lesen:&lt;br /&gt;
*[[Integration kurz und knackig]]&lt;br /&gt;
*[[Ein erstes kleines Beispiel]]&lt;br /&gt;
*[[Die drei Ansichten von DynPG]]&lt;br /&gt;
*[[Funktionsreferenz/Globals]]&lt;br /&gt;
*[[CSS]]&lt;br /&gt;
*[[Templates]]&lt;br /&gt;
*[[Implementation eines kompletten Hauptmenüs]]&lt;br /&gt;
*[[Einbau der DynPG-Suche]]&lt;br /&gt;
*[[Sitemap-Tutorial]]&lt;br /&gt;
*[[Snippet-Beispiele]]&lt;br /&gt;
*[[Webseiten Suchmaschinen-tauglich machen]]&lt;br /&gt;
*[[SEO-Mythos]]&lt;br /&gt;
&lt;br /&gt;
=== Video-Tutorials ===&lt;br /&gt;
Hilfestellung erhalten Sie auch in Form von Video-Tutorials:&lt;br /&gt;
* Das [[Video Kurze Erklärung des Backends]] gibt Ihnen grundlegenden Einblick in das Backend und damit auch in die Denkart von DynPG. Es ist also durchaus von Interesse für die Implementation von DynPG in eine Webseite.&lt;br /&gt;
* Das [[Video Globals in Adobe Dreamweaver]] wird Nutzern von Adobe Dreamweaver oder GoLive den Einstieg mit DynPG erleichtern.&lt;br /&gt;
&lt;br /&gt;
==== Eine Beispiel-Implementierung von DynPG ====&lt;br /&gt;
* [[Video Erklärung der Grundstruktur]] -- Teil 1 einer Beispiel-Implementierung von DynPG&lt;br /&gt;
* [[Video Einbau eines einzelnen Artikels]] -- Teil 2 der Beispiel-Implementierung&lt;br /&gt;
* [[Video Einbau einer Artikelliste]] -- Teil 3 der Folge&lt;br /&gt;
* [[Video Einbau einer Gruppenliste]] -- Teil 4 des Tutorials&lt;br /&gt;
&lt;br /&gt;
==== Eine volldynamische Website ====&lt;br /&gt;
Ein weitere Reihe von Videos erläutert Ihnen beispielhaft das Erstellen einer kleinen volldynamischen Website in fünf Schritten:&lt;br /&gt;
* Teil 1 -- [[Video Volldynamische Website - Einbinden von Globals]]&lt;br /&gt;
* Teil 2 -- [[Video Volldynamische Website - Erstellen der Navigation]]&lt;br /&gt;
* Teil 3 -- [[Video Volldynamische Website - Aufbau innerhalb dem Backend]]&lt;br /&gt;
* Teil 4 -- [[Video Volldynamische Website - Das CSS]]&lt;br /&gt;
* Teil 5 -- [[Video Volldynamische Website - Der CSS-Aufbau]]&lt;/div&gt;</summary>
		<author><name>Sebastian</name></author>	</entry>

	<entry>
		<id>https://wiki-en.dynpg.org/wiki_de/index.php?title=Datei:Dynmenue14.PNG</id>
		<title>Datei:Dynmenue14.PNG</title>
		<link rel="alternate" type="text/html" href="https://wiki-en.dynpg.org/wiki_de/index.php?title=Datei:Dynmenue14.PNG"/>
				<updated>2009-08-16T17:45:13Z</updated>
		
		<summary type="html">&lt;p&gt;Sebastian: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Sebastian</name></author>	</entry>

	<entry>
		<id>https://wiki-en.dynpg.org/wiki_de/index.php?title=Datei:Dynmenue13.PNG</id>
		<title>Datei:Dynmenue13.PNG</title>
		<link rel="alternate" type="text/html" href="https://wiki-en.dynpg.org/wiki_de/index.php?title=Datei:Dynmenue13.PNG"/>
				<updated>2009-08-16T17:44:59Z</updated>
		
		<summary type="html">&lt;p&gt;Sebastian: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Sebastian</name></author>	</entry>

	<entry>
		<id>https://wiki-en.dynpg.org/wiki_de/index.php?title=Datei:Dynmenue12.PNG</id>
		<title>Datei:Dynmenue12.PNG</title>
		<link rel="alternate" type="text/html" href="https://wiki-en.dynpg.org/wiki_de/index.php?title=Datei:Dynmenue12.PNG"/>
				<updated>2009-08-16T17:44:52Z</updated>
		
		<summary type="html">&lt;p&gt;Sebastian: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Sebastian</name></author>	</entry>

	</feed>