Dokument Listview mit Kategorien

Fragen zum Erstellen von Templates für webEdition.
mtbrmatze
Senior Member
Beiträge: 136
Registriert: Di 22. Jan 2013, 19:46

Dokument Listview mit Kategorien

Beitragvon mtbrmatze » Mi 10. Jan 2018, 19:34

Hallo,
ich habe hier ein kleines Anliegen und bitte um Lösungsvorschläge.
Es geht um Events: Es gibt Mini Events und Mega Events welche durch die Kategorie gekennzeichnet sind. Dokumenttyp ist der selbe.

Beispiel:

01. April MiniEvent1 Kategorie: Mini
02. April MiniEvent2 Kategorie: Mini
05. April Megaevent1 Kategorie: Mega
06. April Minievent3 Kategorie: Mini
...
10 April Megaevent Kategorie: Mega
...
Nun sollte meine Listview alle MiniEvents aber nur ein Megaevent ausgeben, und natürlich auch nur Events in der Zukunft. Letzeres klappt mit der Datumsabfrage, aber ich habe jetzt keine Ahnung wie ich eine Kategorie auf einen Eintrag beschränken kann.

Code: Alles auswählen

		<we:listview type="document" doctype="Events" categories="/Mini,/Mega" catOr="true" order="StartDatum" >
		<?php $i=1; ?>
		<we:repeat>
		<?php if(date("Ymd", $lv->f("StartDatum")) >= date("Ymd", time()) && $i <=30): ?>
			<we:field name="StartDatum" type="date" format="d.m."/>
			<we:field name="EventName" type="Text" />
		<?php $i++; ?>
		<?php endif; ?>
		</we:repeat>
		</we:listview>
Zwei Listviews sind keine Option, da die Events vermischt sind und die Reihenfolge nach Datum erhalten bleiben soll.

Danke für einen Lösungsvorschlag

Matze

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

Re: Dokument Listview mit Kategorien

Beitragvon blickfang » Mi 10. Jan 2018, 21:17

Hi Matze,
Du kannst die Listview mit categories oder categoryid filtern, das sollte genau so klappen wie Du es schon gemacht hast. Wenn Du aber nur ein Megaevent in der Liste haben möchtest, bekommst Du das meiner Meinung nach mit einer Listview nicht hin.

Was spricht dagegen erst das Megaevent zu holen, Dir das zu merken und dann in der Listview der Mini-Events einfach einzubauen?

Code: Alles auswählen

<we:listview name="minievents">
<we:repeat>

<we:ifField name="Startdatum" operator="greater" match="{timestamp vom Megaevent}">
Hier kommt das megaevent
</we:field>

## hier kommt das Mini-Event
</we:repeat>
</we:listview>
Natürlich muss man die Abfrage, wan das Mega-Event wo reingepflanzt wird noch im Detail machen, aber mal vom Prinzip her...

Viele Grüße
Timo
webEdition Partner - https://www.blickfang-media.com
Ehemals im Vorstand des webEdition e.V.

mtbrmatze
Senior Member
Beiträge: 136
Registriert: Di 22. Jan 2013, 19:46

Re: Dokument Listview mit Kategorien

Beitragvon mtbrmatze » Do 11. Jan 2018, 16:47

Hallo Timo,

danke für deine nette Antwort. Leider kann ich aus deiner Antwort nur soviel herausziehen, dass die Listview so machbar ist, aber ich ich versteh deinen Codeansatz nicht, sorry. :x

Code: Alles auswählen

<we:ifField name="Startdatum" operator="greater" match="{timestamp vom Megaevent}">
Hier kommt das megaevent
</we:field>
Bedeutet dieser Code, dass nur Dokumente angezeigt werden, welche vom Datum in der Zukunft liegen?

Code: Alles auswählen

<we:field name="StartDatum" type="date" operator="greater" match="1515680056"> 
Kann hier code rein??
</we:field>
Hier wird einfach nur das Datum ausgegeben, und es sind in der Listview auch ältere dabei.

Wie kann ich denn die Listview über categories filtern? Das wäre dann ja genau das was ich will. Ein Mega Event, alle Minis und sortiert nach Startdatum geht von Haus aus.

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

Re: Dokument Listview mit Kategorien

Beitragvon blickfang » Do 11. Jan 2018, 17:05

der Ansatz wäre, sich in einer ersten Listview das Mega-Event zu holen und irgendwie zu merken

Code: Alles auswählen

<we:listview name="listview1">
<we:repeat>
<we:field name="WE_ID" to="global" nameto="megaEventId" />
<we:field name="startDatum" to="global" nameto="megaEventStartdatum" />
</we:repeat>
<we:listview>
und in der zweiten Listview nur die MiniEvents zu holen und an der Stelle wo es zeitlich passt, das Mega-Event reinzuschummeln.

Code: Alles auswählen

<we:listview name="listview2">
<we:repeat>
 <we:ifField name="Startdatum" operator="greater" match="\megaEventStartdatum">
  <we:object id="\$megaEventId" name="deinMegaEventvonOben">
    <we:field name="blub" />...
  </we:object>
 </we:field>
</we:repeat>
</we:listview>
webEdition Partner - https://www.blickfang-media.com
Ehemals im Vorstand des webEdition e.V.


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

Wer ist online?

Mitglieder in diesem Forum: Ahrefs [Bot] und 9 Gäste