Eine einfache Inhaltsübersicht: Unterschied zwischen den Versionen

Aus DynPG-Wiki
Wechseln zu: Navigation, Suche
(Artikel überarbeitet)
(Infobox-Templates eingefügt)
 
(10 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]]
 +
{{Einführungsartikel}}
 +
 
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.
 
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.
  
Zeile 6: Zeile 8:
  
 
=== DynPG einbinden ===
 
=== 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:
+
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:
  
 
<code>[php,N]
 
<code>[php,N]
 
<?php
 
<?php
   require('cms/getcontent.php');
+
   require('../dynpg/getcontent.php');
   $GLOBALS["DynPG"]->SetParam_PathToRoot('cms/');
+
   $GLOBALS["DynPG"]->SetParam_PathToRoot('../dynpg/');
 
?>
 
?>
 
</code>
 
</code>
  
=== Standard-CSS ===
+
=== Standard-CSS einbinden ===
Nun sollten wir die [[CSS|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.
+
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.
  
 
<code>[php,N]
 
<code>[php,N]
Zeile 27: Zeile 29:
 
</code>
 
</code>
  
Dieser Befehl bindet die CSS-Dateien von DynPG ein. Sie können sich alternativ natürlich auch eigene Stylesheets definieren.
+
Dieser Befehl bindet die CSS-Dateien von DynPG ein. Sie können sich natürlich später auch eigene Stylesheets definieren.
  
 
=== Inhaltsübersicht ===
 
=== Inhaltsübersicht ===
Nun folgt das eigentliche Snippet für die Inhaltsübersicht:
+
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]
 
<body>
 
<body>
Zeile 39: Zeile 41:
 
     $GLOBALS["DynPG"]->SetParam_AG_Anytime(true);
 
     $GLOBALS["DynPG"]->SetParam_AG_Anytime(true);
 
     $GLOBALS["DynPG"]->Write_AllGroups();
 
     $GLOBALS["DynPG"]->Write_AllGroups();
 +
    $GLOBALS["DynPG"]->SetParam_AA_Anytime(false);
 
     $GLOBALS["DynPG"]->Write_AllArticles();
 
     $GLOBALS["DynPG"]->Write_AllArticles();
 +
    $GLOBALS["DynPG"]->SetParam_A_Anytime(false);
 
     $GLOBALS["DynPG"]->Write_Article();
 
     $GLOBALS["DynPG"]->Write_Article();
 
   ?>
 
   ?>
 
</body>
 
</body>
 
</code>
 
</code>
Zeile 1 zeigt die Gruppenliste immer an. Die drei nächsten Zeilen erstellen die [[Die drei Ansichten von DynPG|drei Ansichten von DynPG]].
+
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 ===
 
=== Vollständiges Beispiel ===
Zeile 66: Zeile 70:
 
   
 
   
 
<body>
 
<body>
 
 
   <h1>Inhaltsübersicht</h1>
 
   <h1>Inhaltsübersicht</h1>
 
   
 
   
Zeile 72: Zeile 75:
 
     $GLOBALS["DynPG"]->SetParam_AG_Anytime(true);
 
     $GLOBALS["DynPG"]->SetParam_AG_Anytime(true);
 
     $GLOBALS["DynPG"]->Write_AllGroups();
 
     $GLOBALS["DynPG"]->Write_AllGroups();
 +
    $GLOBALS["DynPG"]->SetParam_AA_Anytime(false);
 
     $GLOBALS["DynPG"]->Write_AllArticles();
 
     $GLOBALS["DynPG"]->Write_AllArticles();
 +
    $GLOBALS["DynPG"]->SetParam_A_Anytime(false);
 
     $GLOBALS["DynPG"]->Write_Article();
 
     $GLOBALS["DynPG"]->Write_Article();
 
   ?>
 
   ?>
Zeile 86: Zeile 91:
  
 
== Einstellungen der Sichten ändern ==
 
== Einstellungen der Sichten ändern ==
Wir werden nun den einige Einstellungen für die [[Die drei Ansichten von DynPG|drei Ansichten von DynPG]] setzen, um zu demonstrieren, wie Sie die Sichten nach Ihren Wünschen anpassen können.
+
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.
  
Funktionen zum Setzen von Parametern beginnen immer mit <tt>SetParam</tt>. Allgemein haben die Funktionen den folgenden Aufbau:
+
Funktionen zum Setzen von Parametern beginnen immer mit <tt>SetParam</tt>. Allgemein haben Sie den folgenden Aufbau:
 
<center><tt>SetParam_'''ANSICHT'''_'''PARAMETER'''('''WERT''')</tt></center>
 
<center><tt>SetParam_'''ANSICHT'''_'''PARAMETER'''('''WERT''')</tt></center>
 
wobei:
 
wobei:
Zeile 95: Zeile 100:
 
* '''WERT''' der neue Wert des Parameters ist.
 
* '''WERT''' der neue Wert des Parameters ist.
  
 +
{{Info
 +
|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:
 
Für die Sichten setzen wir nun die folgenden Parameter:
Zeile 107: Zeile 114:
  
 
     // Artikelliste
 
     // Artikelliste
 +
    $GLOBALS["DynPG"]->SetParam_AA_Anytime(false);
 
     $GLOBALS["DynPG"]->SetParam_A_CategoryNavigation(false);
 
     $GLOBALS["DynPG"]->SetParam_A_CategoryNavigation(false);
 
     $GLOBALS["DynPG"]->Write_AllArticles();
 
     $GLOBALS["DynPG"]->Write_AllArticles();
  
 
     // Artikel-Detailansicht
 
     // Artikel-Detailansicht
 +
    $GLOBALS["DynPG"]->SetParam_A_Anytime(false);
 
     $GLOBALS["DynPG"]->SetParam_A_LinkNavigation(true);
 
     $GLOBALS["DynPG"]->SetParam_A_LinkNavigation(true);
 
     $GLOBALS["DynPG"]->SetParam_A_PdfNavigation(true);
 
     $GLOBALS["DynPG"]->SetParam_A_PdfNavigation(true);
Zeile 120: Zeile 129:
 
</body>
 
</body>
 
</code>
 
</code>
 
 
[[Image:Note.png]] ''Hinweis:'' Einstellungen für die Sichten müssen immer '''vor''' dem jeweiligen <tt>Write_</tt> Befehl vorgenommen werden, da dieser Befehl die Sicht ausgibt.
 
  
 
=== Erklärung ===
 
=== Erklärung ===
 
''Gruppenliste''
 
''Gruppenliste''
* Zeile 4: ist der bekannte Befehl, um die Gruppenliste immer anzuzeigen und nicht nur, wenn es der [[Der Navigationskontext|Navigationskontext]] vorgibt.
+
* Zeile 5: legt fest, dass die Gruppen nach dem [[Artikel erstellen#Weitere Einstellungen|Sortierindex]] sortiert werden sollen
* Zeile 5: sortiert die Gruppen nach dem [[Artikel erstellen#Weitere Einstellungen|Sortierindex]]
+
 
* Zeile 6: legt fest, dass die Sortierung nach aufsteigendem [[Artikel erstellen#Weitere Einstellungen|Sortierindex]] geschehen soll
 
* Zeile 6: legt fest, dass die Sortierung nach aufsteigendem [[Artikel erstellen#Weitere Einstellungen|Sortierindex]] geschehen soll
  
  
 
''Artikelliste''
 
''Artikelliste''
* Zeile 10: blendet die Kategorie-Navigation (Breadcrumb-Navigation) aus
+
* Zeile 11: blendet die Kategorie-Navigation (Breadcrumb-Navigation) aus
  
  
 
''Artikel-Detailansicht''
 
''Artikel-Detailansicht''
* Zeile 14: aktiviert den Button zur Anzeige des Links
+
* Zeile 16: aktiviert den Button zur Anzeige des Links
* Zeile 15: aktiviert den Button zur Übertragung des Artikels in PDF-Format
+
* Zeile 17: aktiviert den Button zur Konvertierung des Artikels in das PDF-Format
* Zeile 16: aktiviert den Button zum Drucken des Artikels
+
* Zeile 18: aktiviert den Button zum Drucken des Artikels
* Zeile 17: aktiviert den Button zum Weiterempfehlen des Artikels
+
* Zeile 19: aktiviert den Button zum Weiterempfehlen des Artikels
* Zeile 18: blendet den Artikel-Header (den Lead-Text und das Lead-Bild) aus
+
* 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.