Objektlistview nach Category Title sortieren

Fragen zum Erstellen von Templates für webEdition.
Benutzeravatar
Finn
Senior Member
Beiträge: 285
Registriert: Mo 3. Apr 2017, 13:37
Wohnort: Bremen
Kontaktdaten:

Objektlistview nach Category Title sortieren

Beitragvon Finn » Fr 20. Jul 2018, 11:53

Moin Moin,

ich habe folgende Situation:

Ein Objektlistview gibt eine Übersicht über diverse Obstsorten aus. Dabei hat jedes Objekt eine Kategorie wie z.B. Apfel, Birne usw.

Wenn ich jetzt für die Listview eine Sortierung angebe, wird anhand der Category ID sortiert, nicht anhand des Category Titels.

Komme ich irgendwie an den Titel dran um nach diesem zu Sortieren?

Aktuell kann ich den Titel der Category über folgenden Code in der Tabelle ausgeben, aber schön wäre auch eine Sortierung danach:

Code: Alles auswählen

<we:field type="text" name="we_category" to="global" nameto="var_cat" />
<we:category  id="$var_cat"/>
Hier die ganze Listview:

Code: Alles auswählen

<we:listview type="object" name="objekt-pflege" workspaceID="39" classid="5">
	<table>
		<thead>
			<th>Obst</th>
			<th>Name</th>
			<th>Bild</th>
			<th>Preis / 500g</th>
			<th>Preis / 1kg</th>
			<th>Verfügbar</th>
			<th>Bearbeiten</th>
		</thead>
		<tbody>
			<we:repeat>
				<we:field type="text" name="we_category" to="global" nameto="var_cat" />
				<we:field nameto="var_verfuegbarkeit" to="global" type="checkbox" name="Verfuegbarkeit" />
				<tr>
					<td><we:category  id="$var_cat"/></td>
					<td><we:field type="text" name="Title" /> <we:field type="text" name="Sorte" /></td>
					<td><we:field type="img" name="Bild" /></td>
					<td><we:field type="text" name="Preis_500g" /><we:ifFieldNotEmpty match="Preis_500g"> €</we:ifFieldNotEmpty></td>
					<td><we:field type="text" name="Preis_1kg" /><we:ifFieldNotEmpty match="Preis_1kg"> €</we:ifFieldNotEmpty> </td>
					<td><we:ifVar name="var_verfuegbarkeit" match="1" type="global"> <span style="color: green;">Verfügbar</span> <we:else />  <span style="color: red;">Nicht Verfügbar</span> </we:ifVar></td>
					<td><a class="fancybox" data-fancybox data-type="iframe" data-src="/_extras/objekte/single_objekt_view.php?we_editObject_ID=<we:field type="int" name="we_id" />" href="javascript:;">
						Bearbeiten 
						</a></td>  
				</tr>
			</we:repeat>
		</tbody>
	</table>
</we:listview>
Danke für eure Hilfe!

LG
Finn
Finn Thorwarth
WG Werbeagentur
https://www.wg-werbeagentur.de

Benutzeravatar
blickfang
webEdition Partner
webEdition Partner
Beiträge: 812
Registriert: Mo 15. Dez 2003, 16:00
Kontaktdaten:

Re: Objektlistview nach Category Title sortieren

Beitragvon blickfang » Fr 20. Jul 2018, 12:38

Hi Finn,
ich vermute das wirst Du direkt über die Listview nicht hinbekommen. Ich würde vermutlich so vorgehene, dass ich erst eine Listview mache um die Kategorien und Objekt-Ids zu bekommen, diese dann in einem Aray merken und über das Array dann schleifen um mit <we:object> die Objekte ind er gewünschten Reihenfolge (nach beliebigem Sortieren des Array) ausgeben.

Wenn Du dann aber noch mit Paginierung o.ä. arbeiten willst, wird ekelig ;-)
Viele Grüße
Timo
webEdition Partner - https://www.blickfang-media.com
Ehemals im Vorstand des webEdition e.V.

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

Re: Objektlistview nach Category Title sortieren

Beitragvon mokraemer » Sa 21. Jul 2018, 10:19

Nein, das geht generell nicht über die LV, da ein Objekt ja mehrere Kategorien haben kann würde entweder das Objekt bei der Ausgabe dupliziert oder es wäre zufällig eine der gewählten Kategorien. Wenn es hier eine Idee gibt, nehmen wir das gern auf.
Alternativ zu php kannst du natürlich über js (jquery) die Tabelle sortierbar bzw. nach einer der Spalten noch sortieren (wie Timo schon sagt halt nur nicht mit Paginierung).
webEdition-Kern-Entwickler

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

Re: Objektlistview nach Category Title sortieren

Beitragvon WBTMagnum » So 22. Jul 2018, 21:52

mokraemer hat geschrieben: Sa 21. Jul 2018, 10:19Alternativ zu php kannst du natürlich über js (jquery) die Tabelle sortierbar bzw. nach einer der Spalten noch sortieren (wie Timo schon sagt halt nur nicht mit Paginierung).
Mit DataTables bekommst du Sortierung und Paginierung (alles clientseitig).

Liebe Grüße,
Sascha

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

Re: Objektlistview nach Category Title sortieren

Beitragvon mokraemer » So 22. Jul 2018, 21:57

Mit DataTables bekommst du Sortierung und Paginierung (alles clientseitig).
Sicher, nur müssen dafür halt alle Daten gezogen werden. Für kleine Listen ist das machbar, bei großen kostet das halt auch Performance. Aber evtl. erfüllt das genau den gesuchten Zweck.
webEdition-Kern-Entwickler

Benutzeravatar
Finn
Senior Member
Beiträge: 285
Registriert: Mo 3. Apr 2017, 13:37
Wohnort: Bremen
Kontaktdaten:

Re: Objektlistview nach Category Title sortieren

Beitragvon Finn » Mo 23. Jul 2018, 14:29

Moin Moin,

danke für den Hinweis, das Problem ist, dass diese Liste ca. 50 Einträge haben wird. Diese werden mit Frontendediting bearbeitet, dies erfolgt in einem Fancybox iFrame.

Da Statusänderungen sichtbar werden sollen, wird automatisch nach dem Schließen des iFrames ein Reload der Seite durchgeführt.

Ich kann mir bei Clientseitigen Lösungen vorstellen, dass die Ladezeit pro Arbeitsvorgang deutlich erhöht werden würde. Da wäre Abhilfe geschaffen wenn ich eine AJAX Lösung zum Neuladen von bestimmten Objektfeldern innerhalb eines Listviews hätte, da habe ich allerdings keine Ahnung wie ich das machen soll und ob das überhaupt geht.

Auf eine Paginierung könnte ich verzichten.

Ich werde eine Clientseitige Lösung mal Testen, zur Not muss ich halt ein Feld für die Sortierung ins Objekt setzen und dieses muss dann händisch gepflegt werden.
Finn Thorwarth
WG Werbeagentur
https://www.wg-werbeagentur.de


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

Wer ist online?

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