ich brauche Unterstützung bei einem Problem, welches ich nicht in den Griff bekomme. Ich bin der Meinung, dass es sich um einen Fehler in Redaxo handelt. Daher das ganze in diesem Forum.
Ich erstelle mit Hilfe von rex_form ein Formular, dass u. a. ein Checkbox-Feld enthält. Das funktioniert soweit auch ohne Probleme. Jedoch möchte ich das Label auf der linken Seite der Box haben und möchte daher die Klasse "rex-form-label-right" nicht im Class-Attribut stehen habe. Also erstelle ich die Checkbox mit folgender Zeile:
- Code: Alles auswählen
$checkbox = &$form->addCheckboxField('published', NULL, array('class'=>'rex-form-checkbox'));
Der übergebene $attributes-Parameter (Array) wird aber auf dem Weg zur Ausgabe des Codes an irgendeiner Stelle überschrieben.
Verfolgen kann ich den Parameter bis in die Funktion createElement() in der Datei "class.rex-form.inc.php". In Zeile 581 werden dort eigene und vordefinierte Parameter zusammengefügt:
- Code: Alles auswählen
$attributes = array_merge(array('id' => $id), $attributes, $internal_attr);
Danach ist in der Variablen $attributes immer noch mein übergebener Wert zu finden. Von dort an kann ich den Vorgang allerdings nicht mehr weiter nachvollziehen. In Zeile 582 wird das neue "Element erstellt":
- Code: Alles auswählen
$element = new $class($tag, $this, $attributes, $separateEnding);
Wenn ich mir dann nun die Inhalte der Variable $element anzeigen lasse, sehe ich, dass nun im Array im Feld "class" der Wert "rex-form-checkbox rex-form-label-right" steht.
Wenn ich mir die Inhalte der Variable $this anzeigen lasse, sehe ich, dass dort im Feld "class" auch dieser Wert "rex-form-checkbox rex-form-label-right" zu finden ist.
Meiner Meinung nach sollte doch das Vordefinierte durch meine Einstellung überschrieben werden. Habe ich hier evtl. einen Denkfehler drin und mache etwas falsch?
Ich hoffe, mein Vorgehen und das Problem sind nachvollziehbar. Über eine Antwort würde ich mich sehr freuen - bin kurz vor der Verzweiflung, weil ich nirgendwo etwas dazu finde und nicht weiter komme ...
Beste Grüße
Jason

