Seite 1 von 1

Template mit we:listview lässt sich nicht speichern

Verfasst: Mi 30. Aug 2017, 21:15
von deobokl
Hallo,
ich habe eine webEdition Installation von 5 auf Version 7 upgegraded und auf UTF-8 umgestellt – soweit so gut.
In Version 5 haben die Templates offenbar funktioniert – in Version 6 und 7 werden aber Fehler angemeckert, die ich bis auf ein Template beseitigen konnte.
Bei einer Shopseite mit Listenansicht gibt es eine relativ verschachtelte if/else Abfrage und wie ich das sehe sind alle we:listview Tags auch wieder geschlossen, trotzdem erscheint eine Fehlermeldung beim speichern – es fehlt angeblich das Start oder Endtag.

Allerdings bin ich, was die Syntax angeht nicht sicher, da ich die Seite nicht erstellt habe und mich auch nicht besonders mit webEdition auskenne – hier mal der Code der Vorlage, vielleicht kann mir ja jemand einen Hinweis auf den Fehler geben:

Code: Alles auswählen

<we:ifWorkspace id="985">
	<we:ifCat categories="/Shop/Neuerscheinungen">
		<we:listview type="document" rows="6" workspaceID="996" order="we_creationdate" desc="true">
			<we:else />
			<we:ifCat categories="/Shop/Editionen">
				<we:listview type="document" rows="6" workspaceID="1095" order="we_filename">
					<we:else />
					<we:ifCat categories="/Shop/Gesamtprogramm">
						<we:listview type="document" rows="6" workspaceID="1039,996" order="we_filename">
							<we:else />
							<we:listview type="document" rows="6" workspaceID="985" order="we_filename">
								</we:ifCat>
							</we:ifCat>
					</we:ifCat>
					<we:else />
					<we:ifCat categories="/Shop/Neuerscheinungen">
						<we:listview type="document" rows="6" workspaceID="432" order="we_creationdate" desc="true">
							<we:else />
							<we:ifCat categories="/Shop/Editionen">
								<we:listview type="document" rows="6" workspaceID="430" order="we_filename">
									<we:else />
									<we:ifCat categories="/Shop/Gesamtprogramm">
										<we:listview type="document" rows="6" workspaceID="431,432" order="we_filename">
											<we:else />
											<we:listview type="document" rows="6" workspaceID="984" order="we_filename">
												</we:ifCat>
											</we:ifCat>
									</we:ifCat>
									</we:ifWorkspace>

								<we:ifWorkspace id="985">
									<we:ifCat categories="/Shop/Neuerscheinungen">
										</we:listview>
									<we:else />
									<we:ifCat categories="/Shop/Editionen">
										</we:listview>
									<we:else />
									<we:ifCat categories="/Shop/Gesamtprogramm">
										</we:listview>
									<we:else />
									</we:listview>
							</we:ifCat>
							</we:ifCat>
					</we:ifCat>
					<we:else />
					<we:ifCat categories="/Shop/Neuerscheinungen">
						</we:listview>
					<we:else />
					<we:ifCat categories="/Shop/Editionen">
						</we:listview>
					<we:else />
					<we:ifCat categories="/Shop/Gesamtprogramm">
						</we:listview>
					<we:else />
				</we:listview>
			</we:ifCat>
			</we:ifCat>
	</we:ifCat>
</we:ifWorkspace>
Vielen Dank im Voraus für jeden Tipp ;)

Re: Template mit we:listview lässt sich nicht speichern

Verfasst: Do 31. Aug 2017, 14:36
von blickfang
Hi,

ich würde den listviewsjeweils einen namen geben - was aber nicht erklärt warum webEdition das Template nicht speichern will. Steht denn was im Fehlerlog?

Viele Grüße
Timo

Re: Template mit we:listview lässt sich nicht speichern

