IDLink (Objekt): Unterschied zwischen den Versionen

Aus SiteparkWiki
Zur Navigation springen Zur Suche springen
Zeile 24: Zeile 24:
 
* <code>referrerLinks()</code>-Methode der Objekte [[Article]], [[Resource]], [[Media]]
 
* <code>referrerLinks()</code>-Methode der Objekte [[Article]], [[Resource]], [[Media]]
 
<div class="note">'''''Beispiel:'''
 
<div class="note">'''''Beispiel:'''
 +
Es existieren Einrichtungen, die über einen Link ein oder mehreren Kategorien zugeordnet sind.
 +
Nun sollen auf einer Seite "Kategorie" alle mit dieser Kategorie verknüpften Einrichtungen gelistet werden.
 
<code>
 
<code>
 
  &lt;%-- Alle Einrichtungen listen, welche diese Kategorie verwenden --%&gt;   
 
  &lt;%-- Alle Einrichtungen listen, welche diese Kategorie verwenden --%&gt;   

Version vom 11. September 2012, 16:13 Uhr

Name

IDLink - Verknüpfung zwischen zwei Elementen

Beschreibung

Der IDLink beschreibt die Verknüpfung zweier Elemente. Elemente können über Links, Systemlinks und Navlinks miteinander verbunden werden. Diese Links werden über Artikelfelder definiert. Mit diesem Objekt können Informationen über die Verknüpfung erfragt werden. Beispielsweise über welches Feld, in welchem Iterator-Element die Verknüpfung definiert ist.

Beispiel: Artikel (A) besitzt einen Link auf Artikel (B)

(A) ----(sp_myiterator[2].sp_mylink.link)----> (B)

Ein IDLink-Objekt für diese Verknüpfung würde folgende Informationen bereitstellen:

(A) <--(parent)-- (IDLink) --(child)--> (B)
(IDLink).type  = link
(IDLink).field = sp_myiterator[2].sp_mylink
(IDLink).item  = SimpleInformation von (A):sp_myiterator[2].sp_mylink
(IDLink).name  = sp_mylink.link
Tip: Um auf das Iterator-Item zuzugreifen indem der Link gesetzt ist, kann (IDLink).item.parent verwendet werden. (Liefert in diesem Fall das ListItemInformation-Objekt (A):sp_myiterator[2])

Über folgende Objekte ein ein IDLink Objekt erlangt werden:

Beispiel:

Es existieren Einrichtungen, die über einen Link ein oder mehreren Kategorien zugeordnet sind. Nun sollen auf einer Seite "Kategorie" alle mit dieser Kategorie verknüpften Einrichtungen gelistet werden.

<%-- Alle Einrichtungen listen, welche diese Kategorie verwenden --%>   
<ul>
<sp:loop collection="!{informationpool.einrichtungen}.sortedElements" item="e">   
 
  <sp:condition>
    <sp:if name="parent.anchor" eq="informationpool.themen"> 
      <sp:loop collection="e.themenliste" item="it">
        <sp:if name="it.sp_link.link.name" eq="${name}">
          <li><a href="<sp:print name="e.relativeUrl" />"><sp:print name="e.name" /></a></li>
          <sp:break />
        </sp:if>
      </sp:loop>
    </sp:if>
    <sp:elseif name="parent.anchor" eq="informationpool.zielgruppen">
      <sp:loop collection="e.zielgruppen" item="it">
        <sp:if name="it.sp_link.link.name" eq="${name}">
          <li><a href="<sp:print name="e.relativeUrl" />"><sp:print name="e.name" /></a></li>
          <sp:break />
        </sp:if>
      </sp:loop>
    </sp:elseif>
    <sp:elseif name="parent.anchor" eq="informationpool.therapieformen">
      <sp:loop collection="e.therapieformen" item="it">
        <sp:if name="it.sp_link.link.name" eq="${name}">
          <li><a href="<sp:print name="e.relativeUrl" />"><sp:print name="e.name" /></a></li>
          <sp:break />
        </sp:if>
      </sp:loop>
    </sp:elseif>
  </sp:condition>   
 
</sp:loop>    
</ul>

ersetzen durch

<%-- Alle Einrichtungen listen, welche diese Kategorie verwenden --%>   
<sp:sort name="sortedList" collection="referrerLinks('sp_link.link')" keys="parent.name"/><sp:if name="sortedList.size" gt="0">
 <ul>
  <sp:loop collection="sortedList" item="it">
    <li><a href="<sp:print name="it.parent.url"/>"><sp:print name="it.parent.name"/></a></li>
  </sp:loop>
</ul></sp:if>

Attribute

Attribut Type Beschreibung ab IES Version
parent ID ID des Elementes, das als übergeordnet gilt, wenn die Verknüpfung einen Teil einer Baumstruktur abbildet. 1
child ID ID des Elementes, das als untergeordnet gilt, wenn die Verknüpfung einen Teil einer Baumstruktur abbildet. 1
type String Linktyp (z.B. link, systemlink, ...) 1
field String Variablenname über den der Link erzeugt wurde 1
locale Locale Verwendete Sprache 1
item SimpleInformation Item über die der Link erzeugt wurde. 2.1.0
name String Name des Links 2.1.0