Provando la mia proposta ho visto che non funziona come pensavo.
Prima di tutto ho un errore di battuta in tutte e due le chiamate ditto: Manca il "&" prima di "parents". Le chiamate corrette sono queste:
[!Ditto? &parents=`[*id*]` &depth=`1` &sortBy=`menuindex` &sortDir=`ASC` &tpl=`template_categorie` &display=`99` !]
[[Ditto? &parents=`[*id*]` &depth=`1` &sortBy=`menuindex` &sortDir=`ASC` &tpl=`template_prodotti` &display=`99` ]]
Ma c’è anche uno sbaglio di logica:
La seconda chiamata ditto non deve trovarsi nel template_categorie, ma invece nel contenuto del documento categoria1 e ugualmente nel contenuto del documento categoria2. Solamente in questo modo il valore di [*id*] sara quello della categoria attuale.
Ho provato questa soluzione in pratica usando una istallazione die MODx con il Minimal Template. Appendo un screenshot del risultato.
Saluti e auguri
ottogal