Verfasst: Do 31. Aug 2017, 15:12
von e_herrmann
Nun, die Fehlemeldung ist recht eindeutig:
Fehler beim Speichern der Vorlage `/test.tmpl`! Fehler in der Vorlage:Bei einem <we:listview> Tag fehlt entweder das Start- oder das Endtag!

In der alten Version konnte man teilweise schließende Tags weglassen. Das geht nun nicht mehr.

Grüße Elko

Re: Template mit we:listview lässt sich nicht speichern

Verfasst: Do 31. Aug 2017, 23:09
von WBTMagnum
Hallo deoboki,

Ich hab mal die Einrückungen angepasst um einen besseren Überblick zu bekommen was da überhaupt passiert:

Code: Alles auswählen

<we:ifWorkspace id="985">
   <we:ifCat categories="/Shop/Neuerscheinungen">
      <we:listview type="document" rows="6" workspaceID="996" order="we_creationdate" desc="true">
   <we:else />
      <we:ifCat categories="/Shop/Editionen">
         <we:listview type="document" rows="6" workspaceID="1095" order="we_filename">
      <we:else />
         <we:ifCat categories="/Shop/Gesamtprogramm">
            <we:listview type="document" rows="6" workspaceID="1039,996" order="we_filename">
         <we:else />
            <we:listview type="document" rows="6" workspaceID="985" order="we_filename">
         </we:ifCat>
      </we:ifCat>
   </we:ifCat>
<we:else />
   <we:ifCat categories="/Shop/Neuerscheinungen">
      <we:listview type="document" rows="6" workspaceID="432" order="we_creationdate" desc="true">
   <we:else />
      <we:ifCat categories="/Shop/Editionen">
         <we:listview type="document" rows="6" workspaceID="430" order="we_filename">
      <we:else />
         <we:ifCat categories="/Shop/Gesamtprogramm">
            <we:listview type="document" rows="6" workspaceID="431,432" order="we_filename">
         <we:else />
            <we:listview type="document" rows="6" workspaceID="984" order="we_filename">
         </we:ifCat>
      </we:ifCat>
   </we:ifCat>
</we:ifWorkspace>

<we:ifWorkspace id="985">
   <we:ifCat categories="/Shop/Neuerscheinungen">
      </we:listview>
   <we:else />
      <we:ifCat categories="/Shop/Editionen">
         </we:listview>
      <we:else />
         <we:ifCat categories="/Shop/Gesamtprogramm">
            </we:listview>
         <we:else />
            </we:listview>
         </we:ifCat>
      </we:ifCat>
   </we:ifCat>
<we:else />
   <we:ifCat categories="/Shop/Neuerscheinungen">
      </we:listview>
   <we:else />
      <we:ifCat categories="/Shop/Editionen">
         </we:listview>
      <we:else />
         <we:ifCat categories="/Shop/Gesamtprogramm">
            </we:listview>
         <we:else />
            </we:listview>
         </we:ifCat>
      </we:ifCat>
   </we:ifCat>
</we:ifWorkspace>
Einen offensichtlichen Fehler kann ich allerdings nicht entdecken. Ich vermute mal, dass du uns da ein wenig Code vorenthalten hast. Ev. liegt das Problem dort begraben.

Generell scheint mir das Konstrukt etwas abenteuerlich. Ich würde hier zuerst Variable setzen und dann EINE listview ausgeben. Das würde dann in etwas so aussehen (ungetestet):

Code: Alles auswählen

<we:setVar to="global" nameto="lv_order" value="we_filename" comment="default sort order criterion" />
<we:setVar to="global" nameto="lv_desc" value="false" comment="default sort order direction" />
<we:ifWorkspace id="985">
   <we:setVar to="global" nameto="lv_workspaceIDs" value="985" comment="default workspace" />
   <we:ifCat categories="/Shop/Neuerscheinungen">
      <we:setVar to="global" nameto="lv_workspaceIDs" value="996" />
      <we:setVar to="global" nameto="lv_order" value="we_creationdate" />      
      <we:setVar to="global" nameto="lv_desc" value="false" />
   </we:ifCat>
   <we:ifCat categories="/Shop/Editionen">
      <we:setVar to="global" nameto="lv_workspaceIDs" value="1095" />
   </we:ifCat>
   <we:ifCat categories="/Shop/Editionen">
      <we:setVar to="global" nameto="lv_workspaceIDs" value="1039,996" />
   </we:ifCat>
