Checkboxproblem nach update auf 6.4.4

Alles rund um die Erstellung von Patches, Behebung von Bugs und Contributions
esitefd
Junior Member
Beiträge: 3
Registriert: Mo 24. Okt 2016, 12:35

Checkboxproblem nach update auf 6.4.4

Beitragvon esitefd » Mo 24. Okt 2016, 13:02

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>

Benutzeravatar
Carrear
webEdition Partner
webEdition Partner
Beiträge: 646
Registriert: Do 17. Jan 2013, 03:02
Wohnort: Hannover
Kontaktdaten:

Re: Checkboxproblem nach update auf 6.4.4

Beitragvon Carrear » Mo 24. Okt 2016, 16:40

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

WBTMagnum
webEdition Partner
webEdition Partner
Beiträge: 1825
Registriert: Di 7. Mär 2006, 16:50
Wohnort: Wien
Kontaktdaten:

Re: Checkboxproblem nach update auf 6.4.4

Beitragvon WBTMagnum » Mo 24. Okt 2016, 18:14

Probier's mal mit

Code: Alles auswählen

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

mokraemer
Senior Member
Beiträge: 3619
Registriert: So 8. Aug 2010, 01:23
Wohnort: Mainz

Re: Checkboxproblem nach update auf 6.4.4

Beitragvon mokraemer » Mo 24. Okt 2016, 19:08

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.
webEdition-Kern-Entwickler

esitefd
Junior Member
Beiträge: 3
Registriert: Mo 24. Okt 2016, 12:35

Re: Checkboxproblem nach update auf 6.4.4

Beitragvon esitefd » Di 25. Okt 2016, 10:46

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

Benutzeravatar
Carrear
webEdition Partner
webEdition Partner
Beiträge: 646
Registriert: Do 17. Jan 2013, 03:02
Wohnort: Hannover
Kontaktdaten:

Re: Checkboxproblem nach update auf 6.4.4

Beitragvon Carrear » Di 25. Okt 2016, 11:22

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.

esitefd
Junior Member
Beiträge: 3
Registriert: Mo 24. Okt 2016, 12:35

Re: Checkboxproblem nach update auf 6.4.4

Beitragvon esitefd » Di 25. Okt 2016, 13:09

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.

Benutzeravatar
Carrear
webEdition Partner
webEdition Partner
Beiträge: 646
Registriert: Do 17. Jan 2013, 03:02
Wohnort: Hannover
Kontaktdaten:

Re: Checkboxproblem nach update auf 6.4.4

Beitragvon Carrear » Di 25. Okt 2016, 15:48

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.

mokraemer
Senior Member
Beiträge: 3619
Registriert: So 8. Aug 2010, 01:23
Wohnort: Mainz

Re: Checkboxproblem nach update auf 6.4.4

Beitragvon mokraemer » Di 25. Okt 2016, 16:09

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.
webEdition-Kern-Entwickler


Zurück zu „Patches, Bugs und Contributions“

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 3 Gäste