Assoziationen: Unterschied zwischen den Versionen

Aus DynPG-Wiki
Wechseln zu: Navigation, Suche
 
(Assoziationen einrichten: Infobox-Templates eingefügt)
 
(10 dazwischenliegende Versionen von 2 Benutzern werden nicht angezeigt)
Zeile 1: Zeile 1:
 
[[Category:Integration in eine Webseite]]
 
[[Category:Integration in eine Webseite]]
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.
+
Assoziationen in DynPG sind ein weiteres wichtiges Werkzeug um Seiten dynamisch zu gestalten. Mit ihrer Verwendung können Sie einen Bereich in Ihrer Webseite festlegen, in dem dynamische Inhalte angezeigt werden. Welcher Inhalt angezeigt wird, hängt von dem im Navigatonsmenü angewählten Menüpunkt ab. Durch einfaches Assoziieren der Inhalte im Backend lassen sich diese jederzeit ohne großen Aufwand ändern.
 
+
  
 
== Was sind Assoziationen? ==
 
== Was sind Assoziationen? ==
Was genau sind nun also Assoziationen? Prinzipiell besteht eine Assoziation aus einem eindeutigen Namen und zwei weiteren Bestandteilen:
+
Grundsätzlich sollen mithilfe von Assoziationen bestimmte Artikel in einem festgelegten Bereich der Webseite angezeigt werden. Welcher Inhalt gerade angezeigt wird, hängt von der im Navigationsmenü ausgewählten Gruppe bzw. dem ausgewählten Artikel ab. Der ''assoziierte Inhalt'' ist immer ein Artikel. Dieser wird im Backend mit der entsprechenden im Navigationsmenü erscheinenden Gruppe bzw. dem im Navigationsmenü erscheinenden Artikel assoziiert.
# einer Menge von Artikeln, die ihr zugeordnet sind und
+
# 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.
+
Stellen wir uns zur Veranschaulichung den Bereich der Webseite, in welcher der assoziierte Inhalt angezeigt werden soll, als eine Box vor. Je nachdem welchen Menüpunkt wir nun anklicken, soll in dieser Box ein anderer Artikel angezeigt werden. Welcher das ist, können Sie bequem im Backend festlegen, da Sie einfach den Artikel mit der jeweiligen Gruppe assoziieren können. Wir werden uns dies an einem Beispiel anschauen.
  
== Erstellen einer Assoziation ==
+
== Veranschaulichung ==
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.
+
Schauen wir uns die folgende Webseite an:
  
 +
[[Image:Assoziation Webseite.png|center]]
  
[[Image:associations.png]]
+
Wir sehen hier eine einfache Webseite mit einem Inhaltstext und einer roten Box, die unseren Assoziationsbereich darstellt. Im Navigationsmenü ist der Punkt "Support" ausgewählt und als assoziierter Inhalt wird beispielhaft der Text "Assoziation 2 Inhaltstext" angezeigt. Das bedeutet, es existiert ein Artikel der diesen Text als Inhalt besitzt und mit der Gruppe "Support" assoziiert ist. Wir könnten nun z.B. mit der Gruppe "Kontakt" einen anderen Artikel assoziieren, der einen anderen Text oder z.B. ein Bild in der Box anzeigt.
  
 +
Es soll hier deutlich werden, dass es zur Darstellung von assoziierten Artikeln einen speziellen Bereich in der Webseite geben muss, der den Inhalt darstellt. Welcher Inhalt in diesem Bereich angezeigt wird, hängt von der ausgewählten Gruppe und dem mit ihr assoziierten Inhalt ab.
  
Möchten Sie nun eine Assoziation erstellen, dann klicken Sie einfach auf den entsprechenden Link. Daraufhin wird das folgende Fenster angezeigt:
+
== Das Konzept von Assoziationen ==
 +
Eine Assoziation besteht im Wesentlichen aus drei Bestandteilen:
 +
# einem eindeutigen Namen, der die Assoziation identifiziert,
 +
# einem Bereich in der Webseite, der den assoziierten Inhalt darstellt,
 +
# einer Menge von Artikeln, wobei jeder Gruppe einer dieser Artikel zugeordnet sind.
  
 +