<we:else/>
   <we:setVar to="global" nameto="lv_workspaceIDs" value="984" comment="default workspace" />
   <we:ifCat categories="/Shop/Neuerscheinungen">
      <we:setVar to="global" nameto="lv_workspaceIDs" value="432" />
      <we:setVar to="global" nameto="lv_order" value="we_creationdate" />      
      <we:setVar to="global" nameto="lv_desc" value="false" />
   </we:ifCat>
   <we:ifCat categories="/Shop/Editionen">
      <we:setVar to="global" nameto="lv_workspaceIDs" value="430" />
   </we:ifCat>
   <we:ifCat categories="/Shop/Editionen">
      <we:setVar to="global" nameto="lv_workspaceIDs" value="431,432" />
   </we:ifCat>
</we:ifWorkspace>

<we:listview type="document" rows="6" workspaceID="$lv_workspaceIDs" order="$lv_order" desc="$lv_desc">
   ...
</we:listview>
Der Ansatz geht natürlich davon aus, dass der Code in der listview für alle Pfade gleich ist.


HTH,
Sascha

Re: Template mit we:listview lässt sich nicht speichern

Verfasst: Di 5. Sep 2017, 20:19
von deobokl
Hi, danke erst mal für die Antworten – hatte gar nicht mit einer so zügigen Reaktion gerechnet und außerdem wird man offenbar nicht informiert, dass der Beitrag freigeschaltet wurde.
Ja und abenteuerlich trifft es ziemlich gut ;)
Es stimmt übrigens dass etwas Code fehlt – allerdings handelt es sich um einen we:repeat, der keinen Einfluss auf die Tags haben dürfte.
Hier trotzdem noch mal der komplette Code:

Code: Alles auswählen

