Codebeispiel - Home-Ansicht

Aus DynPG-Wiki
Wechseln zu: Navigation, Suche

Beschreibung:

Eine Home-Ansicht einbinden

Voraussetzungen:

  • eine Gruppe mit Artikeln, bei denen die Option "Ja, Artikel auf die Startseite (Home)" in den Artikeleinstellungen aktiviert ist

Snippet:

<?php
  $GLOBALS["DynPG"]->SetParam_H_Anytime(true);          // Home-Bereich immer anzeigen
  $GLOBALS["DynPG"]->SetParam_H_ArticleHeader(true);    // Artikelkopf (Vorschau) anzeigen
  $GLOBALS["DynPG"]->SetParam_H_ShowText(false);        // Inhaltstext nicht anzeigen
  $GLOBALS["DynPG"]->SetParam_H_Group("<Gruppenname>"); // anzuzeigende Gruppe bestimmen
  $GLOBALS["DynPG"]->SetParam_H_ForwardText(true);      // "Mehr"-Links anzeigen
  $GLOBALS["DynPG"]->Write_Home();                      // Home-Ansicht ausgeben
?>

Beispiel ausführen

<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 Home-Ansicht</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>Seite mit Home-Ansicht</h1>
 
  <!-- Navigation -->
  <div id="navigation">
    <?php
    $GLOBALS["DynPG"]->SetupTemplate('uneditable');          // diese Template verhindert, dass der Artikel selbst im Frontend-Editiermodus bearbeitet werden kann
    $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
    $GLOBALS["DynPG"]->SetupTemplate('default');             // Standard-Template setzen
    ?>
  </div>
 
  <!-- Home-Ansicht -->
  <div id="home">
    <h3>Home-Ansicht</h3>
    <?php
    $GLOBALS["DynPG"]->SetParam_H_Anytime(true);       // Home-Bereich immer anzeigen
    $GLOBALS["DynPG"]->SetParam_H_ArticleHeader(true); // Artikelkopf (Vorschau) anzeigen
    $GLOBALS["DynPG"]->SetParam_H_ShowText(false);     // Inhaltstext nicht anzeigen
    $GLOBALS["DynPG"]->SetParam_H_Group("News");       // anzuzeigende Gruppe bestimmen
    $GLOBALS["DynPG"]->SetParam_H_ForwardText(true);   // "Mehr"-Links anzeigen
    $GLOBALS["DynPG"]->Write_Home();                   // Home-Ansicht ausgeben
    ?>
  </div>
 
  <!-- Inhalt -->
  <div id="inhalt">
    <?php
    $GLOBALS["DynPG"]->Write_AllGroups();         // Gruppenlisten-Ansicht ausgeben (standardmäßig abhängig vom Navigationskontext)
    $GLOBALS["DynPG"]->Write_AllArticles();       // Artikdelliste-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>

style.css:

/* Navigation */
div#navigation{
  float:left;
  width:150pt;
  margin-left:5pt;
  margin-right:5pt;
 
  border:1px solid #AAA;
}
 
/* Home-Ansicht */
div#home {
  float:right;
  width:150pt;
  padding:5pt;
 
  border-left: 1px solid #AAA;
}
 
/* Gruppenname der Home-Gruppe */
div.dynpg_H_parentgroup {
	display:none; /*Kommentarzeichen hinzufügen, um den Gruppennamen der Home-Gruppe über jedem Artikel anzuzeigen*/
}
 
/* Inhalt */
div#inhalt {
  /* Angaben für ein zweispaltiges Layout */
  margin-left:165pt;
  margin-right:165pt;
}
 
/* 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>