Um den assoziierten Inhalt im Frontend, d.h. in der Webseite anzuzeigen, werden wir ein spezielles Snippet verwenden das uns diesen Bereich erstellt. In diesem Snippet müssen wir den Namen der Assoziation angeben, die angezeigt werden soll. Danach müssen wir im Backend jeder Gruppe einen Artikel zuweisen, der für diese Assoziation angezeigt werden soll.
  
[[Image:associations_create.png]]
+
=== Beispiel ===
 +
Das Prinzip lässt sich wie folgt veranschaulichen. Im unteren Bild sehen Sie eine konzeptuelle Darstellung einer Assoziation mit dem Namen '''Assoziation 1'''. Es existieren drei Gruppen ''Gruppe 1'', ''Gruppe 2'', ''Gruppe 3'', die jeweils mit dem Artikel '''Artikel 1''', '''Artikel 2''' bzw. '''Artikel 3''' assoziiert sind. Je nachdem welche Gruppe nun im Navigationsmenü ausgewählt ist (symbolisiert durch einen hellblauen Rahmen), wird im '''Assoziationsbereich''' der entsprechende assoziierte Artikel angezeigt.
  
 +
[[Image:Assoziation Konzept.png|center]]
  
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.
+
== Assoziationen einrichten ==
 
+
== 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:
+
  
 +
=== Platzhalter im Frontend einfügen ===
 +
==== Snippet einfügen ====
 +
Um den assoziierten Inhalt einer Gruppe in einer Webseite anzuzeigen, verwenden wir das folgende Snippet. Dadurch werden alle Artikel angezeigt, die der Assoziation mit dem festgelegten Namen und der aktuell ausgewählten Gruppe zugeordnet sind. Es gestaltet sich wie folgt:
  
 +
'''Snippet zur Darstellung von Assoziationsinhalten:'''
 
<code>[php,n]
 
<code>[php,n]
 +
<div class="association">
 
<?php
 
<?php
    $DynPG->setupTemplate('associations_single');
+
  $DynPG->setupTemplate('associations');
    $DynPG->SetParam_AA_Associations(Array(<Name der Assoziation>));
+
  $DynPG->SetParam_AA_Associations(Array("Assoziation"));
    $DynPG->SetParam_AA_fullLoadText(TRUE);
+
  $DynPG->SetParam_AA_fullLoadText(true);
    $DynPG->SetParam_AA_CategoryNavigation(FALSE);
+
  $DynPG->Write_AllArticles();
    $DynPG->Write_AllArticles();
+
  $DynPG->setupTemplate('default');
    $DynPG->setupTemplate('default');
+
 
?>
 
?>
 +
</div>
 
</code>
 
</code>
  
 +
{{Note
 +
|beachten Sie, dass der assoziierte Inhalt hier von einem <tt>div</tt>-Element umschlossen wird. Dies ist zum einen sinnvoll um den Inhalt mittels CSS zu positionieren und dient andereseits dazu um im folgenden noch einige notwendige CSS-Anpassungen vorzunehmen.}}
 +
 +
* '''Zeile 1''': hier wird das Template zur Darstellung von Assoziationen geladen.
 +
* '''Zeile 2''': hier wird der Name der Assoziation, so wie sie im Backend erstellt wurde, als String-Parameter übergeben.
 +
* '''Zeile 3''': legt fest, dass der gesamte Artikeltext angezeigt werden soll.
 +
* '''Zeile 4''': dadurch wird der assoziierte Inhalt ausgegeben.
 +
* '''Zeile 5''': setzt das Template zurück auf das Standard-Template.
 +
 +
{{Caution
 +
|In den meisten Fällen möchte man nur den Inhaltstext des assoziierten Artikels anzeigen. Es müssen daher noch der Artikelkopf und einige andere Dinge ausbgeblendet werden, wie im nächsten Abschnitt zu den CSS-Anpassungen beschrieben wird.}}
 +
 +
==== CSS-Anpassungen ====
 +
Da bei der Darstellung von assoziierten Inhalten meist nur der Inhalt des assoziierten Artikels angezeigt werden soll, kann mittels der folgenden CSS-Definitionen der Artikelkopf, die Anzeige des Gruppennamens und der "Mehr"-Link ausgeblendet werden.
 +
 +
