Seite 1 von 1

Verschachtelte Listeview Multiobject nicht mehr möglich

Verfasst: So 7. Mai 2017, 12:09
von Carrear
Hey Leute,

ich kann euch leider nicht sagen seit wann das folgende der Fall ist. Früher konnte ich multiobject listviews verschachteln.
Zum Beispiel:

Code: Alles auswählen

	<we:listview type="object" name="buecher" classid="3" searchable="false" workspaceID="$buecherordnerid" objectseourls="true">
		<we:repeat>
			<we:listview type="multiobject" name="Filterbegriffe" classid="2" searchable="false" objectseourls="true">
				<we:repeat>
					<we:field type="text" name="Name" to="global" nameto="term" />
					<we:field type="text" name="Sortierung" to="global" nameto="sortierung" />
					<we:listview type="multiobject" name="Filterkategorie" classid="2" searchable="false" objectseourls="true">
						<we:repeat>
							<we:field type="text" name="Name" to="global" nameto="vocabulary" />
							<we:field type="text" name="Art" to="global" nameto="type" />
							// Irgendwas
						</we:repeat>
					</we:listview>
				</we:repeat>
			</we:listview>
		</we:repeat>
	</we:listview>
Das hat wunderbar funktioniert - auf jeden fall bis Version 6.4.4 - da hatte ich es nämlich geschrieben. Der Kunde hatte jetzt eine ganze Zeit keine Updates beauftragt. Jetzt habe ich direkt die Updates bis zur 7.0.3 durchgezogen und jetzt funktioniert es nicht mehr. Ich empfinde das als einen Rückschritt. Jetzt muss ich einmal den Multiobject Listview auf Klasse zwei durchlaufen lassen, alle ID's in einein kommaseparierten String laufen lassen und dann HINTER dem ganzen den Listview nochmal einzeln aufrufen um an die Multiobjekte zu kommen:

Code: Alles auswählen

	<we:listview type="object" name="buecher" classid="3" searchable="false" workspaceID="$buecherordnerid" objectseourls="true">
		<we:repeat>
			<we:listview type="multiobject" name="Filterbegriffe" classid="2" searchable="false" objectseourls="true">
				<we:repeat>
					<we:field type="text" name="WE_ID" to="global" nameto="o-id" />
					<?php 
					$filterbegriffe[ $GLOBALS['o-id'] ] = 1;
					?>
				</we:repeat>
			</we:listview>
		</we:repeat>
	</we:listview>
	<?php $filterKeys = implode(",",array_keys($filterbegriffe)); ?>
	<we:listview type="object" name="Filterbegriffe" classid="2" id="$filterKeys" searchable="false" objectseourls="true">
		<we:repeat>
			<we:field type="text" name="Name" to="global" nameto="term" />
			<we:field type="text" name="Sortierung" to="global" nameto="sortierung" />
			<we:listview type="multiobject" name="Filterkategorie" classid="1" searchable="false" objectseourls="true">
				<we:repeat>
					<we:field type="text" name="Name" to="global" nameto="vocabulary" />
					<we:field type="text" name="Art" to="global" nameto="type" />
					// Irgendwas
				</we:repeat>
			</we:listview>
		</we:repeat>
	</we:listview>
Das ist von hinten durchs Nadelöhr - warum kann ich den weg von zuvor nicht mehr gehen?

Beste Grüße
Martin

Re: Verschachtelte Listeview Multiobject nicht mehr möglich

Verfasst: So 7. Mai 2017, 22:46
von WBTMagnum
Hallo Martin,

So wie du das beschreibst vermute ich, dass du von folgendem Bug betroffen bist: 0011263: Multiobjekt in Multiobjekt geht nicht.

Mit 7.0.4 sollte das behoben sein. Wenn's pressiert, kannst du ja versuchen den Patch zu Cherrypicken (sh. http://sourceforge.net/p/webedition/code/13427/).

HTH,
Sascha

Re: Verschachtelte Listeview Multiobject nicht mehr möglich

Verfasst: Mo 8. Mai 2017, 08:36
von Carrear
Ah super ! Freut mich, dass das schon behoben ist. Habs jetzt für den Kunden erstmal wie oben beschrieben behoben. Warte dann lieber bis der Bug in einem offiziellen Update vorhanden ist. Alles andere ist meiner Erfahrunge nach zu unsicher :D