Eine einfache Inhaltsübersicht: Unterschied zwischen den Versionen

Aus DynPG-Wiki
Wechseln zu: Navigation, Suche
(Artikel überarbeitet)
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 ==
+
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.
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.
+
 
 +
== 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:
  
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('cms/getcontent.php');
   $DynPG->SetParam_PathToRoot('dynpg/');
+
   $GLOBALS["DynPG"]->SetParam_PathToRoot('cms/');
 
?>
 
?>
 
</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 ===
zu implementieren. Es ergeben sich drei Listungen, welche die Darstellung der Daten abdecken: Artikellisten, Gruppenlisten und einzelne Ansichten der Artikel.
+
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.
  
== 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 alternativ natürlich 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:
 
<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"]->Write_AllArticles();
 +
    $GLOBALS["DynPG"]->Write_Article();
 +
  ?>
 +
</body>
 +
</code>
 +
Zeile 1 zeigt die Gruppenliste immer an. Die drei nächsten Zeilen erstellen die [[Die drei Ansichten von DynPG|drei Ansichten von DynPG]].
 +
 
 +
=== 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"]->Write_AllArticles();
 +
    $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 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.
  $DynPG->SetParam_AG_Anytime(TRUE);
+
 
  $DynPG->SetParam_AG_ForceNav(TRUE);
+
Funktionen zum Setzen von Parametern beginnen immer mit <tt>SetParam</tt>. Allgemein haben die Funktionen 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);
+
 
  $DynPG->Write_Article();
+
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_A_CategoryNavigation(false);
 +
    $GLOBALS["DynPG"]->Write_AllArticles();
 +
 
 +
    // Artikel-Detailansicht
 +
    $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 ==
+
 
Dieser Artikel liegt auch als PDF vor, jedoch möglicherweise nicht so aktuell: [[Media:Integration.pdf|Integration.pdf]].
+
[[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 ===
 +
''Gruppenliste''
 +
* Zeile 4: ist der bekannte Befehl, um die Gruppenliste immer anzuzeigen und nicht nur, wenn es der [[Der Navigationskontext|Navigationskontext]] vorgibt.
 +
* 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
 +
 
 +
 
 +
''Artikelliste''
 +
* Zeile 10: blendet die Kategorie-Navigation (Breadcrumb-Navigation) aus
 +
 
 +
 
 +
''Artikel-Detailansicht''
 +
* Zeile 14: aktiviert den Button zur Anzeige des Links
 +
* Zeile 15: aktiviert den Button zur Übertragung des Artikels in PDF-Format
 +
* Zeile 16: aktiviert den Button zum Drucken des Artikels
 +
* Zeile 17: aktiviert den Button zum Weiterempfehlen des Artikels
 +
* Zeile 18: blendet den Artikel-Header (den Lead-Text und das Lead-Bild) aus

Version vom 9. Oktober 2010, 10:37 Uhr

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:

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

Standard-CSS

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 alternativ natürlich auch eigene Stylesheets definieren.

Inhaltsübersicht

Nun folgt das eigentliche Snippet für die Inhaltsübersicht:

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

Zeile 1 zeigt die Gruppenliste immer an. Die drei nächsten Zeilen erstellen die drei Ansichten von DynPG.

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"]->Write_AllArticles();
    $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 werden nun den einige Einstellungen für die drei Ansichten von DynPG setzen, um zu demonstrieren, wie Sie die Sichten nach Ihren Wünschen anpassen können.

Funktionen zum Setzen von Parametern beginnen immer mit SetParam. Allgemein haben die Funktionen 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.


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_A_CategoryNavigation(false);
  11. $GLOBALS["DynPG"]->Write_AllArticles();
  12.  
  13. // Artikel-Detailansicht
  14. $GLOBALS["DynPG"]->SetParam_A_LinkNavigation(true);
  15. $GLOBALS["DynPG"]->SetParam_A_PdfNavigation(true);
  16. $GLOBALS["DynPG"]->SetParam_A_PrintNavigation(true);
  17. $GLOBALS["DynPG"]->SetParam_A_RecommendNavigation(true);
  18. $GLOBALS["DynPG"]->SetParam_A_ArticleHeader(false);
  19. $GLOBALS["DynPG"]->Write_Article();
  20. ?>
  21. </body>


Note.png Hinweis: Einstellungen für die Sichten müssen immer vor dem jeweiligen Write_ Befehl vorgenommen werden, da dieser Befehl die Sicht ausgibt.

Erklärung

Gruppenliste

  • Zeile 4: ist der bekannte Befehl, um die Gruppenliste immer anzuzeigen und nicht nur, wenn es der Navigationskontext vorgibt.
  • Zeile 5: sortiert die Gruppen nach dem Sortierindex
  • Zeile 6: legt fest, dass die Sortierung nach aufsteigendem Sortierindex geschehen soll


Artikelliste

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


Artikel-Detailansicht

  • Zeile 14: aktiviert den Button zur Anzeige des Links
  • Zeile 15: aktiviert den Button zur Übertragung des Artikels in PDF-Format
  • Zeile 16: aktiviert den Button zum Drucken des Artikels
  • Zeile 17: aktiviert den Button zum Weiterempfehlen des Artikels
  • Zeile 18: blendet den Artikel-Header (den Lead-Text und das Lead-Bild) aus