Assoziationen: Unterschied zwischen den Versionen

Aus DynPG-Wiki
Wechseln zu: Navigation, Suche
K
K (Ein Beispiel)
Zeile 46: Zeile 46:
  
 
=== Ein Beispiel ===
 
=== Ein Beispiel ===
Wir wollen für jede Gruppe einer Liste aller in ihr enthaltenen Artikel anzeigen und außerdem jeweils ein anderes Bild in der Übersicht einblenden. Dazu erstellen wir für jede Gruppe eine Assoziation mit dem Namen "Bild" und assoziieren jeweils einen anderen Artikel, der nur das entsprechende Bild enthält. Wir können nun neben neben der [[Die drei Ansichten von DynPG#Weiterführung des Beispiels|Artikelliste]] für alle Bereiche ein und dasselbe Snippet zur Anzeige des assoziierten Inhalts verwenden (wobei wir als Assoziationsname "Bild" übergeben), um das entsprechende Bild anzuzeigen. Sobald im [[Dynamische Navigation|dynamischen Menü]] zu einer Gruppe navigiert wurde, wird immer nur der jeweils für die Gruppe assoziierte Inhalt durch dieses Snippet angezeigt. Ohne Assoziationen müssten wir hier immer unterschiedlichen Code erstellen, welcher das jeweilige Bild anzeigt.
+
Wir wollen für jede Gruppe einer Liste aller in ihr enthaltenen Artikel anzeigen und außerdem jeweils ein anderes Bild in der Übersicht einblenden. Dazu erstellen wir für jede Gruppe eine Assoziation mit dem Namen "Bild" und assoziieren jeweils einen anderen Artikel, der nur das entsprechende Bild enthält. Wir können nun neben der [[Die drei Ansichten von DynPG#Weiterführung des Beispiels|Artikelliste]] für alle Bereiche ein und dasselbe Snippet zur Anzeige des assoziierten Inhalts verwenden (wobei wir als Assoziationsname "Bild" übergeben), um das entsprechende Bild anzuzeigen. Sobald im [[Dynamische Navigation|dynamischen Menü]] zu einer Gruppe navigiert wurde, wird immer nur der jeweils für die Gruppe assoziierte Inhalt durch dieses Snippet angezeigt. Ohne Assoziationen müssten wir hier immer unterschiedlichen Code erstellen, welcher das jeweilige Bild anzeigt.

Version vom 30. März 2010, 09:33 Uhr

Assoziationen in DynPG sind ein weiteres wichtiges Werkzeug um Seiten dynamisch zu gestalten. Mit ihre Verwendung können Inhalte einfach im Backend geändert werden, ohne den Code der Webseite ändern zu müssen. Durch einfaches Assoziieren der Inhalte lassen diese sich jederzeit ohne großen Aufwand ändern.

Was sind Assoziationen?

Was genau sind nun also Assoziationen? Prinzipiell besteht eine Assoziation aus einem eindeutigen Namen und zwei weiteren Bestandteilen:

  1. einer Menge von Artikeln, die ihr zugeordnet sind und
  2. einem Platzhalter im Frontend, der den assoziierten Inhalt anzeigt.

Gruppen und Artikel können Assoziationen besitzen. Die grundlegende Idee dabei ist, das abhängig von der aktuellen Gruppe bzw. dem aktuell angezeigten Artikel immer der jeweils assoziierte Inhalt angezeigt wird. Wir werden dies später noch an einem Beispiel verdeutlichen.

Erstellen einer Assoziation

Assoziationen werden grundsätzlich im Backend erstellt. In der Artikel- oder Gruppenübersicht finden Sie für jede Gruppe bzw. jeden Artikel jeweils einen Link um sich die bisher erstellten Assoziationen anzusehen und um neue Assoziationen zu erstellen.


Associations.png


Möchten Sie nun eine Assoziation erstellen, dann klicken Sie einfach auf den entsprechenden Link. Daraufhin wird das folgende Fenster angezeigt:


Associations create.png


Hier können Sie den assoziierten Artikel auswählen und den Namen der Assoziation festlegen. Sie können sich dabei entscheiden, ob Sie entweder eine neue Assoziation anlegen oder eine bereits existierende verwenden möchten.

Platzhalter im Frontend einfügen

Um den assoziierten Inhalt nun in einer Webseite anzuzeigen verwenden wir ein Snippet. Dadurch werden dann schließlich alle Artikel angezeigt, die der Assoziation mit dem festgelegten Namen zugeordnet sind. Es gestaltet sich wie folgt:


<?php
    $DynPG->setupTemplate('associations_single');
    $DynPG->SetParam_AA_Associations(Array(<Name der Assoziation>));
    $DynPG->SetParam_AA_fullLoadText(TRUE);
    $DynPG->SetParam_AA_CategoryNavigation(FALSE);
    $DynPG->Write_AllArticles();
    $DynPG->setupTemplate('default');
?>


In der ersten Zeile wird das Template für Assoziationen geladen. In Zeile 2 wird der Name der Assoziation, so wie sie im Backend erstellt wurde, als String-Parameter übergeben. Danach wird festgelegt, dass der gesamte Artikeltext angezeigt und die Bereichsnavigation ausgeschaltet werden soll.

Verwendung von Assoziationen

Das obige Snippet zeigt alle Artikel, die zu einer bestimmten Assoziation gehören, an. Es ermöglicht uns nun also, unterschiedlichen Gruppen ein und dieselbe Assoziation zuzuweisen und jeweils unterschiedliche Inhalte anzeigen zu lassen. Dabei können wir einer bestimmten Assoziation für eine Gruppe auch mehrere Artikel zuweisen, wobei dann alle diese Artikel angezeigt werden.

Ein Beispiel

Wir wollen für jede Gruppe einer Liste aller in ihr enthaltenen Artikel anzeigen und außerdem jeweils ein anderes Bild in der Übersicht einblenden. Dazu erstellen wir für jede Gruppe eine Assoziation mit dem Namen "Bild" und assoziieren jeweils einen anderen Artikel, der nur das entsprechende Bild enthält. Wir können nun neben der Artikelliste für alle Bereiche ein und dasselbe Snippet zur Anzeige des assoziierten Inhalts verwenden (wobei wir als Assoziationsname "Bild" übergeben), um das entsprechende Bild anzuzeigen. Sobald im dynamischen Menü zu einer Gruppe navigiert wurde, wird immer nur der jeweils für die Gruppe assoziierte Inhalt durch dieses Snippet angezeigt. Ohne Assoziationen müssten wir hier immer unterschiedlichen Code erstellen, welcher das jeweilige Bild anzeigt.