Eine einfache Inhaltsübersicht: Unterschied zwischen den Versionen

Aus DynPG-Wiki
Wechseln zu: Navigation, Suche
(Infobox-Templates eingefügt)
 
(11 dazwischenliegende Versionen des gleichen Benutzers werden nicht angezeigt)
Zeile 1: Zeile 1:
 
[[Kategorie:Integration in eine Webseite]]
 
[[Kategorie:Integration in eine Webseite]]
 
[[en:Integration short and sweet]]
 
[[en:Integration short and sweet]]
== Einbinden von DynPG ==
+
{{Einführungsartikel}}
DynPG arbeitet hier mit ''PHP-Snipptes'' (Codeschnipseln) welche Sie an die jeweiligen Stellen Ihrer Seite einfügen, wodurch an eben diesen Stellen der Inhalt angezeigt wird.
+
 
 +
Im Artikel über die [[Die drei Ansichten von DynPG|drei Ansichten von DynPG]] haben wir gesehen, wie wir eine Gruppenliste, Artikelliste und Artikeldetailansicht erstellen. In diesem Artikel wollen wir die drei Ansichten nun kombinieren, um eine einfache Navigation für den Inhalt zu erstellen.
 +
 
 +
== Erstellen der Inhaltsübersicht ==
 +
 
 +
=== DynPG einbinden ===
 +
Zuerst binden wir [[DynPG in eine Webseite einbinden|DynPG in unsere Webseite ein]]. Dazu schreiben wir and den Anfang der PHP-Datei folgende Zeilen und passen diese wie im Artikel zur Einbindung beschrieben an den Speicherort von DynPG an:
  
Bevor wir irgendeinen Befehl von DynPG nutzen können, müssen wir das CMS zuerst in unsere Webseite einbinden. Um DynPG in Ihren PHP-Seiten verwenden zu können, setzen Sie bitte die folgenden drei Zeilen an den Anfang Ihrer PHP-Seite, noch bevor Sie irgend welche HTML-Tags einfügen (d.h. auch noch vor den <tt>DOCTYPE</tt>).
 
 
<code>[php,N]
 
<code>[php,N]
 
<?php
 
<?php
   require('dynpg/getcontent.php');
+
   require('../dynpg/getcontent.php');
   $DynPG->SetParam_PathToRoot('dynpg/');
+
   $GLOBALS["DynPG"]->SetParam_PathToRoot('../dynpg/');
 
?>
 
?>
 
</code>
 
</code>
  
Sie haben daraufhin nun die Möglichkeit, verschiedene Ansichten zu implementieren, welche die Aufgabe haben, den von Ihnen erzeugten Inhalt aus dem Backend ins Frontend
+
=== Standard-CSS einbinden ===
zu implementieren. Es ergeben sich drei Listungen, welche die Darstellung der Daten abdecken: Artikellisten, Gruppenlisten und einzelne Ansichten der Artikel.
+
Nun sollten wir die Standard-[[CSS]] Dateien von DynPG einbinden, um ein bereits fertig definiertes Layout für die Inhaltsansicht zu erhalten. Dazu fügen wir im <tt><head></tt>-Bereich der Webseite folgende Zeile ein.
  
== Die Einbindung eines einzelnen Artikels ==
+
<code>[php,N]
 +
<head>
  
Im <tt><head></tt>-Bereich jeder PHP-Datei kann danach ein CSS definiert werden. Dabei sind Sie frei, an welcher Stelle Sie das Snippet einsetzen. Es empfiehlt sich aber der Übersichtlichkeit halber, dieses immer am selben Ort einzufügen.
+
  <!-- ... -->
  
<code>[php,N]
+
  <?php $GLOBALS["DynPG"]->Write_CSS_JS_Header(); ?>
<?php $DynPG->Write_CSS_JS_Header(); ?>
+
</head>
 
</code>
 
</code>
  
Dieser Befehl inkludiert die CSS-Dateien des CMS, alternativ können Sie natürlich auch jegliche CSS-Definitionen in ihren eigenen CSS-Dateien vornehmen.
+
Dieser Befehl bindet die CSS-Dateien von DynPG ein. Sie können sich natürlich später auch eigene Stylesheets definieren.
  
Nun folgt das eigentliche Snippet für den einzubindenden Artikel. Sie haben also die Möglichkeit, den Artikel einfach in Ihr vorgesehenes Design einzubinden, wo auch immer
+
=== Inhaltsübersicht ===
dieser sich innerhalb des <tt><body></tt> Tags befindet.
+
Nun folgt das eigentliche Snippet für die Inhaltsübersicht, das Sie an einer beliebigen Stelle innerhalb der <tt>body</tt> Tags platzieren können:
 
