Seite 1 von 1

Checkboxproblem nach update auf 6.4.4

Verfasst: Mo 24. Okt 2016, 13:02
von esitefd
Redakteure konnten bisher über Checkboxen Reiter auf der Seite anzeigen/ausblenden. Nach einem Update auf 6.4.4 funktionieren diese nicht mehr. Wer kennt das Problem, woran liegt das, wieso funktionieren diese nicht mehr?

Template Code:
<we:ifEditmode>
.
.
.
<h2>Bereich "Bedingungen und Downloads":</h2>
<we:input type="checkbox" name="bbd-anzeigen"/> Bereich anzeigen?<br/><br/>
.
.
.
</we:ifEditmode>
<we:ifNotEditmode>
.
.
.
<we:ifNotEmpty match="bbd-anzeigen">
<a class="tab-title" href="#">
<we:var type="text" name="bbd-titel"/>
<span class="arrow"></span>
</a>
</we:ifNotEmpty>
.
.
.
</we:ifNotEditmode>

Re: Checkboxproblem nach update auf 6.4.4

Verfasst: Mo 24. Okt 2016, 16:40
von Carrear
Machs dir einfach.

Code: Alles auswählen

<we:ifNotEditmode>
<we:input type="checkbox" name="bbd-anzeigen" to="global" nameto="bbd-anzeigen" />
<pre>
<?php print_r( $GLOBALS['bbs-anzeigen'] ); ?>
</pre>
</we:ifNotEditmode>
Da checkst du einmal wie die variable aussieht wenn es gecheckt ist und wie es aussieht wenn es nicht gecheckt ist. Und dementsprechen schreibst du deine Abfrage dann eben nicht mehr mit

Code: Alles auswählen

<we:ifNotEmpty match="bbd-anzeigen">
</we:ifNotEmpty>
sondern fragst eben nach den zuvor recherchierten Werten in PHP ab.

VG Martin

Re: Checkboxproblem nach update auf 6.4.4

Verfasst: Mo 24. Okt 2016, 18:14
von WBTMagnum
Probier's mal mit

Code: Alles auswählen

<we:ifNotEmpty match="bbd-anzeigen" type="checkbox">
</we:ifNotEmpty>
HTH,
Sascha

Re: Checkboxproblem nach update auf 6.4.4

Verfasst: Mo 24. Okt 2016, 19:08
von mokraemer
ich hab das eben zumindest mal in 7.0.2 getestet, da geht es wie erwartet.
Es könnte mit https://qa.webedition.org/tracker/view.php?id=9612 zu tun haben. Denn vormals wurden leere checkboxen wieder "entfernt" was jedoch beim default Wert "1" ein Problem gab.
Wenn in 6.4.4 "0" drin steht, wäre das nicht mehr empty.

Re: Checkboxproblem nach update auf 6.4.4

Verfasst: Di 25. Okt 2016, 10:46
von esitefd
Vielen dank für die Lösungsvorschläge.

Nachtrag:Das Update war von 6.4.1 auf 6.4.4

@WBTMagnum: Schade funktioniert leider nicht.
@Carrear: Checkbox wird nicht mehr angezeigt mit dieser Lösung.

Ich habe eine unschöne Lösung mit PHP und <we:var type="document" name="variable"/> kein vergleich zur Version6.4.1

Re: Checkboxproblem nach update auf 6.4.4

Verfasst: Di 25. Okt 2016, 11:22
von Carrear
Hey,

die checkbox soll ja im Frontend auch nicht engezeigt werden. Für den Editmode lässt du alles wie es ist. Nur für notEditmode setzt du ein, was ich dir geschrieben habe.

Re: Checkboxproblem nach update auf 6.4.4

Verfasst: Di 25. Okt 2016, 13:09
von esitefd
Im Frontend nicht stimmt, aber der Redakteur der sich in Webedition einloggt um die Seite zu bearbeiten, der möchte die Checkbox haben, und das funktioniert nicht unter 6.4.4 mit <we:input type="checkbox" name="bbd-anzeigen" to="global" nameto="bbd-anzeigen" />
Deine Lösung ist klar danke jedenfalls.

Re: Checkboxproblem nach update auf 6.4.4

Verfasst: Di 25. Okt 2016, 15:48
von Carrear
Nein, du verstehst das falsch. Du sollst die Variable nur im Frontend setzen. Ist schon klar, dass die Redakteure das im Backend noch setzen sollen. Wenn du folgendes machst:

Code: Alles auswählen

<we:ifEditmode>
	<we:input type="checkbox" name="bbd-anzeigen" />
<we:else />
	<we:input nameto="something" to="global" type="checkbox" name="bbd-anzeigen" />
	<pre><?php print_r( $GLOBALS['bbd-anzeigen'] ); ?></pre>
</we:ifEditmode>
Dann siehst du, dass die Variable, insofern die Checkbox noch nie berührt wurde nicht da ist. Wurde die Checkbox markiert ausgegeben, steht in der Variable der Wert 1 und wurde Sie wieder demarkiert ist die Variable mit dem Wert 0 befüllt. Daraus ergibt sich für dein Anliegen folgender Code:

Code: Alles auswählen

<we:ifEditmode>
	<we:input type="checkbox" name="bbd-anzeigen" />
<we:else />
	<we:input nameto="something" to="global" type="checkbox" name="bbd-anzeigen" />
	<?php if( isset( $GLOBALS['bbd-anzeigen'] ) && $GLOBALS['bbd-anzeigen'] == 1 ) { ?>
		<a class="tab-title" href="#">
			<we:var type="text" name="bbd-titel"/>
			<span class="arrow"></span>
		</a>
	<?php } ?>
</we:ifEditmode>
Begründung (?) : Im ungünstigsten Fall ist die Variable nicht "empty" sondern mit "0" befüllt. Ich nehme an, dass das anders ausgewertet wird als eine wirklich leere Variable.

Also bei mir klappt das auf jeden Fall nach Tests in der Version 6.4.4 wunderbar.

Re: Checkboxproblem nach update auf 6.4.4

Verfasst: Di 25. Okt 2016, 16:09
von mokraemer
ihr könnt auch einfach mit

Code: Alles auswählen

<we:ifVar name="bbd-anzeigen" match="1">
prüfen - es braucht dafür kein php.