Das sd:result-steps- Element

Container für das Erstellen von Links, mit welchen durch die Ergebnisseiten des in sd:for angegebenen sd:rs -Elements geblättert werden kann. Einerseits können mit den sd:begin -, sd:end -, sd:previous - und sd:next -Elementen Links zum Beginn und Ende bzw. zur vorherigen bzw. folgenden Ergebnisseite erzeugt werden. Andererseits läßt sich mit dem sd:page-list -Element eine Liste der derzeit sichtbaren Ergebnisseiten erzeugen: Hat die dem sd:rs -Element zugeordnete Abfrage insgesamt 100 Ergebnisse gefunden, liefert sie aktuell die Positionen 11-20 zurück und ist das sd:result-steps-count -Attribut mit dem Wert 5 belegt, so stellt das sd:page-list -Element Links zu fünf Suchseiten bereit: Für die Ergebnisse 1 sowie 3-5 wird das sd:other -, für das Ergebnis 2 wird das sd:current -Element aufgerufen.

Beachten Sie, daß es möglich ist, dieses Element mehrfach mit Bezug auf ein sd:rs -Element einzufügen. Das sd:rs -Element wird natürlich nur einmal ausgeführt und verwendet entweder seine eigenen Startwerte oder die Werte, die sich durch Url-Überschreibung aus dem letzten Aufruf ergeben. Jedes sd:result-steps -Element kann jedoch seine eigene 'Breite' mittels sd:result-steps-count sowie seinen eigenen Stil mittels sd:page-number-style festlegen. Es ist bsp. möglich, eine Leiste mit drei Links oberhalb des Suchergebnisses, eine zweite Leiste mit 10 Links unterhalb des Suchergebnisses auszugeben.

Die Nummer des ersten Datensatzes des zugeordneten sd:rs -Elements wird mit dem sd:row-number -Element ausgegeben. Die Anzahl aller gefundenen Datensätze teilt das sd:rows-count -Element mit.

Typ
Äußere Elemente
Attribute
sd:for *
Der Wert dieses Attributes muß gleich dem Namen eines sd:rs -Elements sein, durch dessen Ausgabe geblättert werden soll.
sd:result-steps-count
Gültige Werte sind Zahlen zwischen 1 und 40. Der Wert legt fest, wieviele Links (sd:current + sd:other ) in sd:page-list ausgegeben werden. Sinnvoll sind in der Regel Werte zwischen 3 und 10, alle anderen Ausgaben neigen zur Unübersichtlichkeit.
sd:page-number-style
Bestimmt, wie die Ausgaben der sd:current - und sd:other -Elemente umgerechnet werden. Ein Ausgabelink entspricht einer Menge von Zeilen in der Datenbank mit Positionen (1-10, 11-20, 21-30). Drei Optionen sind zulässig:
  absolute		(1-10, 11-20, 21-30)
  absolute-start	(1, 11, 21)
  relative		(1, 2, 3)
'absolute' wird als Standardwert verwendet.
sd:min-rows
Ist dieser Wert gesetzt, dann wird das sd:result-steps -Element nur ausgegeben, falls das zugeordnete sd:rs -Element mindestens die hier festgelegte Zahl von Zeilen enthält.
Dies ist bsp. nützlich, falls Listen zum Blättern nur möglichst selten ausgegeben werden. In diesem Fall genügt es, diesen Wert bsp. auf '50' zu setzen.
sd:name
Legt den Namen des Objektes fest. Dieses Attribut ist immer ein Pflicht-Attribut.
sd:remove-object
Kann auf true gesetzt werden. Falls gesetzt, wird in der Url der Objektname, auf den sich diese Blätterliste bezieht, nicht mit ausgegeben. Das ist nütlich, wenn man bei einem Folder Blätterlinks der reduzierten Form /range/1-20 nutzen möchte. Die Standardausgabe wäre etwas wie oB/range/1-20.
Innere Elemente
Beispiele
Der folgende Code stellt die Standard-Schaltflächen zur Verfügung. Hier sind die Links zur Positionierung in eine Blindtabelle eingebettet, deren Struktur mit "border='1'" sichtbar gemacht werden kann.
<sd:result-steps sd:for='sample-output'
  sd:page-number-style='relative' sd:name='result-steps'>
  <table cellpadding='2' cellspacing='1'
  	border='1'>
    <tr>
      <sd:begin>
        <td>
          <sd:result-link>|&lt;</sd:result-link>
        </td>
      </sd:begin>
      <sd:previous>
        <td>
          <sd:result-link>&lt;</sd:result-link>
        </td>
      </sd:previous>
      <sd:next>
        <td>
          <sd:result-link>&gt;</sd:result-link>
        </td>
      </sd:next>
    <sd:end>
      <td>
        <sd:result-link>&gt;|</sd:result-link>
        </td>
      </sd:end>
    <td> <sd:row-number/> / <rows-count/></td>
    <td style='width:200px;' />
    <sd:page-list>
      <sd:current>
        <td
          style='width:20px;background-color:red;'>
          <sd:result-link>
            <sd:page-number />
          </sd:result-link>
        </td>
      </sd:current>
      <sd:other>
        <td
          style='width:20px;background-color:#efefef;'>
          <sd:result-link>
            <sd:page-number />
          </sd:result-link>
        </td>
      </sd:other>
    </sd:page-list>
    </tr>
  </table>
</sd:result-steps>
Das Ergebnis, falls die zugrundeliegende Tabelle oder Abfrage 80 Zeilen zurückliefert:

|<<>>| 11 / 80 12345

Die Reihenfolge der einzelnen Unterelemente kann beliebig verändert werden oder es können einzelne Blöcke fehlen. Für die Formatierung können analog CSS-Klassen verwendet werden. Die direkte Formatierung wurde hier nur zur Veranschaulichung gewählt.



Kontaktformular:

Schreiben Sie mir und wir bauen gemeinsam Ihre neue Web-Datenbank!

Die Erläuterungen zum Datenschutz habe ich gelesen und stimme diesen zu.

© 2003-2019 Jürgen Auer, Berlin.