Basically, I created TVs for every field I needed. Then I templated the listing with a chunk (Ditto’s &tpl parameter) and the detailed page with a specific template.
The "bad" thing that I did (really it was "bricolage" as we say in french), is I used multiple NewsListing’s calls, one for each alphabet letter. And on top of every field I set up a TV with an alphabet selector, so the editor has to select the alphabet sorting key -> the tv named alpha and used as hiddentv in the call beyond (not really cool, but I didn’t know any other way to do it, I am not MySQL proficient...).
Did it like this :
<h1 id="A">A</h1>
[[NewsListing? &startID=`72` &tpl=`fiche_alpha` &filter=`tvalpha,A,1` &hiddentv=`alpha` &sortdir=`asc` &summarize=`500` &hidefolders=`true` &emptytext=``]]
<h1 id="B">B</h1>
[[NewsListing? &startID=`72` &tpl=`fiche_alpha` &filter=`tvalpha,B,1` &hiddentv=`alpha` &hidefolders=`true` &sortdir=`asc` &summarize=`500` &emptytext=``]]
<h1 id="C">C</h1>
[[NewsListing? &startID=`72` &tpl=`fiche_alpha` &filter=`tvalpha,C,1` &hiddentv=`alpha` &hidefolders=`true` &sortdir=`asc` &summarize=`500` &emptytext=``]]
... and so on.
The alphabet selector is just a list of anchor links styled with CSS
At the time, Ditto and
AtoZ listing was not out and in fact, I have to update this website with it, it will be much cleaner.
My &tpl chunk is this :
<div class="fiche"><h3><a href="[~[+id+]~]" title="Consulter la fiche de [+tvprenom+] [+tvnom+]">[+tvprenom+] [+tvnom+]</a> - [+tvfonction+]</h3></div>
And my detailed page template looks like this :
<div class="fiche">
<h3>[*prenom*] [*nom*]</h3>
<table id="detail">
<tr>
<th>Fonction :</th>
<td>[*fonction*]</td>
</tr>
<tr>
<th>Ligne Directe:</th>
<td>[*tel*]</td>
</tr>
<tr>
<th>Fax Direct:</th>
<td>[*fax*]</td>
</tr>
<tr>
<th>Email :</th>
<td><a href="mailto:[*email*]" title="Ecrire à [*prenom*] [*nom*]" style="text-decoration: none">[*email*]</a></td>
</tr>
</table>
</div>
It was the second website I did with MODx, so as you can see it’s far from being the best way to go (quite ugly in fact), even if it renders OK.