<code>[php,N]
 
<code>[php,N]
<?php
+
<body>
  // parameters
+
  $DynPG->SetParam_A_CategoryNavigation(FALSE);
+
  $DynPG->SetParam_A_PrintNavigation(FALSE);
+
  $DynPG->SetParam_A_ArticleHeader(FALSE);
+
  $DynPG->SetParam_A_Article(1);
+
  // implementation
+
  $DynPG->SetParam_A_Anytime(TRUE);
+
  $DynPG->Write_Article();
+
?>
+
</code>
+
  
Für die "1" unter <tt>SetParam_A_Article</tt> geben Sie diejenige Artikel-ID an, welche Sie anzeigen möchten. Die jeweilige ID erfahren Sie im Backend.
+
  <!-- ... -->
  
== Die Einbindung einer Artikelliste ==
+
  <?php
 +
    $GLOBALS["DynPG"]->SetParam_AG_Anytime(true);
 +
    $GLOBALS["DynPG"]->Write_AllGroups();
 +
    $GLOBALS["DynPG"]->SetParam_AA_Anytime(false);
 +
    $GLOBALS["DynPG"]->Write_AllArticles();
 +
    $GLOBALS["DynPG"]->SetParam_A_Anytime(false);
 +
    $GLOBALS["DynPG"]->Write_Article();
 +
  ?>
 +
</body>
 +
</code>
 +
Die erste Anweisung bewirkt, dass die Gruppenliste immer angezeigt wird. Danach wird die Gruppenliste dann ausgegeben. Die dritte und fünfte Anweisung bewirken, dass die Artikelliste bzw. Artikel-Detailansicht abhängig vom [[Der Navigationskontext|Navigationskontext]] angezeigt werden. Das bedeutet, wenn in der Gruppenliste zu einer Gruppe navigiert wird, die Artikel enthält, so werden diese durch die Artikelliste angezeigt. In allen anderen Fällen gibt die Artikelliste nichts aus. Wird in der Artikelliste dann ein Artikel angeklickt, so wird dieser durch die Artikel-Detailansicht angezeigt. Andernfalls zeigt auch diese Ansicht nichts an. Durch dieses Prinzip haben wir nun eine einfache Inhaltsübersicht erzeugt, die alle im Backend erstellten Inhalte anzeigen kann.
 +
 
 +
=== Vollständiges Beispiel ===
 +
Das vollständige Beispiel für die Inhaltsübersicht sieht nun aus, wie folgt:
  
Snippet für die Artikelliste. Hier werden alle Artikel der Gruppe „DynPG“ implementiert.
 
 
<code>[php,N]
 
<code>[php,N]
 
<?php
 
<?php
   $DynPG->SetParam_AA_Anytime(TRUE);
+
   require('../dynpg/getcontent.php');
   $DynPG->SetParam_AA_Group("DynPG");
+
   $GLOBALS["DynPG"]->SetParam_PathToRoot('../dynpg/');
  $DynPG->Write_AllArticles();
+
  $DynPG->SetParam_A_Anytime(FALSE);
+
  $DynPG->SetParam_A_CategoryNavigation(TRUE);
+
  $DynPG->SetParam_A_PrintNavigation(TRUE);
+
  $DynPG->SetParam_A_ArticleHeader(TRUE);
+
  $DynPG->SetParam_A_IgnoreSeperator(TRUE);
+
  $DynPG->Write_Article();
+
 
?>
 
?>
 +
 +
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
 +
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en-US" lang="en-US">
 +
 +
<head>
 +
  <title>Inhaltsübersicht</title>
 +
  <meta http-equiv="content-type" content="text/html; charset=iso-8859-1" />
 +
 +
  <?php $GLOBALS["DynPG"]->Write_CSS_JS_Header(); ?>
 +
</head>
 +
 +
<body>
 +
  <h1>Inhaltsübersicht</h1>
 +
 +
  <?php
 +
    $GLOBALS["DynPG"]->SetParam_AG_Anytime(true);
 +
    $GLOBALS["DynPG"]->Write_AllGroups();
 +
    $GLOBALS["DynPG"]->SetParam_AA_Anytime(false);
 +
    $GLOBALS["DynPG"]->Write_AllArticles();
 +
    $GLOBALS["DynPG"]->SetParam_A_Anytime(false);
 +
    $GLOBALS["DynPG"]->Write_Article();
 +
  ?>
 +
