block und select

Fragen zum Erstellen von Templates für webEdition.
manolo
Senior Member
Beiträge: 272
Registriert: Mi 11. Jun 2003, 16:55
Wohnort: Bayreuth
Kontaktdaten:

block und select

Beitragvon manolo » Mo 18. Feb 2013, 16:21

Hallo zusammen,

ich habe mit WE 6.3.5 (wieder mal) ein Problem mit Block und Select. Mein Ziel ist, der Redakteur erstellt mit Block einen neuen Eintrag. Dann hat er Zugriff auf verschiedene Varianten (a und b) mit unterschiedlichen Datenfeldern. Die erste Variante soll vorselektiert sein ("a") und sofort nach dem Anlegen des Block-Elements erscheinen.

Leider funktioniert der folgende Code nicht:

Code: Alles auswählen

  <we:block name="test">
	<we:select name="type" size="1" reload="true">
	  <option value="a">a</option>
	  <option value="b" selected="selected">b</option>
	</we:select>
	<we:ifVar name="type" match="a">Variante a wurde gewählt</we:ifVar>
	<we:ifVar name="type" match="b">Variante b wurde gewählt</we:ifVar>	
	<hr/>
  </we:block>
Das Problem ist, das die Variable "type" beim anlegen des neuen Block-Elements NICHT angelegt wird. IfVar gibt gar nichts aus. Erst wenn die Seite nochmal geladen wird, kann die Variable "type" ausgewertet werden. Also scheint mir das Verhalten innerhalb des Blocks ein Bug zu sein. Denn:

Wenn ich mit dem gleichen Code (also Select und dann Abfrage mit ifVar) OHNE Block arbeite, funktioniert alles wie erwartet und die Variable type hat SOFORT einen Wert, nämlich "a".

Ich empfinde das als ganz schön nervig, weil ich innerhalb des Blocks mehrere Fälle abfragen muss, wie ein Element ausgestaltet werden soll. Und ich muss immer auch mit einem Default-Wert arbeiten können, fallls der Redakteur keine Wahl trifft und mit den Voreinstellungen arbeitet.

Gibt es hierfür eine Lösung??? Bin für alle Hinweise dankbar.

Frustriert, Manolo :(

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

Re: block und select

Beitragvon WBTMagnum » Mo 18. Feb 2013, 17:06

Hallo Manolo,

Wir haben das so gelöst:

Code: Alles auswählen

  <we:block name="test">
   <we:select name="type" size="1" reload="true">
+    <option value=""> === Bitte auswählen === </option>
     <option value="a">a</option>
     <option value="b" selected="selected">b</option>
   </we:select>
+  <we:ifVar name="type">Standardvariante</we:ifVar>
   <we:ifVar name="type" match="a">Variante a wurde gewählt</we:ifVar>
   <we:ifVar name="type" match="b">Variante b wurde gewählt</we:ifVar> 
HTH,
Sascha

manolo
Senior Member
Beiträge: 272
Registriert: Mi 11. Jun 2003, 16:55
Wohnort: Bayreuth
Kontaktdaten:

Re: block und select

Beitragvon manolo » Di 19. Feb 2013, 16:19

Vielen Dank, Sascha, für diesen Work-aroud.

Aber. Das Verhalten im Block ist doch ein Bug, oder?
Kann ich das in die Bug Base eintragen?

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

Re: block und select

Beitragvon WBTMagnum » Di 19. Feb 2013, 17:36

Hallo manolo,

Freut mich, dass dir das geholfen hat.
Das Verhalten ist IMHO schon korrekt. Beim ersten Aufruf der Seite bzw. beim Anlegen des Blocks kann der Wert "type" ja noch nicht gesetzt sein und ist somit leer.

Liebe Grüße,
Sascha

ThomasGoebe

Re: block und select

Beitragvon ThomasGoebe » Mi 20. Feb 2013, 03:11

Hallo Sascha,

ich bin nicht sicher, ob das Verhalten korrekt ist. Denn bei "normalen" select Feldern ist es ja so, wie manolo es haben möchte. Es gibt also einen Unterschied bei select Feldern beim Einsatz innerhalb und ausserhalb eines Blocks.
Es sollte m.E. in jedem Fall gleich sein.

Und es ist genauso als logisch zu argumentieren, dass eben beim Klick auf + eines Blocks die "default" Werte, schon eingetragen sind. Das sind sie ja schließlich auch, wenn der Redakteur speichert ohne das Select-Feld auch nur zu berühren. Da wäre es nur logisch, wenn er dann auch direkt die Auswirkungen des Werts im Select-Feld sehen kann.

Ich würde es daher eher als Bug ansehen.

Eventuell könnte eine Art default Wert bei Select (und auch anderen Feldern) auch ein sinnvoller Parameter sein.

Also

Code: Alles auswählen

<we:select name="feld" default="2">
<option value="1">Option 1</option>
<option value="2">Option 2</option>
<option value="3">Option 3</option>
</we:select>
<we:comment>Hier steht immer ein Wert aus dem Select-Feld zur Verfügung. </we:comment>
Wie auch immer das dann im Detail umgesetzt werden kann.

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

Re: block und select

Beitragvon WBTMagnum » Mi 20. Feb 2013, 11:00

Hallo Thomas,

Klar, da gibt es unterschiedliche Use-Cases. Das <we:select/> für sich betrachtet verhält sich meiner Ansicht nach aber korrekt.

Ich stimme aber zu, dass es überlegenswert ist eine Möglichkeit zu schaffen Default Werte auch beim ersten Aufruf aktiv zu schalten. Dabei muss man dann aber auch berücksichtigen, dass es Fälle gibt bei denen der gesetzte Werte schon vor dem Select benötigt wird.


Just my 2 cents,
Sascha

manolo
Senior Member
Beiträge: 272
Registriert: Mi 11. Jun 2003, 16:55
Wohnort: Bayreuth
Kontaktdaten:

Re: block und select

Beitragvon manolo » Mi 20. Feb 2013, 12:08

OK, Thomas, Du sprichst mir aus der Seele.
Wo kann ich diesen Feature Request einbringen?

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

Re: block und select

Beitragvon mokraemer » Mi 20. Feb 2013, 21:49

ich bin mir nicht sicher ob hier wirklich das Gleiche verglichen wurde.
Das <we:select> darf in beiden Fällen keinen Wert haben. Zu beachten ist, das es ggfs. nach einem Reload des Edit-Frames (sei es durch Umschalten etc.) danach einen Wert hat.
Und der Grund ist genau wie Sascha bereits angemerkt hat. Hier läßt sich auch nicht viel tricksen.
webEdition-Kern-Entwickler


Zurück zu „webEdition Templates erstellen (we:Tags)“

Wer ist online?

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