Also ich habe diese Zeile in den Input Bereich kopiert vom Modul,
erst ist es nicht checkt, aber wenn einmal angeklickt, bleibt es dauerhaft gecheckt egal ob ich es wieder wegmache, in meinem anderen modul hab ich es rauskopiert da ging es problemlos oder geht immernoch .. was ist falsch?
habe auch schon mit { ;} um die bedingung probiert
<input type="checkbox" name="CMS_VAR[0]" value="1" <?php if ( 'CMS_VALUE[0]' == '1') echo 'checked'?> >
Problem mit CMS_VAR[] gleicher code funzt aber nicht
Also, wenn ich da nun den value änder ..
dann das kreuz wegnehme, bleibt der value weiterhin auf 1 ... erst wenn ich einmal das kreuz da lasse und speicher wird der neue value 2 gespeichert ..
Sprich, CheckboxValue=1
angekreuzt klicken = CMSValue=1
ohne kreuz klicken = CMSValue=1
CheckboxValue=2
ohne Kreuz klicken = CMSValue=1
mit kreuz klicken = CMSValue= 2
mit klicken mein ich einfach auf speichern gehen
es geht im einen und im anderen nicht arghl
dann das kreuz wegnehme, bleibt der value weiterhin auf 1 ... erst wenn ich einmal das kreuz da lasse und speicher wird der neue value 2 gespeichert ..
Sprich, CheckboxValue=1
angekreuzt klicken = CMSValue=1
ohne kreuz klicken = CMSValue=1
CheckboxValue=2
ohne Kreuz klicken = CMSValue=1
mit kreuz klicken = CMSValue= 2
mit klicken mein ich einfach auf speichern gehen
es geht im einen und im anderen nicht arghl
Code: Alles auswählen
<input type="checkbox" name="CMS_VAR[0]" value="1" <?php if ( "CMS_VALUE[0]" == '1') echo 'checked'?> >
1. solltest du den CMX_VALUE nicht direkt prüfen
2. zusätlich prüfen ob überhaupt gesetzt ist ( z.B. mit isset() ).
usw. gibt dazu aber schon mehrere threads hier im forum
so long
stefan
@SkyBlader
Danke für deine Hinweise.
1. überprüft jeder hier in seinen Teilen direkt mit dem CMS_VALUE (jedenfalls emergence usw. die sollten ja was davon verstehen)
Kannst du begründen warum man nicht direkt vergleichen sollte?
2. was willst du mit isset() probieren, das eintragen des wertes übernimmt contenido selbst, das heißt isset hat hier keinen sinn den der VALUE ist leider immer auf 1 gesetzt auch wenn nicht angehackt weiterhin...
3. Ja es gibt dazu einen anderen Thread, stimmt, in dem hast du auch geantwortet. Leider wurde dort keine Lösung gefunden. Ich habe nebenbei auch die meisten Code schnipsel dort ausprobiert, und eigentlich hab ich auch gerade soviel ahnung von php das ich das hinkriegen sollte wenn es ginge
http://contenido.org/forum/viewtopic.ph ... x&start=15
Und es ist auch weiterhin nicht geklärt, warum GENAU der selbe code in einem meiner Module geht und in einem nicht ... das scheint mir langsam eher in den Bereich Bug zu gehören
Danke für deine Hinweise.
1. überprüft jeder hier in seinen Teilen direkt mit dem CMS_VALUE (jedenfalls emergence usw. die sollten ja was davon verstehen)
Kannst du begründen warum man nicht direkt vergleichen sollte?
2. was willst du mit isset() probieren, das eintragen des wertes übernimmt contenido selbst, das heißt isset hat hier keinen sinn den der VALUE ist leider immer auf 1 gesetzt auch wenn nicht angehackt weiterhin...
3. Ja es gibt dazu einen anderen Thread, stimmt, in dem hast du auch geantwortet. Leider wurde dort keine Lösung gefunden. Ich habe nebenbei auch die meisten Code schnipsel dort ausprobiert, und eigentlich hab ich auch gerade soviel ahnung von php das ich das hinkriegen sollte wenn es ginge
http://contenido.org/forum/viewtopic.ph ... x&start=15
Und es ist auch weiterhin nicht geklärt, warum GENAU der selbe code in einem meiner Module geht und in einem nicht ... das scheint mir langsam eher in den Bereich Bug zu gehören
-
- Beiträge: 6284
- Registriert: Do 15. Mai 2003, 18:32
- Wohnort: Da findet ihr mich nie!
- Kontaktdaten:
Nein eben nicht ein Bug. Laut HTML-Spezifikation wird der Wert einer Checkbox nur übertragen, wenn sie angecheckt ist. Contenido speichert aber nur Werte, die übermittelt werden.
Beispiel:
<input type="checkbox" name="test" value="ja">
Wird das Formular abgesendet und die Checkbox angekreuzt, so erhälst du den Wert
test=ja
Wird die Checkbox nicht angekreuzt, erhälst du weder die Information "test" noch die Information "ja".
Beispiel:
<input type="checkbox" name="test" value="ja">
Wird das Formular abgesendet und die Checkbox angekreuzt, so erhälst du den Wert
test=ja
Wird die Checkbox nicht angekreuzt, erhälst du weder die Information "test" noch die Information "ja".
Naja würde ich als Bug im Contenido Konzept ansehen in dem Fall, sprich wenn ein eingetragener wert nicht mehr übertragen wird sollte contenido ihn löschen ..
man sollte sowieso am besten gleich variablen draus machen, dann könnten da auch arrays gespeichert werden, laut html spezifikation werden ja wohl arrays auch unterstüzt , aber von Contenido halt nicht ...
erklärt aber nicht, warum es dann in dem anderen Input Modul GENAU SO funktioniert und andere ja mit ihren Beispielen auch meinen das es funktioniert ... wieso geht es bei manchen und bei manchen nicht?
man sollte sowieso am besten gleich variablen draus machen, dann könnten da auch arrays gespeichert werden, laut html spezifikation werden ja wohl arrays auch unterstüzt , aber von Contenido halt nicht ...
erklärt aber nicht, warum es dann in dem anderen Input Modul GENAU SO funktioniert und andere ja mit ihren Beispielen auch meinen das es funktioniert ... wieso geht es bei manchen und bei manchen nicht?
-
- Beiträge: 6284
- Registriert: Do 15. Mai 2003, 18:32
- Wohnort: Da findet ihr mich nie!
- Kontaktdaten:
Nein sehe ich nicht so...ganz so trivial ist es nicht, wie du dir es vorstellst. Das Konzept wird nicht geändert, höchstens irgendwann einmal ergänzt oder ersetzt.Chopper hat geschrieben:Naja würde ich als Bug im Contenido Konzept ansehen in dem Fall, sprich wenn ein eingetragener wert nicht mehr übertragen wird sollte contenido ihn löschen ..
man sollte sowieso am besten gleich variablen draus machen, dann könnten da auch arrays gespeichert werden, laut html spezifikation werden ja wohl arrays auch unterstüzt , aber von Contenido halt nicht ...
Irgendwo wird halt ein Unterschied sein...Contenido hat keine "Ich-mag-den-Code-von-Chopper"-Fuzzylogikerklärt aber nicht, warum es dann in dem anderen Input Modul GENAU SO funktioniert und andere ja mit ihren Beispielen auch meinen das es funktioniert ... wieso geht es bei manchen und bei manchen nicht?