Codebeispiele - Templates: Unterschied zwischen den Versionen
(Die Seite wurde neu angelegt: „Category:Beispiele == Minimalbeispiel == {{Code Example | Beschreibung = Ein Beispiel für ein minimales Template | Link = http://examples.gampe…“) |
K (→Template mit PHP Anweisung) |
||
(Eine dazwischenliegende Version des gleichen Benutzers werden nicht angezeigt) | |||
Zeile 194: | Zeile 194: | ||
}} | }} | ||
− | == Template mit PHP Anweisung == | + | == Template mit PHP-Anweisung == |
{{Code Example | {{Code Example | ||
| Beschreibung = Ein Beispiel für ein [[Templates|Template]] mit einer PHP Anweisung | | Beschreibung = Ein Beispiel für ein [[Templates|Template]] mit einer PHP Anweisung |
Aktuelle Version vom 9. Oktober 2011, 19:35 Uhr
Minimalbeispiel
Beschreibung:
Ein Beispiel für ein minimales Template
Voraussetzungen:
-
Snippet:
index.php:
<?php $GLOBALS["DynPG"]->setupTemplate('minimal'); // Beispiel-Template setzen $GLOBALS["DynPG"]->Write_AllGroups(); // Gruppenlisten-Ansicht ausgeben $GLOBALS["DynPG"]->Write_AllArticles(); // Artikelliste-Ansicht ausgeben $GLOBALS["DynPG"]->Write_Article(); // Artikel-Detailansicht ausgeben ?>
<DynPG Ordner>/tpl/MyCMS/minimal/detail.tpl:
<!-- Dies ist ein Kommentar (er wird nicht angezeigt) --> {$CONTENT} <!--Den Inhalt des Artikels ausgeben--> Dies ist ein <b>selbstdefiniertes Template</b> <!--beliebiger HTML-Code--> <!--Alles was hier drinsteht, wird nach dem Aufruf von $DynPG->Write_Article(); eingefügt -->
<toggledisplay status="hide" showtext="▼ Quelltext anzeigen" hidetext="▼ Quelltext verbergen" linkstyle="font-size:normal;"> index.php:
<?php require '../../dynpg/getcontent.php'; // DynPG-Funktionalität einbinden $GLOBALS["DynPG"]->SetParam_PathToRoot('../../dynpg/'); // DynPG-Pfad setzen ?> <!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>Seite mit dynamischen Navigationsmenü</title> <meta http-equiv="content-type" content="text/html; charset=iso-8859-1" /> <link rel="stylesheet" type="text/css" href="style.css" /> <!--eigene style.css einbinden--> </head> <body> <h1>Minimalbeispiel: Template</h1> <div id="navigation"> <?php $GLOBALS["DynPG"]->SetParam_A_Anytime(true); // dynamische Navigation immer anzeigen $GLOBALS["DynPG"]->SetParam_A_Article(1); // Artikelnummer der dynamischen Navigation $GLOBALS["DynPG"]->SetParam_A_ArticleHeader(false); // Artikelkopf (Titel, Lead-Bild und Lead-Text) ausblenden $GLOBALS["DynPG"]->SetParam_A_CategoryNavigation(false); // Kategorienavigation (Gruppe > Untergruppe > Artikel) ausblenden $GLOBALS["DynPG"]->SetParam_A_PrintNavigation(false); // Drucken-Link ausblenden $GLOBALS["DynPG"]->Write_Article(); // dynamische Navigation ausgeben ?> </div> <div id="inhalt"> <?php $GLOBALS["DynPG"]->setupTemplate('minimal'); // Beispiel-Template setzen $GLOBALS["DynPG"]->Write_AllGroups(); // Gruppenlisten-Ansicht ausgeben (standardmäßig abhängig vom Navigationskontext) $GLOBALS["DynPG"]->Write_AllArticles(); // Artikelliste-Ansicht ausgeben (standardmäßig abhängig vom Navigationskontext) $GLOBALS["DynPG"]->SetParam_A_Anytime(false); // Parameter wieder auf false setzen (wurde bei der Navigation auf true gesetzt) $GLOBALS["DynPG"]->Write_Article(); // Artikel-Detailansicht ausgeben ?> </div> </body> </html>
<DynPG Ordner>/tpl/MyCMS/minimal/detail.tpl:
<!-- Dies ist ein Kommentar (er wird nicht angezeigt) --> {$CONTENT} <!--Den Inhalt des Artikels ausgeben--> Dies ist ein <b>selbstdefiniertes Template</b> <!--beliebiger HTML-Code--> <!--Alles was hier drinsteht, wird nach dem Aufruf von $DynPG->Write_Article(); eingefügt -->
style.css:
/* Navigation */ div#navigation{ /* Angaben für ein zweispaltiges Layout */ float:left; width:150pt; margin-left:5pt; margin-right:5pt; border:1px solid #AAA; } /* Inhalt */ div#inhalt { /* Angaben für ein zweispaltiges Layout */ margin-left:165pt; margin-right:5pt; } /* Alle divs innerhalb des Navigationsmenüs verschieben ihren Inhalt um 10 pt nach rechts. Durch die Verschaltelung von divs innerhalb des Menüs erhalten wir so eine Einrückung. */ div#course_categories_menu div { padding-left:10pt; } /* Alle links innerhalb des Navigationsmenüs */ div#course_categories_menu a { text-decoration:none; }
</toggledisplay>
Template mit Bedingung
Beschreibung:
Ein Beispiel für ein Template mit Bedingung
Voraussetzungen:
-
Snippet:
index.php:
<?php $GLOBALS["DynPG"]->setupTemplate('example_cond_statement'); // Beispiel-Template setzen $GLOBALS["DynPG"]->Write_AllGroups(); // Gruppenlisten-Ansicht ausgeben $GLOBALS["DynPG"]->Write_AllArticles(); // Artikelliste-Ansicht ausgeben $GLOBALS["DynPG"]->Write_Article(); // Artikel-Detailansicht ausgeben ?>
<DynPG Ordner>/tpl/MyCMS/example_cond_statement/detail.tpl:
<!-- Wenn Artikelname = "dynpg ist Open Source und Freeware!" dann Inhalt und zusätzlichen Text ausgeben --> {$# ('{$TITLE}'=='Willkommen auf der Beispielwebseite') #} Mein <b>Lieblingsartikel</b>! {$CONTENT} {$# End #} <!-- andernfalls nur den Inhalt ausgeben --> {$# ('{$TITLE}'!='Willkommen auf der Beispielwebseite') #} {$CONTENT} {$# End #}
<toggledisplay status="hide" showtext="▼ Quelltext anzeigen" hidetext="▼ Quelltext verbergen" linkstyle="font-size:normal;"> index.php:
<?php require '../../dynpg/getcontent.php'; // DynPG-Funktionalität einbinden $GLOBALS["DynPG"]->SetParam_PathToRoot('../../dynpg/'); // DynPG-Pfad setzen ?> <!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>Beispiel: Template mit Bedingung</title> <meta http-equiv="content-type" content="text/html; charset=iso-8859-1" /> <link rel="stylesheet" type="text/css" href="style.css" /> <!--eigene style.css einbinden--> </head> <body> <h1>Beispiel: Template mit Bedingung</h1> <div id="navigation"> <?php $GLOBALS["DynPG"]->SetParam_A_Anytime(true); // dynamische Navigation immer anzeigen $GLOBALS["DynPG"]->SetParam_A_Article(1); // Artikelnummer der dynamischen Navigation $GLOBALS["DynPG"]->SetParam_A_ArticleHeader(false); // Artikelkopf (Titel, Lead-Bild und Lead-Text) ausblenden $GLOBALS["DynPG"]->SetParam_A_CategoryNavigation(false); // Kategorienavigation (Gruppe > Untergruppe > Artikel) ausblenden $GLOBALS["DynPG"]->SetParam_A_PrintNavigation(false); // Drucken-Link ausblenden $GLOBALS["DynPG"]->Write_Article(); // dynamische Navigation ausgeben ?> </div> <div id="inhalt"> <?php $GLOBALS["DynPG"]->setupTemplate('example_cond_statement'); // Beispiel-Template setzen $GLOBALS["DynPG"]->Write_AllGroups(); // Gruppenlisten-Ansicht ausgeben (standardmäßig abhängig vom Navigationskontext) $GLOBALS["DynPG"]->Write_AllArticles(); // Artikelliste-Ansicht ausgeben (standardmäßig abhängig vom Navigationskontext) $GLOBALS["DynPG"]->SetParam_A_Anytime(false); // Parameter wieder auf false setzen (wurde bei der Navigation auf true gesetzt) $GLOBALS["DynPG"]->Write_Article(); // Artikel-Detailansicht ausgeben ?> </div> </body> </html>
<DynPG Ordner>/tpl/MyCMS/example_cond_statement/detail.tpl:
<!-- Wenn Artikelname = "dynpg ist Open Source und Freeware!" dann Inhalt und zusätzlichen Text ausgeben --> {$# ('{$TITLE}'=='Willkommen auf der Beispielwebseite') #} Mein <b>Lieblingsartikel</b>! {$CONTENT} {$# End #} <!-- andernfalls nur den Inhalt ausgeben --> {$# ('{$TITLE}'!='Willkommen auf der Beispielwebseite') #} {$CONTENT} {$# End #}
style.css:
/* Navigation */ div#navigation{ /* Angaben für ein zweispaltiges Layout */ float:left; width:150pt; margin-left:5pt; margin-right:5pt; border:1px solid #AAA; } /* Inhalt */ div#inhalt { /* Angaben für ein zweispaltiges Layout */ margin-left:165pt; margin-right:5pt; } /* Alle divs innerhalb des Navigationsmenüs verschieben ihren Inhalt um 10 pt nach rechts. Durch die Verschaltelung von divs innerhalb des Menüs erhalten wir so eine Einrückung. */ div#course_categories_menu div { padding-left:10pt; } /* Alle links innerhalb des Navigationsmenüs */ div#course_categories_menu a { text-decoration:none; }
</toggledisplay>
Template mit PHP-Anweisung
Beschreibung:
Ein Beispiel für ein Template mit einer PHP Anweisung
Voraussetzungen:
-
Snippet:
index.php:
<?php $GLOBALS["DynPG"]->setupTemplate('example_php_expr'); // Beispiel-Template setzen $GLOBALS["DynPG"]->Write_AllGroups(); // Gruppenlisten-Ansicht ausgeben $GLOBALS["DynPG"]->Write_AllArticles(); // Artikelliste-Ansicht ausgeben $GLOBALS["DynPG"]->Write_Article(); // Artikel-Detailansicht ausgeben ?>
<DynPG Ordner>/tpl/MyCMS/example_php_expr/detail.tpl:
<!--Zeichenlänge des Titels anzeigen--> Die Länge des Titels beträgt {$#PHP (strlen("{$TITLE}")) #} Zeichen<br /><br /> {$CONTENT} <!--Inhalt ausgeben-->
<toggledisplay status="hide" showtext="▼ Quelltext anzeigen" hidetext="▼ Quelltext verbergen" linkstyle="font-size:normal;"> index.php:
<?php require '../../dynpg/getcontent.php'; // DynPG-Funktionalität einbinden $GLOBALS["DynPG"]->SetParam_PathToRoot('../../dynpg/'); // DynPG-Pfad setzen ?> <!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>Seite mit dynamischen Navigationsmenü</title> <meta http-equiv="content-type" content="text/html; charset=iso-8859-1" /> <link rel="stylesheet" type="text/css" href="style.css" /> <!--eigene style.css einbinden--> </head> <body> <h1>Beispiel: Template mit PHP-Anweisung</h1> <div id="navigation"> <?php $GLOBALS["DynPG"]->SetParam_A_Anytime(true); // dynamische Navigation immer anzeigen $GLOBALS["DynPG"]->SetParam_A_Article(1); // Artikelnummer der dynamischen Navigation $GLOBALS["DynPG"]->SetParam_A_ArticleHeader(false); // Artikelkopf (Titel, Lead-Bild und Lead-Text) ausblenden $GLOBALS["DynPG"]->SetParam_A_CategoryNavigation(false); // Kategorienavigation (Gruppe > Untergruppe > Artikel) ausblenden $GLOBALS["DynPG"]->SetParam_A_PrintNavigation(false); // Drucken-Link ausblenden $GLOBALS["DynPG"]->Write_Article(); // dynamische Navigation ausgeben ?> </div> <div id="inhalt"> <?php $GLOBALS["DynPG"]->setupTemplate('example_php_expr'); // Beispiel-Template setzen $GLOBALS["DynPG"]->Write_AllGroups(); // Gruppenlisten-Ansicht ausgeben (standardmäßig abhängig vom Navigationskontext) $GLOBALS["DynPG"]->Write_AllArticles(); // Artikelliste-Ansicht ausgeben (standardmäßig abhängig vom Navigationskontext) $GLOBALS["DynPG"]->SetParam_A_Anytime(false); // Parameter wieder auf false setzen (wurde bei der Navigation auf true gesetzt) $GLOBALS["DynPG"]->Write_Article(); // Artikel-Detailansicht ausgeben ?> </div> </body> </html>
<DynPG Ordner>/tpl/MyCMS/example_php_expr/detail.tpl:
<!--Zeichenlänge des Titels anzeigen--> Die Länge des Titels beträgt {$#PHP (strlen("{$TITLE}")) #} Zeichen<br /><br /> {$CONTENT} <!--Inhalt ausgeben-->
style.css:
/* Navigation */ div#navigation{ /* Angaben für ein zweispaltiges Layout */ float:left; width:150pt; margin-left:5pt; margin-right:5pt; border:1px solid #AAA; } /* Inhalt */ div#inhalt { /* Angaben für ein zweispaltiges Layout */ margin-left:165pt; margin-right:5pt; } /* Alle divs innerhalb des Navigationsmenüs verschieben ihren Inhalt um 10 pt nach rechts. Durch die Verschaltelung von divs innerhalb des Menüs erhalten wir so eine Einrückung. */ div#course_categories_menu div { padding-left:10pt; } /* Alle links innerhalb des Navigationsmenüs */ div#course_categories_menu a { text-decoration:none; }
</toggledisplay>