DynPG in eine Webseite einbinden: Unterschied zwischen den Versionen

Aus DynPG-Wiki
Wechseln zu: Navigation, Suche
K
(Infobox-Templates eingefügt)
 
(11 dazwischenliegende Versionen von 2 Benutzern werden nicht angezeigt)
Zeile 1: Zeile 1:
 
[[Category:Integration_in_eine_Webseite]]
 
[[Category:Integration_in_eine_Webseite]]
Hier wird davon ausgegangen, dass DynPG bereits installiert und konfiguriert ist! Wenn dies nicht der Fall ist, schauen Sie zuerst im Kapitel [[:Category:Installation und Update|Installation und Update]] nach.
+
{{Einführungsartikel}}
  
Glückwunsch! DynPG ist also installiert und kann bereits, mit Hilfe des sogenannten "Backends", konfiguriert werden.  
+
== Einbinden von DynPG ==
 +
DynPG kann in jede beliebige HTML-Seite eingebunden werden. Dies geschieht, indem zuerst die entsprechende HTML-Datei mit der Endung <tt>.php</tt> versehen wird. Die Integration erfolgt nun durch Einfügen folgender Zeilen am Anfang der Seite:
  
DynPG kann nun in jede beliebige HTML-Seite eingebunden werden. Dies geschieht, indem zuersteinmal die entsprechende HTML-Datei mit der Endung <tt>.php</tt> versehen wird. Die eigentliche Implementierung geschieht nun durch Eingabe folgender Zeilen in die Seite:
+
'''Snippet - Einbinden von DynPG'''
 
<code>[php,N]
 
<code>[php,N]
 
<?php
 
<?php
   require('cms/getcontent.php');
+
   require('../cms/getcontent.php');
   $DynPG->SetParam_PathToRoot('cms/');
+
   $GLOBALS["DynPG"]->SetParam_PathToRoot('../cms/');
 
?>
 
?>
 
</code>
 
</code>
  
Diese Zeilen müssen Sie auf jeder PHP-Seite, bei der Sie DynPG implementieren wollen, zuoberst unterbringen. Dies bedeutet, dass vor dem Befehl <tt><?php</tt> kein Zeichen an den Browser versandt werden durfte (d.h. weder Sonderzeichen noch sonstige, nicht in PHP-Bereiche geschriebene Zeichen).
+
{{Note
 +
|die relativen Pfadangaben müssen an den Speicherort Ihrer DynPG-Installation angepasst werden.}}
  
Die erste Zeile muss den Pfad der Datei getcontent.php enthalten, ausgehend vom Verzeichnis in der die PHP Datei gespeichert ist. Änderungen sind hier nur nötig, wenn Sie DynPG nicht im Ordner "cms" installiert haben.
+
'''Erklärung''':
  
In der zweiten Zeile geben Sie das Verzeichnis an, indem Sie DynPG installiert haben. Dabei ist immer von dem Verzeichnis auszugehen, in der Sie diese Datei gespeichert haben. Um ein höheres Verzeichnis zu erreichen schreiben Sie zwei Punkte ( <tt>..</tt> ). Jede Ordnerangabe müssen Sie mit einem "Slash" ( <tt>/</tt> ) abschliessen. Dazu ein Beispiel:
+
Diese Zeilen müssen Sie als erstes in jeder PHP-Datei, in der Sie DynPG nutzen wollen, angeben. Dadurch werden die Anweisungen für die Code-Snippets von DynPG verfügbar gemacht.
  
* Datei "beispielseite.php" liegt im Verzeichnis "seiten/beispielseite.php".
+
* ''Zeile 1'': Die erste Zeile muss den Pfad zur Datei mit dem Namen <tt>getcontent.php</tt> enthalten. Diese Datei befindet sich im Hauptverzeichnis von DynPG. Da es sich um eine relative Pfadangabe handelt, erfolgt die Angabe ausgehend vom Verzeichnis, in dem sich die gerade bearbeitete PHP Datei befindet.
* die Dateien von DynPG sind im Verzeichnis "programme/cms/" gespeichert.
+
* ''Zeile 2'': In der zweiten Zeile geben Sie das Verzeichnis an, in dem Sie DynPG installiert haben. Auch hier erfolgt die Angabe ausgehend vom Vezeichnis, in dem sich die gerade bearbeitete PHP Datei befindet. Um ein höheres Verzeichnis zu erreichen schreiben Sie zwei Punkte ( <tt>..</tt> ). Jede Ordnerangabe müssen Sie mit einem "Slash" ( <tt>/</tt> ) abschließen.
* die Ordner "seiten" und "programme" befinden sich im selben Verzeichnis
+
 
