Die drei Ansichten von DynPG

Aus DynPG-Wiki
Wechseln zu: Navigation, Suche

Note.png Dieser Artikel ist Teil einer Reihe von Einführungsartikeln zu DynPG

Webseiten erstellen mit DynPG | DynPG in eine Webseite einbinden | Die drei Ansichten von DynPG | Eine einfache Inhaltsübersicht | Dynamisches Navigationmenü ... | CSS | Templates

zurück zu Kategorie:Integration in eine Webseite

Die Ansichten

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.

Integration einer Artikel-Detailansicht

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.

Die Artikel-Detailansicht implementieren Sie durch folgenden PHP Code:

  1. <?php
  2. $DynPG->SetParam_A_Anytime(true);
  3. $DynPG->SetParam_A_Article(1);
  4. $DynPG->Write_Article();
  5. ?>

Erläuterung:

  • Zeile 2: $DynPG->SetParam_A_Anytime(true);
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.
  • Zeile 3: $DynPG->SetParam_A_Article(19);
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.
  • Zeile 4: $DynPG->Write_Article();
Diese Methode erstellt die Detailansicht des Artikels. Sie muss zwingend der letzte Aufruf auf dieser Ebene sein. Hier dürfen Sie keine Änderungen vornehmen.

Weitere mögliche Parameter entnehmen Sie der Funktionsreferenz.

Integration einer Artikel-Liste

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.

Die Artikel-Liste implementieren Sie durch folgenden PHP Code (muss innerhalb des "body"-Tags stehen):

  1. <?php
  2. $DynPG->SetParam_AA_Anytime(true);
  3. $DynPG->SetParam_AA_Group("Gruppenname");
  4. $DynPG->Write_AllArticles();
  5. ?>

Erläuterung:

  • Zeile 2: $DynPG->SetParam_AA_Anytime(true);
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).
  • Zeile 3: $DynPG->SetParam_AA_Group("News");
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 "News" angezeigt werden.
  • Zeile 4: $DynPG->Write_AllArticles();
Diese Methode erstellt die Artikel-Liste. Hier dürfen Sie keine Änderungen vornehmen.

Nach dem Aufruf der Methode Write_AllArticles() 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 Write_Article(); stehen. Eine Implementierung einer Artikel-Liste könnte also beispielsweise so Aussehen:

<?php
  $DynPG->SetParam_AA_Anytime(true);
  $DynPG->SetParam_AA_Group("Gruppenname");
  $DynPG->Write_AllArticles();
  $DynPG->Write_Article();
?>

Weitere mögliche Parameter entnehmen Sie der Funktionsreferenz.

Integration einer Gruppen-Liste

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.

Die Gruppen-Liste implementieren Sie durch folgenden PHP Code:

  1. <?php
  2. $DynPG->SetParam_AG_Anytime(true);
  3. $DynPG->Write_AllGroups();
  4. ?>

Erläuterung:

  • Zeile 3: $DynPG->Write_AllGroups();
Diese Methode erstellt die Gruppen-Liste. Hier dürfen Sie keine Änderungen vornehmen.

Nach dem Aufruf der Methode Write_AllGroups() 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 Write_AllArticles(); bzw. Write_Article(); stehen.

Eine komplette Implementierung einer Gruppen-Liste könnte also beispielsweise so aussehen:

<?php
  $DynPG->SetParam_AG_Anytime(true);
  $DynPG->Write_AllGroups();
  $DynPG->Write_AllArticles();
  $DynPG->Write_Article();
?>

Weitere mögliche Parameter entnehmen Sie der Funktionsreferenz.

Weiterführung des Beispiels

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.

<?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!

Note.png 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.