Problem mit CMS_VAR[] gleicher code funzt aber nicht

Gesperrt
Chopper
Beiträge: 108
Registriert: Mi 9. Feb 2005, 17:09
Wohnort: Berlin
Kontaktdaten:

Problem mit CMS_VAR[] gleicher code funzt aber nicht

Beitrag von Chopper » Fr 2. Sep 2005, 14:16

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'?> >

Chopper
Beiträge: 108
Registriert: Mi 9. Feb 2005, 17:09
Wohnort: Berlin
Kontaktdaten:

Beitrag von Chopper » Fr 2. Sep 2005, 14:34

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

SkyBlader
Beiträge: 303
Registriert: Do 18. Mär 2004, 16:23
Wohnort: Ratingen / NRW
Kontaktdaten:

Beitrag von SkyBlader » Fr 2. Sep 2005, 16:42

Code: Alles auswählen

<input type="checkbox" name="CMS_VAR[0]" value="1" <?php if ( "CMS_VALUE[0]" == '1') echo 'checked'?> >
Hinweise:

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
Contenido 4.4.4/4.4.5 - Contenido 4.5.x

Module:sn_multinav für 4.5.x

Chopper
Beiträge: 108
Registriert: Mi 9. Feb 2005, 17:09
Wohnort: Berlin
Kontaktdaten:

Beitrag von Chopper » Mo 5. Sep 2005, 09:01

@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

timo
Beiträge: 6284
Registriert: Do 15. Mai 2003, 18:32
Wohnort: Da findet ihr mich nie!
Kontaktdaten:

Beitrag von timo » Mo 5. Sep 2005, 09:28

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".

Chopper
Beiträge: 108
Registriert: Mi 9. Feb 2005, 17:09
Wohnort: Berlin
Kontaktdaten:

Beitrag von Chopper » Mo 5. Sep 2005, 10:17

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?

timo
Beiträge: 6284
Registriert: Do 15. Mai 2003, 18:32
Wohnort: Da findet ihr mich nie!
Kontaktdaten:

Beitrag von timo » Mo 5. Sep 2005, 10:34

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 ...
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.

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?
Irgendwo wird halt ein Unterschied sein...Contenido hat keine "Ich-mag-den-Code-von-Chopper"-Fuzzylogik ;)

Gesperrt