* die Pfadangabe sieht folgendermaßen aus:
+
'''Ein einfaches Beispiel''':
:<code>[php,N]SetParam_PathToRoot('../programme/cms/');</code>
+
 
* und zur Datei getcontent.php so:
+
Nehmen wir an, Sie haben die folgenden Dateistruktur auf Ihrem Server:
:<code>[php,N]require('../programme/cms/getcontent.php');</code>
+
* die Datei <tt>beispielseite.php</tt> liegt im Verzeichnis <tt>seiten/beispielseite.php</tt>.
 +
* die Dateien von DynPG sind im Verzeichnis <tt>dynpg/</tt> gespeichert
 +
* die Ordner <tt>seiten/</tt> und <tt>dynpg/</tt> befinden sich im selben Verzeichnis
 +
 
 +
Die Pfadangaben sehen dann folgendermaßen aus:
 +
<code>[php,N]
 +
<?php
 +
  require('../dynpg/getcontent.php');
 +
  SetParam_PathToRoot('../dynpg/');
 +
?>
 +
</code>
 +
 
 +
{{Note
 +
|die relativen Pfadangaben müssen an den Speicherort Ihrer DynPG-Installation angepasst werden.}}Wenn Sie ein Snippet mit dem <tt>include</tt> Befehl von PHP in eine Seite einbinden, die DynPG bereits auf diese Weise eingebunden hat, dann können Sie diese Zeilen in dem Snippet, dass Sie einbinden möchten, weglassen.}}
  
 
== Minimalbeispiel ==
 
== Minimalbeispiel ==
Nun will ich daran gehen ein Minimalbeispiel für die Einbindung in eine Website zu zeigen. Wir erstellen nun eine Datei mit bspw. dem Namen '''''"index.php"'''''. Die Ordnerstruktur könnte dann in etwa so aussehen:
+
Zum Testen der Einstellung können Sie das folgende Minimalbeispiel verwenden. Passen Sie hier die ersten beiden Zeilen wie im vorherigen Abschnitt beschrieben an. Wir wollen zudem gleich eine Liste aller im Backend vorhandenen Gruppen ausgeben. Dazu fügen wir zwei weitere DynPG-Anweisungen zwischen den <tt>body</tt> Tags ein.
  
[[Image:sample1_dirstructure.jpg|Abbildung 2.1. Ordnerstruktur des Minimalbeispiels]]
 
 
Im Ordner '''''"cms"''''' ist also unser CMS installiert. Nun füllen wir die Datei mit etwas Standard-Html-Code:
 
{{-}}
 
 
<code>[php, N]
 
<code>[php, N]
 +
<?php
 +
  require('../dynpg/getcontent.php');
 +
  $GLOBALS["DynPG"]->SetParam_PathToRoot('../dynpg/');
 +
?>
 +
 
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
 
<!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">
 
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en-US" lang="en-US">
Zeile 40: Zeile 56:
 
<meta http-equiv="content-type" content="text/html; charset=iso-8859-1" />
 
<meta http-equiv="content-type" content="text/html; charset=iso-8859-1" />
 
</head>
 
</head>
 
+
 
<body>
 
<body>
Hallo Welt!
+
  <?php
 +
    $GLOBALS["DynPG"]->SetParam_AG_Anytime(true);
 +
    $GLOBALS["DynPG"]->Write_AllGroups();
 +
  ?>
 
</body>
 
</body>
 
+
 
</html>
 
</html>
 
</code>
 
</code>
  
Nun wollen wir DynPG einbinden und dazu schreiben wir die folgenden Zeilen in den Kopf von "index.php":
 
 
<code>[php, N]
 
<?php
 
  require 'cms/getcontent.php';
 
  $DynPG->SetParam_PathToRoot('cms/');
 
?>
 
</code>
 
 
Dieser Code dient dazu alle Funktionalitäten von DynPG in der aktuellen HTML-Datei verfügbar zu machen. In Zeile 3 muss der relative Pfad zu dem DynPG-Ordner (hier "cms/") stehen.
 
 
[[Image:caution.png]] '''Achtung!''' Diese beiden Zeilen müssen unbedingt an oberster Stelle in der Datei stehen (ohne führende Freizeile!!)
 
 
Nun können wir also loslegen. Wir wollen alle Gruppen (bei der Installation von DynPG wurden bereits automatisch Gruppen erzeugt!) in unserer Datenbank anzeigen lassen. Dazu fügen wir die folgenden Zeilen '''''zwischen die body-tags''''' unserer HTML-Seite ein:
 
 
<code>[php, N]
 
<?php
 
  $DynPG->SetParam_AG_Anytime(true);
 
  $DynPG->Write_AllGroups();
 
?>
 
