Codebeispiele - Templates

Aus DynPG-Wiki
(Weitergeleitet von Codebeispiel - Templates)
Wechseln zu: Navigation, Suche

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 -->

Beispiel ausführen

<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 #}

Beispiel ausführen

<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-->

Beispiel ausführen

<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>