</body>
 +
 +
</html>
 
</code>
 
</code>
  
== Die Einbindung einer Gruppenliste ==
+
=== Ausgabe im Browser ===
 +
Im Browser sollten wir nun die vollständige Inhaltsübersicht sehen können. Diese Übersicht stellt bereits eine vollständige Navigation dar, mit der Sie sich durch alle Gruppen und Artikel klicken können.
  
Snippet für die Gruppenliste:
+
[[Image:Inhaltsübersicht.png]]
<code>[php,N]
+
 
<?php
+
== Einstellungen der Sichten ändern ==
  $DynPG->SetParam_UseCategory('DynPG');
+
Wir können nun etwas an den Einstellungen für die [[Die drei Ansichten von DynPG|drei Ansichten von DynPG]] herumspielen, um zu demonstrieren, wie man die Sichten nach seinen Wünschen anpassen kann.
  $DynPG->SetParam_AG_Anytime(TRUE);
+
 
  $DynPG->SetParam_AG_ForceNav(TRUE);
+
Funktionen zum Setzen von Parametern beginnen immer mit <tt>SetParam</tt>. Allgemein haben Sie den folgenden Aufbau:
  $DynPG->Write_AllGroups();
+
<center><tt>SetParam_'''ANSICHT'''_'''PARAMETER'''('''WERT''')</tt></center>
  $DynPG->SetParam_AA_Anytime(FALSE);
+
wobei:
  $DynPG->SetParam_AA_ForceNav(TRUE);
+
* '''ANSICHT''' die betreffende Ansicht ist (AG - Gruppenliste, AA - Artikellsite oder A - Artikel).
  $DynPG->Write_AllArticles();
+
* '''PARAMETER''' der betreffende Parameter ist, welcher gesetzt wird.
  $DynPG->SetParam_A_CategoryNavigation(FALSE);
+
* '''WERT''' der neue Wert des Parameters ist.
  $DynPG->SetParam_A_PrintNavigation(TRUE);
+
 
  $DynPG->SetParam_A_ArticleHeader(TRUE);
+
{{Info
  $DynPG->Write_Article();
+
|Einstellungen für die Sichten müssen immer '''vor''' dem jeweiligen <tt>Write_</tt> Befehl vorgenommen werden, da dieser die Sicht ausgibt und weitere Änderungen der Parameter sich nicht mehr auf die Ausgabe auswirken.}}
?>
+
 
 +
Für die Sichten setzen wir nun die folgenden Parameter:
 +
<code>[php,y]
 +
<body>
 +
  <?php
 +
    // Gruppenliste
 +
    $GLOBALS["DynPG"]->SetParam_AG_Anytime(true);
 +
    $GLOBALS["DynPG"]->SetParam_AG_Order( Array( 'INDEX' ) );
 +
    $GLOBALS["DynPG"]->SetParam_AG_Sort( Array( 'ASC' ) );
 +
    $GLOBALS["DynPG"]->Write_AllGroups();
 +
 
 +
    // Artikelliste
 +
    $GLOBALS["DynPG"]->SetParam_AA_Anytime(false);
 +
    $GLOBALS["DynPG"]->SetParam_A_CategoryNavigation(false);
 +
    $GLOBALS["DynPG"]->Write_AllArticles();
 +
 
 +
    // Artikel-Detailansicht
 +
    $GLOBALS["DynPG"]->SetParam_A_Anytime(false);
 +
    $GLOBALS["DynPG"]->SetParam_A_LinkNavigation(true);
 +
    $GLOBALS["DynPG"]->SetParam_A_PdfNavigation(true);
 +
    $GLOBALS["DynPG"]->SetParam_A_PrintNavigation(true);
 +
    $GLOBALS["DynPG"]->SetParam_A_RecommendNavigation(true);
 +
    $GLOBALS["DynPG"]->SetParam_A_ArticleHeader(false);
 +
    $GLOBALS["DynPG"]->Write_Article();
 +
  ?>
 +
</body>
 
</code>
 
</code>
  
== Diese Informationen als PDF ==
+
=== Erklärung ===
Dieser Artikel liegt auch als PDF vor, jedoch möglicherweise nicht so aktuell: [[Media:Integration.pdf|Integration.pdf]].
+
''Gruppenliste''
 +