<we:ifWorkspace id="985">

	<we:ifCat categories="/Shop/Neuerscheinungen">

		<we:listview type="document" rows="6" workspaceID="996" order="we_creationdate" desc="true">

			<we:else />

			<we:ifCat categories="/Shop/Editionen">

				<we:listview type="document" rows="6" workspaceID="1095" order="we_filename">

					<we:else />

					<we:ifCat categories="/Shop/Gesamtprogramm">

						<we:listview type="document" rows="6" workspaceID="1039,996" order="we_filename">

							<we:else />

							<we:listview type="document" rows="6" workspaceID="985" order="we_filename">

								</we:ifCat>

							</we:ifCat>

					</we:ifCat>

					<we:else />

					<we:ifCat categories="/Shop/Neuerscheinungen">

						<we:listview type="document" rows="6" workspaceID="432" order="we_creationdate" desc="true">

							<we:else />

							<we:ifCat categories="/Shop/Editionen">

								<we:listview type="document" rows="6" workspaceID="430" order="we_filename">

									<we:else />

									<we:ifCat categories="/Shop/Gesamtprogramm">

										<we:listview type="document" rows="6" workspaceID="431,432" order="we_filename">

											<we:else />

											<we:listview type="document" rows="6" workspaceID="984" order="we_filename">

												</we:ifCat>

											</we:ifCat>

									</we:ifCat>

									</we:ifWorkspace>

								<we:repeat>
									<table class="txt" width="575" border="0" cellspacing="0" cellpadding="0" align="center" style="margin-bottom:10px;">
										<tr>
											<td class="linebottom" rowspan="2" width="100" valign="top"><we:field type="img" name="cover" thumbnail="Buchtitel - Liste Breite 85px"  style="margin-top:3px;"/></td>
											<td class="table1" colspan="4" width="450" valign="top"><span class="txtbold"><we:field name="buchtitel2" /></span><br>
												<we:field type="text" name="buchbeschreibung" max="180" /><br>
												<we:setVar to="global" nameto="v_sprache" from="listview" namefrom="sprache" typefrom="text" />
												<we:setVar to="global" nameto="v_isbn" from="listview" namefrom="isbn" typefrom="text" />
												<a href="<we:field type="href" name="WE_PATH" />"><we:ifWorkspace id="985">more... &raquo;<we:else />mehr... &raquo;</we:ifWorkspace></a><br><we:field name="jahr" /><we:ifVarNotEmpty match="v_sprache" doc="self" type="global">, <we:field name="sprache" /></we:ifVarNotEmpty><we:ifVarNotEmpty match="v_isbn" doc="self" type="global"> / <we:field name="isbn" /></we:ifVarNotEmpty></td>
										</tr>
										<tr>
											<td class="linebottom" width="80">&euro; <we:field name="price" /></td>
											<td class="line" width="80"><we:field name="lieferstatus" /></td>
											<td class="line" width="230"><br></td>
											<td class="line" width="90">
												<we:ifWorkspace id="985">
													<we:setVar to="global" nameto="v_lieferstatus" from="listview" namefrom="lieferstatus" typefrom="text" />
													<we:ifVar name="v_lieferstatus" match="out of print" type="global"><we:else /><we:a id="1168" shop="true" amount="1" shopname="richter"><span class="txtgrey">Order &raquo;</span></we:a></we:ifVar>
													<we:else />
													<we:setVar to="global" nameto="v_lieferstatus" from="listview" namefrom="lieferstatus" typefrom="text" />
													<we:ifVar name="v_lieferstatus" match="vergriffen" type="global"><we:else /><we:a id="446" shop="true" amount="1" shopname="richter"><span class="txtgrey">Bestellen &raquo;</span></we:a></we:ifVar>
												</we:ifWorkspace>
											</td>
										</tr>
									</table>
								</we:repeat>

								<we:ifWorkspace id="985">
									<we:back>« previous</we:back> | <we:next>next »</we:next>
									<we:else />
									<we:back>« zurück</we:back> | <we:next>weiter »</we:next>
								</we:ifWorkspace>

								<we:ifWorkspace id="985">

									<we:ifCat categories="/Shop/Neuerscheinungen">

										</we:listview>

									<we:else />

									<we:ifCat categories="/Shop/Editionen">

										</we:listview>

									<we:else />

									<we:ifCat categories="/Shop/Lieferbare Bücher">

										</we:listview>

									<we:else />

									</we:listview>

							</we:ifCat>

							</we:ifCat>

					</we:ifCat>

					<we:else />

					<we:ifCat categories="/Shop/Neuerscheinungen">

						</we:listview>

					<we:else />

					<we:ifCat categories="/Shop/Editionen">

						</we:listview>

					<we:else />

					<we:ifCat categories="/Shop/Lieferbare Bücher">

						</we:listview>

					<we:else />

				</we:listview>

			</we:ifCat>

			</we:ifCat>

	</we:ifCat>

</we:ifWorkspace>

Re: Template mit we:listview lässt sich nicht speichern

Verfasst: Di 5. Sep 2017, 20:21
von deobokl
Und falls jemand das Template korrigieren kann, könnte man natürlich auch eine Honorarzahlung vereinbaren.
VG Bojo

Re: Template mit we:listview lässt sich nicht speichern

Verfasst: Di 5. Sep 2017, 20:34
von deobokl
Ich hatte ja geschrieben dass es in der 6er und 7er Version eine Änderung gegenüber der 5er Version in der Syntax geben muss, da dieses Template dort funktioniert.
So wie ich das sehe soll eine Liste nur mit allen verfügbaren Büchern ausgegeben werden – wenn man das vereinfachen kann wäre das natürlich die bessere Variante.
VG B

