listview type="object" nach datumsfeld (Jahr) gruppieren

Hier können Sie Fragen bezüglich des Datenbank-/Objektmoduls stellen.
hotcroc
Member
Beiträge: 59
Registriert: Do 23. Sep 2010, 03:15
Wohnort: Melbourne, Australien

listview type="object" nach datumsfeld (Jahr) gruppieren

Beitragvon hotcroc » Fr 7. Aug 2015, 02:51

Tach auch.

Ich habe ca 5000 Objekteintraege fuer Musikalben. Jedes Objekt hat ein Veroeffentlichungsdatum das in einem WE-Datumsfeld gespeichert ist. Nun moechte ich eine Liste per Listview generieren die alle EIntraege nach Jahr gruppiert. Also ungefaer so:

2015
- Album Eins
- Album Zwei
- ...

2014
- Album Eins
- Album Zwei
- ...

2013
- Album Eins
- Album Zwei
- ...

Wie geh ich denn das am best en an? Meine PHP-Kenntnisse sind leider sehr beschraenkt, braeuchte also einen Loesungsansatz in Codeform nicht nur als Konzept.

ThomasGoebe

Re: listview type="object" nach datumsfeld (Jahr) gruppieren

Beitragvon ThomasGoebe » Fr 7. Aug 2015, 09:57

ungefähr so:

Code: Alles auswählen

<we:setVar to="global" nameto="Jahr" value="0" />

<we:listview order="Albumjahr" desc="true">
  <we:repeat>
    <we:field name="Albumjahr" type="date" format="Y" to="global" nameto="Albumjahr" />
    <?php if ($GLOBALS['Albumjahr'] !== $GLOBALS['Jahr']) { ?>
      <h2><we:var name="Albumjahr" type="global"></h2>
      <we:field name="Albumjahr" type="date" format="Y" to="global" nameto="Jahr" />
    <?php } ?>
    <we:field name="Albumtitel" /><br>
  </we:repeat>
</we:listview>
Zuletzt geändert von ThomasGoebe am Fr 7. Aug 2015, 09:59, insgesamt 1-mal geändert.
Grund: Fehler im Code behoben

hotcroc
Member
Beiträge: 59
Registriert: Do 23. Sep 2010, 03:15
Wohnort: Melbourne, Australien

Re: listview type="object" nach datumsfeld (Jahr) gruppieren

Beitragvon hotcroc » Mo 10. Aug 2015, 04:00

Wow, danke Thomas. Funktioniert prima und ich verstehe den Code sogar.

AndreasWitt

Re: listview type="object" nach datumsfeld (Jahr) gruppieren

Beitragvon AndreasWitt » So 30. Aug 2015, 00:46

... hier noch mal der Code ohne PHP :)

Code: Alles auswählen

<we:setVar to="global" nameto="Jahr" value="0" />

<we:listview order="Albumjahr" desc="true">
  <we:repeat>
    <we:field name="Albumjahr" type="date" format="Y" to="global" nameto="Albumjahr" />
    <we:ifNotVar type="global" name="Albumjahr" match="\$Jahr" operator="equal">
      <h2><we:var name="Albumjahr" type="global"></h2>
      <we:field name="Albumjahr" type="date" format="Y" to="global" nameto="Jahr" />
    </we:ifNotVar>
    <we:field name="Albumtitel" /><br>
  </we:repeat>
</we:listview>


Zurück zu „DB-/Objektmodul“

Wer ist online?

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