Codebeispiele - Templates
Inhaltsverzeichnis
Minimalbeispiel
Beschreibung:
Ein Beispiel für ein minimales Template
Voraussetzungen:
-
Snippet:
index.php:
[php,N]
<?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,N]
<?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" />
</head>
<body>
Minimalbeispiel: Template
<?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 ?>
</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:
[css,N]
/* 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,N]
<?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,N]
<?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" />
</head>
<body>
Beispiel: Template mit Bedingung
<?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 ?>
</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:
[css,N]
/* 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,N]
<?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,N]
<?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" />
</head>
<body>
Beispiel: Template mit PHP-Anweisung
<?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 ?>
</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:
[css,N]
/* 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>