Re: Template mit we:listview lässt sich nicht speichern

Verfasst: Di 5. Sep 2017, 20:40
von blickfang
die Variablen vorher zu setzen und nicht das ganze <we:listview> in die if-Abfragen reinnehmen wäre auch mal der erste Schitt den ich machen würde. Vor allem das schließen der </we:listviews> am Ende des Templates ist ziemlich "abentuerlich".

Man kann die Variablen mit webEdition <we:setVar... >setzen, oder auch mit php und dann in die Listview reinstecken:
Zudem hast Du auch noch eine <we:ifVar...> Abfrage in der Tabelle drin, die Du mit <we:ifNotVar...> schicker/kürer lösen könntest, da bei <we:ifVar ja offenbar eh nichts passiert - (oder da wurde für das Beispiel code weggelassen....)

Code: Alles auswählen

<we:ifWorkspace id="985">
	<we:ifCat categories="/Shop/Neuerscheinungen">
		<?php $workspaceId = '996'; $order = 'we_creationdate'; $desc= 'true'; ?>
	<we:else />
		<we:ifCat categories="/Shop/Editionen">
			<?php $workspaceId = '1095'; $order = 'we_filename'; $desc= 'false'; ?>
		<we:else />
			<we:ifCat categories="/Shop/Gesamtprogramm">
				<?php $workspaceId = '1039,996'; $order = 'we_filename'; $desc= 'false'; ?>
			<we:else />
				<?php $workspaceId = '985'; $order = 'we_filename'; $desc= 'false'; ?>
			</we:ifCat>
		</we:ifCat>
	</we:ifCat>
<we:else />
	<we:ifCat categories="/Shop/Neuerscheinungen">
		<?php $workspaceId = '432'; $order = 'we_creationdate'; $desc= 'true'; ?>
	<we:else />
		<we:ifCat categories="/Shop/Editionen">
			<?php $workspaceId = '430'; $order = 'we_filename'; $desc= 'false'; ?>
		<we:else />
			<we:ifCat categories="/Shop/Gesamtprogramm">
				<?php $workspaceId = '431,432'; $order = 'we_filename'; $desc= 'false'; ?>
			<we:else />
				<?php $workspaceId = '984'; $order = 'we_filename'; $desc= 'false'; ?>
			</we:ifCat>
		</we:ifCat>
	</we:ifCat>
</we:ifWorkspace>

