Die drei Ansichten von DynPG
Im 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:
- Gruppenliste (nachfolgend AG genannt)
- Artikelliste (AA)
- Artikel-Detailansicht (A)
Die Gruppenlisten-Ansicht gibt einfach alle Gruppen(-namen) die in der Datenbank vorhanden sind aus. In der Artikellisten-Ansicht kann man sich die Artikel(-namen) einer bestimmten Gruppe anzeigen lassen und die Artikel-Detailansicht 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.
Zur Veranschaulichung erweitern wir aber zuerst 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.
<?php $DynPG->SetParam_AA_Anytime(false); $DynPG->Write_AllArticles(); $DynPG->SetParam_A_Anytime(false); $DynPG->Write_Article(); ?>
Nun wird nicht mehr nur eine starre Gruppenliste angezeigt! Es existiert jetzt eine komplette Navigation! (den vollständigen Code des Beispiels finden sie hier)
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
$DynPG->SetParam_AG_Anytime(true);
aus Beispiel 1 (das Minimalbeispiel) an. Der Präfix "SetParam" kündigt schon an, dass hierbei ein Parameter gesetzt wird, es gibt mehrere solcher Funktionen. "AG" (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 "false" übergeben, so wäre dies folglich nicht der Fall. Nun wurde also ein Parameter gesetzt der die folgende Funktion
$DynPG->Write_AllGroups();
in eben genannter Weise beeinflusst.
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 "SetParam"-Funktionen als Argument "false" ü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!
Anmerkung Die Reihenfolge von "Write_AllGroups()", "Write_AllArticles()" und "Write_Article()" im Code ist beliebig!
Nun können Sie daran gehen die Ansicht von Beispiel 2 weiter zu beeinflussen, z.B. mit:
$DynPG->SetParam_AG_ForceNav(false);
Dadurch wird die "Zurück-Weiter-Navigation" abgeschaltet. Weitere nützliche Parameter-Funktionen finden Sie in der Funktionsreferenz.