EAccordion konfigurieren

Hallo,

ich versuche das EAccordion aus der Extension JUI zu konfigureren. Es funktioniert dabei alles aber ich kann nicht festlegen wie und wann welcher Reiter aktiv sein soll. Die Eigenschaft active ist zwar definiert aber egal was ich dem übergebe, 1, true, "1" oder was auch immer auch array(true, 1) oder array(true, '"1') geht leider alles nicht. Hat schonmal jemand was mit dem gemacht? Kann sich das vielleicht jemand mal anschauen?

Grüße

Martin

Hallo Martin,

hab mich damit gerade etwas beschäftigt und es scheint ein Bug in der Accordion Extension zu sein.

Dort wird nur boolean und string als gültiger Typ für den active-Parameter genannt.

Laut JQuery UI Docu sind das allerdings:

Quote

Type:

    Selector, Element, jQuery, Boolean, Number

Innerhalb des JQuery Accordions wird der Parameter aber auf dem Typ "Number" geprüft und nur dann als Tabnummer verwendet. Ist es ein String wird er als Selektor behandelt. Sprich: wenn du "2" angibst aktiviert JQuery nicht den zweiten Tab, sondern sucht nach dem Selektor "2".

Wenn du folgende Zeile in EAccordion.php änderst funktioniert es:

Zeile 123: 'active' => array('type' => array('boolean', 'string')),

zu

Zeile 123: 'active' => array('type' => array('boolean', 'string', 'integer')),

Dann kannst du mit 'active'=>1 z.B. den zweiten Tab aktivieren.

NACHTRAG:

Ich habe gerade festgestellt, dass ich nicht mehr die neuste Version von JUI hatte. In der neuen Version steht in EAccordion.php jetzt:

Zeile 122: 'active'=>array('type'=>array('boolean', 'number')), 

Das macht es allerdings m.A. auch nicht besser, weil es den Typ 'number' in PHP nicht gibt und die Validierung geschieht mittels gettype()…

Gruß,

yoshi

Danke, an das hab ich gar nicht gedacht bzw. das hab ich gar nicht gesehen, habs wieder in integer geändert, jetzt gehts problemlos. Zählung beginnt bei 0.