<we:listview name="myListview" type="document" workspaceID="$workspaceId" order"$order" desc="$desc">
	<we:repeat>
		<table class="txt" width="575" border="0" cellspacing="0" cellpadding="0" align="center" style="margin-bottom:10px;">
			<tr>
				<td class="linebottom" rowspan="2" width="100" valign="top">
					<we:field type="img" name="cover" thumbnail="Buchtitel - Liste Breite 85px" style="margin-top:3px;"/>
				</td>
				<td class="table1" colspan="4" width="450" valign="top">
					<span class="txtbold">
						<we:field name="buchtitel2"/>
					</span><br>
					<we:field type="text" name="buchbeschreibung" max="180"/><br>
					<we:setVar to="global" nameto="v_sprache" from="listview" namefrom="sprache" typefrom="text"/>
					<we:setVar to="global" nameto="v_isbn" from="listview" namefrom="isbn" typefrom="text"/>
					<a href="<we:field type=" href " name="WE_PATH " />">
						<we:ifWorkspace id="985">more... &raquo;
							<we:else/>mehr... &raquo;</we:ifWorkspace>
					</a><br>
					<we:field name="jahr"/>
					<we:ifVarNotEmpty match="v_sprache" doc="self" type="global">,
						<we:field name="sprache"/></we:ifVarNotEmpty>
					<we:ifVarNotEmpty match="v_isbn" doc="self" type="global"> /
						<we:field name="isbn"/></we:ifVarNotEmpty>
				</td>
			</tr>
			<tr>
				<td class="linebottom" width="80">&euro;
					<we:field name="price"/>
				</td>
				<td class="line" width="80">
					<we:field name="lieferstatus"/>
				</td>
				<td class="line" width="230"><br>
				</td>
				<td class="line" width="90">
					<we:ifWorkspace id="985">
						<we:setVar to="global" nameto="v_lieferstatus" from="listview" namefrom="lieferstatus" typefrom="text"/>
						<we:ifNotVar name="v_lieferstatus" match="out of print" type="global">
							<we:a id="1168" shop="true" amount="1" shopname="richter">
								<span class="txtgrey">Order &raquo;</span>
							</we:a>
						</we:ifNotVar>
					<we:else/>
						<we:setVar to="global" nameto="v_lieferstatus" from="listview" namefrom="lieferstatus" typefrom="text"/>
						<we:ifNotVar name="v_lieferstatus" match="vergriffen" type="global">
							<we:a id="446" shop="true" amount="1" shopname="richter">
								<span class="txtgrey">Bestellen &raquo;</span>
							</we:a>
						</we:ifNotVar>
					</we:ifWorkspace>
				</td>
			</tr>
		</table>
	</we:repeat>
	<we:ifWorkspace id="985">
		<we:back>« previous</we:back> | <we:next>next »</we:next>
	<we:else />
		<we:back>« zurück</we:back> | <we:next>weiter »</we:next>
	</we:ifWorkspace>
</we:listview>

Re: Template mit we:listview lässt sich nicht speichern

Verfasst: Mi 6. Sep 2017, 10:09
von deobokl
Hallo, danke für den Vorschlag – bei diesem Code erscheint allerdings nun folgende fehlermeldung:
Fehler beim Speichern der Vorlage `/shop/liste-neu.tmpl`!
Fehler in der Vorlage:Das Tag listview ist nicht vollständig! Es fehlt das schließende >!

Woran liegt das denn nun – auch hier ist ja eindeutig das schließende Tag ">" vorhanden...

VG B

Re: Template mit we:listview lässt sich nicht speichern

Verfasst: Mi 6. Sep 2017, 10:12
von deobokl
wenn man alles zwischen "<we:listview" und Schlusstag ">" weglässt gehts...

Re: Template mit we:listview lässt sich nicht speichern

Verfasst: Mi 6. Sep 2017, 10:14
von blickfang
dann geht da evtl. in dem Tabellenkonstrukt igrend ein ifVar oder ifWorkspace oder so zu viel oder zu wenig zu...

Re: Template mit we:listview lässt sich nicht speichern

Verfasst: Sa 9. Sep 2017, 10:47
von deobokl
Nein auch nicht – wenn man den kompletten we:repeat Teil dazwischen weglässt erscheint die Fehlermeldung immer noch...
Grüße Bojo

Re: Template mit we:listview lässt sich nicht speichern

Verfasst: Sa 9. Sep 2017, 10:48
von deobokl
Fehler beim Speichern der Vorlage `/shop/liste-neu.tmpl`!
Fehler in der Vorlage:Das Tag listview ist nicht vollständig! Es fehlt das schließende >!

Re: Template mit we:listview lässt sich nicht speichern

Verfasst: So 10. Sep 2017, 11:16
von deobokl
Hallo Sascha,
sieht so aus, als ob der Code den du gepostet hast funktioniert. Es wird eine Liste ausgegeben und die Fehlermeldung ist weg.
Danke vielmals!

Re: Template mit we:listview lässt sich nicht speichern

Verfasst: So 10. Sep 2017, 22:39
von WBTMagnum
Hallo deoboki,

Freut mich, dass das geklappt hat.

Liebe Grüße,
Sascha