rex_form: addCheckboxField / Label linke Seite

Jede Art von Fehler die REDAXO betreffen.

rex_form: addCheckboxField / Label linke Seite

Beitragvon jason » 1. Sep 2011, 14:50

Hallo liebe Leute,
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 ... :x

Beste Grüße
Jason
jason
 
Beiträge: 2
Registriert: 1. Sep 2011, 14:04

Re: rex_form: addCheckboxField / Label linke Seite

Beitragvon jason » 1. Sep 2011, 15:42

Und ich noch mal.
Das Problem oben ist noch nicht gelöst, allerdings habe ich nun zum Glück einen anderen Weg gefunden.

Mit
Code: Alles auswählen
$checkbox->setAttribute('class', 'rex-form-checkbox');
habe ich den gewünschten Erfolg.

Zweieinhalb Tage herum probieren ... ;)
Aber vielleicht hilft das hier noch anderen.

Viele Grüße
Jason
jason
 
Beiträge: 2
Registriert: 1. Sep 2011, 14:04

Re: rex_form: addCheckboxField / Label linke Seite

Beitragvon Frezl » 24. Okt 2011, 12:57

Vielen dank für deinen Beitrag. Ich kann dir zwar bei deinem Problem nicht helfen, aber du hast mir dabei gehofen, dass das Label an der Checkbox nicht rechts angezeigt wird :-)

Grüße,
Frezl
Frezl
 
Beiträge: 153
Registriert: 13. Aug 2009, 13:31


Zurück zu Bugs [R4]

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 1 Gast

cron