| Impressum
Donnerstag, 21.09.2017

Hinweis zu Ihrem Browser: Leider können Sie diese Seiten aufgrund der unzureichenden Unterstützung aktueller Internet-Standards (CSS1, CSS2) durch ihren derzeitigen Browser nicht in voller Qualität betrachten.
Während Sie die Inhalte der Webseite sehen, kann das moderne Layout mit dem verwendeten Browser nicht dargestellt werden.

CopePiece Plugin V1.1 für phpCMS

Das CodePiece Plugin wurde von mir entwickelt, um eine kleine "Schwachstelle" von externer LinkphpCMS zu beseitigen. Die Trennung von Inhalt und Layout bezieht sich vorwiegend auf das gobale Layout einer Webseite sowie auf die Menüsteuerung. Dabei entspricht die Layoutvorlage (Template) immer einer kompletten Webseite. Innerhalb dieses Templates werden Platzhalter für Inhalte und Navigationselemente definiert. Zwar kennt externer LinkphpCMS sogenannte Subtemplates, jedoch haben diese nur eine Gliederungsfunktion für das globale Template. Durch die Verwendung der Subtemplates lässt sich eine Layoutvorlage in übersichtliche Teile (z.B. Kopf, Hauptteil, Fußzeile) gliedern und in getrennten Dateien verwalten.

Das Seitenlayout steht somit fest. Aber was wird aus eigentlichen Inhalten? Innerhalb der frei definierbaren Content-Bereiche kommt man schnell wieder in die Verlegenheit, größere Abschnitte als blanken HTML-Code einzufügen. Dadurch leidet die Übersichtlichkeit der Contentdateien enorm und der eigentliche Vorteil des Einsatzes eines CMS - die Trennung von Inhalt und Layout - ist dahin.

Hier greift CodePiece ein. Auf die gleiche Art und Weise in der Sie mit phpCMS für alle Seiten ihrer Website ein einheitliches Layout erstellen können, haben Sie mit dem Plugin die Möglichkeit, einzelne Teilbereiche Template-formatiert auszugeben. Vorteile bietet diese Vorgehensweise insbesondere bei Inhalten mit gleichem struktuellen Aufbau.

Die Inhalte werden mit Schlüsselwörtern in einfachen Textdateien abgelegt. Dabei wurde das von externer LinkphpCMS bekannte Schema der Platzhalter in den Contentdateien beibehalten. Im Template (vergleichbar mit den Templates von phpCMS) werden diese Schlüsselwörter durch die Inhalte aus den an CodePiece übergebenen Dateien ersetzt.

Als Beispiel habe ich ein Review aus meinem Filmarchiv entsprechend aufgearbeitet. Die Datensätze und das Template liegen als einfache Textdateien (ASCII-Format) auf dem Webserver.


Konfiguration, Installation & Anwendung

  1. Konfiguration: Im Plugin selbst, also in der Datei 'codepiece.php', müssen sie im Abschnitt 'Konfiguration' alle zu parsenden Feldbezeichner der Content-Datei in das Array $ProcessFields eintragen.

    $ProcessFields = array("CONTENT", "CONTENT_A", "CONTENT_B");

    Hinweis: Mit dieser Einstellung wird dem Plugin mitgeteilt, in welchen Bereichen der Content-Datei das Plugin aufgerufen wird. Die Standardeinstellung hierfür ist $ProcessFields = array("CONTENT");. Diese braucht nur ergänzt/geändert werden wenn das Plugin auch unter anderen Platzhaltern als {CONTENT} verwendet werden soll.

  2. Kopieren Sie das Plugin in das phpCMS-Plugin Verzeichnis ihres Webservers.

    Hinweis: Bei einer Standardinstallation von phpCMS sollte dies '/parser/plugs/' oder '/parser/plugins/' sein.

  3. Die Einbindung des Plugins erfolgt wahlweise im Template oder in der Content-Datei. Vorzugsweise natürlich im Template damit das Plugin auf allen Seiten verfügbar ist.

    {PLUGIN FILE="/pluginpath/codepiece_1_0.php" TYPE="STATIC"}

  4. Der Aufruf des Plugins hat die Form eines HTML-Kommentars. Es kann innerhalb der Contentdatei beliebig oft und mit verschiedenen Werten aufgerufen werden.

    {PROJECT}
    ...
    {MENU}
    ...
    {CONTENT}
    <!-- CODEPIECE $home/daten/mein_datensatz.dat, $home/daten/mein_template.tpl -->
    ...

    Die Pfadangaben für Datensatz und Template können dabei sowohl relativ zum Pfad der Contentdatei als auch als absolute Pfadangaben erfolgen.

    ACHTUNG: Ab Version 1.1 kann die phpCMS-Variable $home in den Pfadangaben zum Plugin-Aufruf als auch innerhalb der Datensätze und der Templates verwendet werden.




Download

codepiece_1_1_040504.zip (3.23 kB, Stand: 04.05.2004, 16:59:54 Uhr)
 

Beispieldatensatz

Als Beispiel für die Verwendung des Plugins habe ich einen Datensatz aus meinen Filmreviews aufbereitet. Das Endergebnis können Sie sich im Filmarchiv ansehen.

{TITEL}
Blade Runner<br>
<span class="footnote">The Director's Cut</span>

{JAHR}
1992

{DARSTELLER}
Harrison Ford

{SNAPSHOT}
bladerunner.jpg

{SNAPSHOT_ALT}
Blade Runner - The Director's Cut

{IMDB_LINK}
http://us.imdb.com/Title?0083658

{KOMMENTAR}
<p><i>Blade Runner</i> hat, was viele andere Filme nie erreichen: <b>Kult-Status</b>. Der Director's Cut geht über das Übliche "ein paar Minuten mehr" hinaus. Der Film wurde komplett neu geschnitten und synchronisiert. Das Ergebnis ist ein fantastisches Science Fiction Erlebnis, welches das ursprüngliche Werk weit in den Schatten stellt.</p>

<p>Dieser Filme lebt von seiner Atmosphäre und nicht von Running Gag's. Kein Kitsch, kein Klischee, sondern pure, detailverliebte und stilvolle Science Fiction in Perfektion. Wer auch nur irgend etwas für Science Fiction übrig hat: Unbedingt ansehen!</p>

<p><b>Anmerkung:</b> Das Orginal habe ich mehrfach versucht, mir anzusehen. Ich habe jedoch bisher immer vor dem Ende ausgeschalten weil diese Version gegenüber dem Director's Cut einfach zu schlecht ist.</p>

Template für die Darstellung der Daten

Hier das zugehörige Template für eine ansprechende Formatierung der Daten ...

<table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td class="movieblocka" >
<p style="color: #000000">
<span style="color: #868666">
<b>{TITEL}</b>
</span>
{JAHR}
</p>
<p class="footnote">
<b>Hauptdarsteller</b><br>
{DARSTELLER}
</p>
<a href=" {IMDB_LINK}" target="_blank">
<img src="$home/images/imdb_small.gif" border="0" alt="Internet Movie Database">
</a>
</td>
<td class="movieblockb">
<img src="$home/images/movie/{SNAPSHOT}" border="0" alt="{SNAPSHOT_ALT}">
</td>
</tr>
<tr>
<td colspan="2" class="movieblockc">
{KOMMENTAR}
</td>
</tr>
</table>
<br>
<center>
<img src="$home/images/dividers/jwlbar7.gif" border="0" alt="">
</center><br>

V2.0 © 2003 - 2004 Dirk Jesse
powered by phpCMS 1.2.2  & ExpressionEngine