</code>
 
 
Was genau das alles bedeutet, dazu werde ich später kommen, wenn wir aber alles richtig gemacht haben, dann müsste bei aufrufen der Seite nun folgende Ausgabe zu sehen sein:
 
 
[[Image:frontend_example1.jpg|Abbildung 2.2. Ausgabe des Minimalbeispiels|200px]]
 
  
 +
Was genau die Anweisungen bedeuten, werden wir im nächsten Artikel zu den [[Die drei Ansichten von DynPG|drei Sichten von DynPG]] sehen. Wenn wir aber alles richtig gemacht haben, dann müsste beim Aufrufen der Seite nun eine ähnliche Ausgabe, wie die folgende zu sehen sein:
  
Der komplette Code der HTML-Datei kann [[Code-Schnipsel Minimalbeispiel|hier]] heruntergeladen werden.
+
[[Image:frontend_example1.jpg|Abbildung 2.2. Ausgabe des Minimalbeispiels]]

Aktuelle Version vom 26. September 2011, 16:23 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

Einbinden von DynPG

DynPG kann in jede beliebige HTML-Seite eingebunden werden. Dies geschieht, indem zuerst die entsprechende HTML-Datei mit der Endung .php versehen wird. Die Integration erfolgt nun durch Einfügen folgender Zeilen am Anfang der Seite:

Snippet - Einbinden von DynPG

<?php
  require('../cms/getcontent.php');
  $GLOBALS["DynPG"]->SetParam_PathToRoot('../cms/');
?>
Note.png Bemerkung: die relativen Pfadangaben müssen an den Speicherort Ihrer DynPG-Installation angepasst werden.

Erklärung:

Diese Zeilen müssen Sie als erstes in jeder PHP-Datei, in der Sie DynPG nutzen wollen, angeben. Dadurch werden die Anweisungen für die Code-Snippets von DynPG verfügbar gemacht.

  • Zeile 1: Die erste Zeile muss den Pfad zur Datei mit dem Namen getcontent.php enthalten. Diese Datei befindet sich im Hauptverzeichnis von DynPG. Da es sich um eine relative Pfadangabe handelt, erfolgt die Angabe ausgehend vom Verzeichnis, in dem sich die gerade bearbeitete PHP Datei befindet.
  • Zeile 2: In der zweiten Zeile geben Sie das Verzeichnis an, in dem Sie DynPG installiert haben. Auch hier erfolgt die Angabe ausgehend vom Vezeichnis, in dem sich die gerade bearbeitete PHP Datei befindet. Um ein höheres Verzeichnis zu erreichen schreiben Sie zwei Punkte ( .. ). Jede Ordnerangabe müssen Sie mit einem "Slash" ( / ) abschließen.

Ein einfaches Beispiel:

Nehmen wir an, Sie haben die folgenden Dateistruktur auf Ihrem Server:

  • die Datei beispielseite.php liegt im Verzeichnis seiten/beispielseite.php.
  • die Dateien von DynPG sind im Verzeichnis dynpg/ gespeichert
  • die Ordner seiten/ und dynpg/ befinden sich im selben Verzeichnis

Die Pfadangaben sehen dann folgendermaßen aus:

<?php
  require('../dynpg/getcontent.php');
  SetParam_PathToRoot('../dynpg/');
?>
Note.png Bemerkung: die relativen Pfadangaben müssen an den Speicherort Ihrer DynPG-Installation angepasst werden.
Wenn Sie ein Snippet mit dem include Befehl von PHP in eine Seite einbinden, die DynPG bereits auf diese Weise eingebunden hat, dann können Sie diese Zeilen in dem Snippet, dass Sie einbinden möchten, weglassen.}}

Minimalbeispiel

Zum Testen der Einstellung können Sie das folgende Minimalbeispiel verwenden. Passen Sie hier die ersten beiden Zeilen wie im vorherigen Abschnitt beschrieben an. Wir wollen zudem gleich eine Liste aller im Backend vorhandenen Gruppen ausgeben. Dazu fügen wir zwei weitere DynPG-Anweisungen zwischen den body Tags ein.

<?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>Minimalbeispiel</title>
	<meta http-equiv="content-type" content="text/html; charset=iso-8859-1" />
</head>
 
<body>
  <?php
    $GLOBALS["DynPG"]->SetParam_AG_Anytime(true);
    $GLOBALS["DynPG"]->Write_AllGroups();
  ?>
</body>
 
</html>


Was genau die Anweisungen bedeuten, werden wir im nächsten Artikel zu den drei Sichten von DynPG sehen. Wenn wir aber alles richtig gemacht haben, dann müsste beim Aufrufen der Seite nun eine ähnliche Ausgabe, wie die folgende zu sehen sein:

Abbildung 2.2. Ausgabe des Minimalbeispiels