match darf nicht leer sein

Fragen zum Erstellen von Templates für webEdition.
Benutzeravatar
christobal
Senior Member
Beiträge: 313
Registriert: Do 4. Nov 2010, 13:03
Wohnort: Reith bei Seefeld, Tirol - Österreich
Kontaktdaten:

match darf nicht leer sein

Beitragvon christobal » Do 26. Nov 2020, 19:01

Hallo,

evtl. nach einem Update auf 8.1.4 bekomme ich eine Fehlermeldung:
"Fehler in der Vorlage:Das Attribut `match` im Tag darf nicht fehlen!"

Der Code dazu sieht so aus:

Code: Alles auswählen

<we:listview type="object" classid="14" order="KontaktBundesland">
<we:repeat>
<we:ifNotField name="KontaktBundesland" type="text" match="$lastOrt">
<we:field type="text" name="KontaktBundesland" />
</we:ifNotField>
<we:setVar to="global" from="listview" namefrom="KontaktBundesland" nameto="lastOrt" />
</we:repeat>
</we:listview>
Ich verstehe nicht, wo da plötzlich was fehlt?
Bitte um Hilfe
Christoph
BIG Detail, Kaspar & Sigl OG
Riedgasse 8b
A-6020 Innsbruck
Tel. +43 512 346070-40
Fax +43 512 346070-20
Mobil: +43 676 3438011

christoph.kaspar@bigdetail.com
http://www.bigdetail.com

NilSole
Senior Member
Beiträge: 303
Registriert: Mi 27. Mär 2019, 15:28

Re: match darf nicht leer sein

Beitragvon NilSole » Do 26. Nov 2020, 21:39

Hallo,

Da fallen mir 2 Dinge ein:
(Globale) Variablen werden mit \$varname angesprochen,
Vor dem ersten Durchlauf deiner Schleife ist lastOrt noch nicht definiert.

Ob das die Fehlermeldung verursacht, weiß ich nicht.

Schöne Grüße
Nils

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

Re: match darf nicht leer sein

Beitragvon WBTMagnum » Do 26. Nov 2020, 22:35

Hallo,

Die von Nils angesprochenen Punkte sind schon richtig, ich glaube aber nicht, dass das die Fehlermeldung verursacht.

Ist das die richtige Code-Stelle? Wie sieht den der Backtrace dazu aus?

Liebe Grüße,
Sascha

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

Re: match darf nicht leer sein

Beitragvon mokraemer » Fr 27. Nov 2020, 01:18

Die Meldung wird vom Parser erzeugt. Der prüft ob die Attribute belegt sind. Hier ist die Variable leer, also auch das Attribut und daher kommt der Fehler.
webEdition-Kern-Entwickler

ThomasGoebe

Re: match darf nicht leer sein

Beitragvon ThomasGoebe » Fr 27. Nov 2020, 01:20

Vermutlich wird lastOrt vor der listview nicht initialisiert. Dazu dann noch der von NilSole angesprochene fehlende Backslash.

Eine simple Lösung für Deinen Code kann sein:

Code: Alles auswählen

<we:setVar to="global" nameto="lastOrt" value="keines" />
<we:listview type="object" classid="14" order="KontaktBundesland">
	<we:repeat>
		<we:ifNotField name="KontaktBundesland" type="text" match="\$lastOrt">
			<we:field type="text" name="KontaktBundesland" />
		</we:ifNotField>
		<we:setVar to="global" from="listview" namefrom="KontaktBundesland" nameto="lastOrt" />
	</we:repeat>
</we:listview>

Benutzeravatar
christobal
Senior Member
Beiträge: 313
Registriert: Do 4. Nov 2010, 13:03
Wohnort: Reith bei Seefeld, Tirol - Österreich
Kontaktdaten:

Re: match darf nicht leer sein

Beitragvon christobal » Fr 27. Nov 2020, 11:44

Vielen Dank!!!

Der Backslash hats nicht gebraucht, aber <we:setVar to="global" nameto="lastOrt" value="keines" /> vor der Listview hat den Fehler entfernt!
BIG Detail, Kaspar & Sigl OG
Riedgasse 8b
A-6020 Innsbruck
Tel. +43 512 346070-40
Fax +43 512 346070-20
Mobil: +43 676 3438011

christoph.kaspar@bigdetail.com
http://www.bigdetail.com

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

Re: match darf nicht leer sein

Beitragvon mokraemer » Fr 27. Nov 2020, 11:51

DOCH! Den Backslash braucht es! Immer wenn du auf Globals zugreifst!!!!
Sonst fliegt dir der Kode evtl. mal wann anders um die Ohren.
webEdition-Kern-Entwickler

NilSole
Senior Member
Beiträge: 303
Registriert: Mi 27. Mär 2019, 15:28

Re: match darf nicht leer sein

Beitragvon NilSole » Fr 27. Nov 2020, 12:07

@Thomas habe ich doch auch so geschrieben :wink:

@Christopher soweit ich das verstanden habe, war das ohne Backslash für die Globals nicht beabsichtigt. Das funktionierte also eher als Bug. In der 9.x läuft es, meine ich, ohne Backslash nicht mehr.

ThomasGoebe

Re: match darf nicht leer sein

Beitragvon ThomasGoebe » Sa 28. Nov 2020, 18:38

NilSole hat geschrieben: Fr 27. Nov 2020, 12:07 @Thomas habe ich doch auch so geschrieben :wink:
Stimmt, den zweiten Teil bei Dir hatte ich irgendwie überlesen. Dann ist meine Antwort also Deine Antwort mit zusätzlichem Code Beispiel ;-)


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

Wer ist online?

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