<code>[css,n]
 +
div.association div.dynpg_A_more , div.association div.dynpg_A_header , div.association div.dynpg_A_parentgroup {
 +
  display:none;
 +
}
 +
</code>
 +
 +
{{Note
 +
|der hier angegebene Klassenname für das <tt>div</tt>-Element, das den assoziierten Inhalt umschließt (hier: <tt>div.association</tt>), muss mit dem im obigen Snippet angegebenen Klassennamen übereinstimmen.}}
 +
 +
=== Gruppen mit Inhalten assoziieren ===
 +
→ Hauptartikel: [[Assoziationen im Backend erstellen]]
 +
 +
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.
 +
 +
 +
[[Image:associations.png]]
 +
 +
 +
Möchten Sie eine Assoziation erstellen, dann klicken Sie auf den entsprechenden Link zur [[Image:associations.gif]] Erstellung von Assoziationen. Daraufhin wird das folgende Fenster angezeigt:
 +
 +
 +
[[Image:associations_create.png]]
  
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 ==
+
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 Assoziation verwenden möchten.
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 ===
+
== Weitere Informationen ==
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 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 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.
+
* [[Tutorial - Assoziationen]]

Aktuelle Version vom 26. September 2011, 16:39 Uhr

Assoziationen in DynPG sind ein weiteres wichtiges Werkzeug um Seiten dynamisch zu gestalten. Mit ihrer Verwendung können Sie einen Bereich in Ihrer Webseite festlegen, in dem dynamische Inhalte angezeigt werden. Welcher Inhalt angezeigt wird, hängt von dem im Navigatonsmenü angewählten Menüpunkt ab. Durch einfaches Assoziieren der Inhalte im Backend lassen sich diese jederzeit ohne großen Aufwand ändern.

Was sind Assoziationen?

Grundsätzlich sollen mithilfe von Assoziationen bestimmte Artikel in einem festgelegten Bereich der Webseite angezeigt werden. Welcher Inhalt gerade angezeigt wird, hängt von der im Navigationsmenü ausgewählten Gruppe bzw. dem ausgewählten Artikel ab. Der assoziierte Inhalt ist immer ein Artikel. Dieser wird im Backend mit der entsprechenden im Navigationsmenü erscheinenden Gruppe bzw. dem im Navigationsmenü erscheinenden Artikel assoziiert.

Stellen wir uns zur Veranschaulichung den Bereich der Webseite, in welcher der assoziierte Inhalt angezeigt werden soll, als eine Box vor. Je nachdem welchen Menüpunkt wir nun anklicken, soll in dieser Box ein anderer Artikel angezeigt werden. Welcher das ist, können Sie bequem im Backend festlegen, da Sie einfach den Artikel mit der jeweiligen Gruppe assoziieren können. Wir werden uns dies an einem Beispiel anschauen.

Veranschaulichung

Schauen wir uns die folgende Webseite an:

Assoziation Webseite.png

Wir sehen hier eine einfache Webseite mit einem Inhaltstext und einer roten Box, die unseren Assoziationsbereich darstellt. Im Navigationsmenü ist der Punkt "Support" ausgewählt und als assoziierter Inhalt wird beispielhaft der Text "Assoziation 2 Inhaltstext" angezeigt. Das bedeutet, es existiert ein Artikel der diesen Text als Inhalt besitzt und mit der Gruppe "Support" assoziiert ist. Wir könnten nun z.B. mit der Gruppe "Kontakt" einen anderen Artikel assoziieren, der einen anderen Text oder z.B. ein Bild in der Box anzeigt.

Es soll hier deutlich werden, dass es zur Darstellung von assoziierten Artikeln einen speziellen Bereich in der Webseite geben muss, der den Inhalt darstellt. Welcher Inhalt in diesem Bereich angezeigt wird, hängt von der ausgewählten Gruppe und dem mit ihr assoziierten Inhalt ab.

Das Konzept von Assoziationen

