magnify

Optionsplit - last vor first I

Armin Bartsch, Mittwoch, 11. März 2009

Gemäss TSRef ist die Priorität last, first, middle, was dazu führt, dass bei einem Menuelement last ebenfalls Priorität vor first hat.

Optionsplit ist ein häufig eingesetztes Werkzeug um z.B. in Menüstrukturen sich wiederholende Parameter zuzuweisen bzw. eine Zuweisung Positionsabhänging erfolgen zu lassen.

Schauen Sie sich als Beispiel oben die Subnavigation an, der erste Navigationspunkt enthält als Formatierung keinen linken Begrenzungstrich. Um dies zu erreichen, wird dem ersten Menüpunkt die Klasse first zugeordnet während die anderen die Klasse sec erhalten. Die erreicht man mit einem einfachen Optionsplit:

value = class="first" |*| class="sec"

Die Priorität von Optionsplit ist last, first, middle. Das führt dazu, das bei nur einem Menüelemet der Wert von last übergeben wird. Bei meinem Optionsplit oben würde das der Wert sec sein, was dazu führen würde das dann der linke Begrenzungsstrich angezeigt werden würde.
Lesen Sie dazu auch optionsplit im tsref

Um dieses zu verhindern, frage ich die Gesamtanzahl der Menüpunkte mit register:count_menuItems ab. Dem ersten Menüounkt wird dann ein extra Parameter übergeben.

  1. lib.menue_sub= HMENU
  2. lib.menue_sub {
  3.   special = directory
  4.   entryLevel = 1
  5.   special.value.data = leveluid:1
  6.  
  7.   #SubLinks Ebene 1
  8.   1 = TMENU
  9.   1 {
  10.     wrap = <ul> | </ul>
  11.     NO.allWrap = <li> | </li>
  12.     NO.ATagParams.cObject = COA
  13.     NO.ATagParams.cObject {
  14.       10 = TEXT
  15.       10.value = class="first"
  16.       10.if.equals = 1
  17.       10.if.value.data = register:count_menuItems
  18.       20 = TEXT
  19.       20.value = class="first" |*| class="sec"
  20.       20.if.equals = 1
  21.       20.if.negate = 1
  22.       20.if.value.data = register:count_menuItems
  23.     }
  24.   }
  25. }

In der Zeile 15 wird der Parameter angegeben der bei nur einem Menüpunkt übergeben wird. In der Zeile 19 geben Sie ihr gewohntes Optionsplit an.

Weiterfuehrende Information

magnify

Kommentare

Ins Gästebuch eintragen
Kein Kommentar vorhanden

MERKLISTE

Login

Anmelden

Sponsored by:

ideenwerft webhosting

Wunschzettel