sort_by: published or attribute

eZ publish
05.06.2014

Die Challenge: Eine Liste soll zwei unterschiedliche Klassen ausgeben, die obendrein gemischt sortiert werden muss.

Die sort_by Option der fetch-Funktion ist für einfache Sortierung gedacht, versagt hier jedoch kläglich.

Der erste Teil, zwei unterschiedliche Klassen abfragen, ist noch Standard und problemlos:

'class_filter_type', 'include',
'class_filter_array',array('article','article_print')

sort by published

Das einfache sortieren nach Erstellungsdatum einer Node ist ebenfalls einfach:

'sort_by', array('published',false())

sort by attribute

Ebenso einfach ist die alternative Sortierung nach einem Attribut:

'sort_by', array('attribute',false,'article_print/date_release')

Die Herausforderung ist nun, die "published" Sortierung mit der "attribute" Sortierung zu kombinieren.

Nachdem ich nach langen Forschen, Recherchieren und Experimentieren auf keinen grünen Zweig gekommen bin, habe ich mich für eine anderen Lösung entschieden:

sort objects

Ich hole alle Nodes unsortiert und hole das Sortieren dann nach:

{def $children = array()}
{foreach $items as $item}
    {if $item.data_map.date_release.has_content}
        {set $children=$children|append(hash('date',$item.data_map.date_release.data_int,'ezobject',$item))}
    {else}
        {set $children=$children|append(hash('date',$item.object.published,'ezobject',$item))}
    {/if}
{/foreach}
{set $children=$children|rsort()}
comments powered by Disqus

Audio

ram to mp3

Tux

Wie so oft, so auch diesmal: Eine in dieser Form unbrauchbare Datei muss in ein verwertbares Format umgewandelt werden.

Heute soll aus einer RealMedia / RealAudio Datei (.ram) eine mp3 Datei erzeugt werden.

Das Mittel der Wahl: Die Kommandozeile und die beiden Tools mplayer und lame.

A ? B C D E F G H I J K L M N O P Q R S T U V W Z