Servus Marc!
Und? Hast Du es schon selbst raus? Zuerst war’s knifflig, dann aber irgendwie doch ganz einfach und logisch

Ansonsten glaube ich wäre man mit einem Wayfinder, der alle DB-Felder und TVs läd besser bedient. Habs aber nicht versucht bisher.
Das Dokument das die Auflistung hervorbringen soll
<div id="wrapperListe">
[[Ditto?parents=`162`&tpl=`liste_rekursiv`&display=`all`&sortDir=`ASC`]]
</div>
chunk :: " liste_rekursiv "
[+id:hatKinder:is=`1`:then=`{{liste_rekursiv_verzeichnis}}`:else=`{{liste_rekursiv_element}}`+]
chunk :: " liste_rekursiv_verzeichnis "
<div class="wrapperKategorie">
<h2 class="ebene[+id:ebene+]">[+pagetitle+]</h2>
[[Ditto?parents=`[+id+]`&tpl=`liste_rekursiv`&display=`all`&sortDir=`ASC`]]
</div>
chunk :: " liste_rekursiv_element "
<div class="wrapperElement">
[+pagetitle+]
</div>
snippet :: " hatKinder "
Name : phx:hatKinder
<?php
if( isset( $output ) )
{
$dokument_id = (int) $output;
$kinder = $modx->getActiveChildren( $dokument_id );
if( !$kinder === false )
{
$anzahl_kinder = count( $kinder );
if( $anzahl_kinder > 0 )
{
return 1;
}
else
{
return 0;
}
}
else
{
return 0;
}
}
else
{
return 0;
}
?>
Optional
snippet :: " ebene "
Name : " phx:ebene "
<?php
if( isset( $output ) )
{
$dokument_id = (int) $output;
$eltern = $modx->getParentIds( $dokument_id );
if( !$eltern === false )
{
$anzahl_eltern = count( $eltern );
return $anzahl_eltern; // ist halt auch die Ebene
}
else
{
return 0;
}
}
else
{
return 0;
}
?>
Die phx snippets können auch im Dateisystem im Verzeichnis "/assets/plugins/phx/modifiers" abgeleget werden. Finde ich persönlich günstiger weil besser zu bearbeiten.
Zur besseren Visualisierung der Verschachtelung kanns Du ja mal noch die Formatierung einbauen
div#wrapperListe{ border:1px solid #000 }
div#wrapperListe div{ border:1px solid #000;margin:5px;margin-left:15px;padding:5px; }
div#wrapperListe div.wrapperElement{ border-color:#F00; }
Wenn Du das snippet " ebene " verwendest, kannst Du die Tiefe der Verschachtelung feststellen und im CSS damit den Weg zum Element abkürzen.
div#wrapperListe div.wrapperKategorie2{ }
div#wrapperListe div.wrapperElement2{ }
div#wrapperListe h2.ebene2{ background-color: #F00; }
div#wrapperListe h2.ebene3{ background-color: #0F0; }
Falls es ein Problem gibt, helfe ich gerne, denn genau so sollte es funktionieren und daher können Probleme ja nicht sooo gewaltig sein.
ciao, Stefan