* Zeile 5: legt fest, dass die Gruppen nach dem [[Artikel erstellen#Weitere Einstellungen|Sortierindex]] sortiert werden sollen
 +
* Zeile 6: legt fest, dass die Sortierung nach aufsteigendem [[Artikel erstellen#Weitere Einstellungen|Sortierindex]] geschehen soll
 +
 
 +
 
 +
''Artikelliste''
 +
* Zeile 11: blendet die Kategorie-Navigation (Breadcrumb-Navigation) aus
 +
 
 +
 
 +
''Artikel-Detailansicht''
 +
* Zeile 16: aktiviert den Button zur Anzeige des Links
 +
* Zeile 17: aktiviert den Button zur Konvertierung des Artikels in das PDF-Format
 +
* Zeile 18: aktiviert den Button zum Drucken des Artikels
 +
* Zeile 19: aktiviert den Button zum Weiterempfehlen des Artikels
 +
* Zeile 20: blendet den Artikel-Header (den Lead-Text und das Lead-Bild) aus
 +
 
 +
{{Info
 +
|Eine Übersicht, welche die am häufigsten verwendeten Methoden zur Änderung von Parametern enthält, finden Sie in der [[Schnellreferenz]] zum Ausdrucken. Eine vollständige Liste finden Sie in der [[Funktionsreferenz/Globals|Funktionsreferenz]].}}

Aktuelle Version vom 26. September 2011, 15:58 Uhr

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

Im Artikel über die drei Ansichten von DynPG haben wir gesehen, wie wir eine Gruppenliste, Artikelliste und Artikeldetailansicht erstellen. In diesem Artikel wollen wir die drei Ansichten nun kombinieren, um eine einfache Navigation für den Inhalt zu erstellen.

Erstellen der Inhaltsübersicht

DynPG einbinden

Zuerst binden wir DynPG in unsere Webseite ein. Dazu schreiben wir and den Anfang der PHP-Datei folgende Zeilen und passen diese wie im Artikel zur Einbindung beschrieben an den Speicherort von DynPG an:

<?php
  require('../dynpg/getcontent.php');
  $GLOBALS["DynPG"]->SetParam_PathToRoot('../dynpg/');
?>

Standard-CSS einbinden

Nun sollten wir die Standard-CSS Dateien von DynPG einbinden, um ein bereits fertig definiertes Layout für die Inhaltsansicht zu erhalten. Dazu fügen wir im <head>-Bereich der Webseite folgende Zeile ein.

<head>
 
  <!-- ... -->
 
  <?php $GLOBALS["DynPG"]->Write_CSS_JS_Header(); ?>
</head>

Dieser Befehl bindet die CSS-Dateien von DynPG ein. Sie können sich natürlich später auch eigene Stylesheets definieren.

Inhaltsübersicht

Nun folgt das eigentliche Snippet für die Inhaltsübersicht, das Sie an einer beliebigen Stelle innerhalb der body Tags platzieren können:

<body>
 
  <!-- ... -->
 
  <?php
    $GLOBALS["DynPG"]->SetParam_AG_Anytime(true);
    $GLOBALS["DynPG"]->Write_AllGroups();
    $GLOBALS["DynPG"]->SetParam_AA_Anytime(false);
    $GLOBALS["DynPG"]->Write_AllArticles();
    $GLOBALS["DynPG"]->SetParam_A_Anytime(false);
    $GLOBALS["DynPG"]->Write_Article();
  ?>
</body>

Die erste Anweisung bewirkt, dass die Gruppenliste immer angezeigt wird. Danach wird die Gruppenliste dann ausgegeben. Die dritte und fünfte Anweisung bewirken, dass die Artikelliste bzw. Artikel-Detailansicht abhängig vom Navigationskontext angezeigt werden. Das bedeutet, wenn in der Gruppenliste zu einer Gruppe navigiert wird, die Artikel enthält, so werden diese durch die Artikelliste angezeigt. In allen anderen Fällen gibt die Artikelliste nichts aus. Wird in der Artikelliste dann ein Artikel angeklickt, so wird dieser durch die Artikel-Detailansicht angezeigt. Andernfalls zeigt auch diese Ansicht nichts an. Durch dieses Prinzip haben wir nun eine einfache Inhaltsübersicht erzeugt, die alle im Backend erstellten Inhalte anzeigen kann.

Vollständiges Beispiel

Das vollständige Beispiel für die Inhaltsübersicht sieht nun aus, wie folgt:

<?php
  require('../dynpg/getcontent.php');
  $GLOBALS["DynPG"]->SetParam_PathToRoot('../dynpg/');
?>
 
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en-US" lang="en-US">
 
<head>
  <title>Inhaltsübersicht</title>
  <meta http-equiv="content-type" content="text/html; charset=iso-8859-1" />
 
  <?php $GLOBALS["DynPG"]->Write_CSS_JS_Header(); ?>
</head>
 
<body>
  <h1>Inhaltsübersicht</h1>
 
  <?php
    $GLOBALS["DynPG"]->SetParam_AG_Anytime(true);
    $GLOBALS["DynPG"]->Write_AllGroups();
    $GLOBALS["DynPG"]->SetParam_AA_Anytime(false);
    $GLOBALS["DynPG"]->Write_AllArticles();
    $GLOBALS["DynPG"]->SetParam_A_Anytime(false);
    $GLOBALS["DynPG"]->Write_Article();
  ?>
</body>
 
</html>

Ausgabe im Browser

Im Browser sollten wir nun die vollständige Inhaltsübersicht sehen können. Diese Übersicht stellt bereits eine vollständige Navigation dar, mit der Sie sich durch alle Gruppen und Artikel klicken können.

Datei:Inhaltsübersicht.png

Einstellungen der Sichten ändern

Wir können nun etwas an den Einstellungen für die drei Ansichten von DynPG herumspielen, um zu demonstrieren, wie man die Sichten nach seinen Wünschen anpassen kann.

Funktionen zum Setzen von Parametern beginnen immer mit SetParam. Allgemein haben Sie den folgenden Aufbau:

SetParam_ANSICHT_PARAMETER(WERT)

wobei:

  • ANSICHT die betreffende Ansicht ist (AG - Gruppenliste, AA - Artikellsite oder A - Artikel).
  • PARAMETER der betreffende Parameter ist, welcher gesetzt wird.
  • WERT der neue Wert des Parameters ist.
Tip.png Tipp: Einstellungen für die Sichten müssen immer vor dem jeweiligen Write_ Befehl vorgenommen werden, da dieser die Sicht ausgibt und weitere Änderungen der Parameter sich nicht mehr auf die Ausgabe auswirken.

Für die Sichten setzen wir nun die folgenden Parameter:

  1. <body>
  2. <?php
  3. // Gruppenliste
  4. $GLOBALS["DynPG"]->SetParam_AG_Anytime(true);
  5. $GLOBALS["DynPG"]->SetParam_AG_Order( Array( 'INDEX' ) );
  6. $GLOBALS["DynPG"]->SetParam_AG_Sort( Array( 'ASC' ) );
  7. $GLOBALS["DynPG"]->Write_AllGroups();
  8.  
  9. // Artikelliste
  10. $GLOBALS["DynPG"]->SetParam_AA_Anytime(false);
  11. $GLOBALS["DynPG"]->SetParam_A_CategoryNavigation(false);
  12. $GLOBALS["DynPG"]->Write_AllArticles();
  13.  
  14. // Artikel-Detailansicht
  15. $GLOBALS["DynPG"]->SetParam_A_Anytime(false);
  16. $GLOBALS["DynPG"]->SetParam_A_LinkNavigation(true);
  17. $GLOBALS["DynPG"]->SetParam_A_PdfNavigation(true);
  18. $GLOBALS["DynPG"]->SetParam_A_PrintNavigation(true);
  19. $GLOBALS["DynPG"]->SetParam_A_RecommendNavigation(true);
  20. $GLOBALS["DynPG"]->SetParam_A_ArticleHeader(false);
  21. $GLOBALS["DynPG"]->Write_Article();
  22. ?>
  23. </body>

Erklärung

Gruppenliste

  • Zeile 5: legt fest, dass die Gruppen nach dem Sortierindex sortiert werden sollen
  • Zeile 6: legt fest, dass die Sortierung nach aufsteigendem Sortierindex geschehen soll


Artikelliste

  • Zeile 11: blendet die Kategorie-Navigation (Breadcrumb-Navigation) aus


Artikel-Detailansicht

  • Zeile 16: aktiviert den Button zur Anzeige des Links
  • Zeile 17: aktiviert den Button zur Konvertierung des Artikels in das PDF-Format
  • Zeile 18: aktiviert den Button zum Drucken des Artikels
  • Zeile 19: aktiviert den Button zum Weiterempfehlen des Artikels
  • Zeile 20: blendet den Artikel-Header (den Lead-Text und das Lead-Bild) aus
Tip.png Tipp: Eine Übersicht, welche die am häufigsten verwendeten Methoden zur Änderung von Parametern enthält, finden Sie in der Schnellreferenz zum Ausdrucken. Eine vollständige Liste finden Sie in der Funktionsreferenz.