Eine Assoziation besteht im Wesentlichen aus drei Bestandteilen:

  1. einem eindeutigen Namen, der die Assoziation identifiziert,
  2. einem Bereich in der Webseite, der den assoziierten Inhalt darstellt,
  3. einer Menge von Artikeln, wobei jeder Gruppe einer dieser Artikel zugeordnet sind.

Um den assoziierten Inhalt im Frontend, d.h. in der Webseite anzuzeigen, werden wir ein spezielles Snippet verwenden das uns diesen Bereich erstellt. In diesem Snippet müssen wir den Namen der Assoziation angeben, die angezeigt werden soll. Danach müssen wir im Backend jeder Gruppe einen Artikel zuweisen, der für diese Assoziation angezeigt werden soll.

Beispiel

Das Prinzip lässt sich wie folgt veranschaulichen. Im unteren Bild sehen Sie eine konzeptuelle Darstellung einer Assoziation mit dem Namen Assoziation 1. Es existieren drei Gruppen Gruppe 1, Gruppe 2, Gruppe 3, die jeweils mit dem Artikel Artikel 1, Artikel 2 bzw. Artikel 3 assoziiert sind. Je nachdem welche Gruppe nun im Navigationsmenü ausgewählt ist (symbolisiert durch einen hellblauen Rahmen), wird im Assoziationsbereich der entsprechende assoziierte Artikel angezeigt.

Assoziation Konzept.png

Assoziationen einrichten

Platzhalter im Frontend einfügen

Snippet einfügen

Um den assoziierten Inhalt einer Gruppe in einer Webseite anzuzeigen, verwenden wir das folgende Snippet. Dadurch werden alle Artikel angezeigt, die der Assoziation mit dem festgelegten Namen und der aktuell ausgewählten Gruppe zugeordnet sind. Es gestaltet sich wie folgt:

Snippet zur Darstellung von Assoziationsinhalten:

<div class="association">
<?php
  $DynPG->setupTemplate('associations');
  $DynPG->SetParam_AA_Associations(Array("Assoziation"));
  $DynPG->SetParam_AA_fullLoadText(true);
  $DynPG->Write_AllArticles();
  $DynPG->setupTemplate('default');
?>
</div>
Note.png Bemerkung: beachten Sie, dass der assoziierte Inhalt hier von einem div-Element umschlossen wird. Dies ist zum einen sinnvoll um den Inhalt mittels CSS zu positionieren und dient andereseits dazu um im folgenden noch einige notwendige CSS-Anpassungen vorzunehmen.
  • Zeile 1: hier wird das Template zur Darstellung von Assoziationen geladen.
  • Zeile 2: hier wird der Name der Assoziation, so wie sie im Backend erstellt wurde, als String-Parameter übergeben.
  • Zeile 3: legt fest, dass der gesamte Artikeltext angezeigt werden soll.
  • Zeile 4: dadurch wird der assoziierte Inhalt ausgegeben.
  • Zeile 5: setzt das Template zurück auf das Standard-Template.
Caution.png Achtung: In den meisten Fällen möchte man nur den Inhaltstext des assoziierten Artikels anzeigen. Es müssen daher noch der Artikelkopf und einige andere Dinge ausbgeblendet werden, wie im nächsten Abschnitt zu den CSS-Anpassungen beschrieben wird.

CSS-Anpassungen

Da bei der Darstellung von assoziierten Inhalten meist nur der Inhalt des assoziierten Artikels angezeigt werden soll, kann mittels der folgenden CSS-Definitionen der Artikelkopf, die Anzeige des Gruppennamens und der "Mehr"-Link ausgeblendet werden.

div.association div.dynpg_A_more , div.association div.dynpg_A_header , div.association div.dynpg_A_parentgroup {
  display:none;
}
Note.png Bemerkung: der hier angegebene Klassenname für das div-Element, das den assoziierten Inhalt umschließt (hier: div.association), muss mit dem im obigen Snippet angegebenen Klassennamen übereinstimmen.

Gruppen mit Inhalten assoziieren

→ Hauptartikel: Assoziationen im Backend erstellen

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 eine Assoziation erstellen, dann klicken Sie auf den entsprechenden Link zur Associations.gif Erstellung von Assoziationen. 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 Assoziation verwenden möchten.

Weitere Informationen