Bonjour,
Je suis nouvel utilisateur de ModX et je me suis mis à bricoler un peu.
En fait je voulais faire un Blog où mes news seraient triées par catégorie. Donc là pas de problème je crée un répertoire blog qui contient différents sous-répertoires (un sous-répertoire par catégorie). Ensuite je mets mes différentes news dans le bon sous-répertoire.
Sur ma page de départ du blog je veux que toutes les news apparaissent. Là pas de problème non plus je m’en sors avec le code suivant:
[[NewsListing? &tpl=`NewsTemplate` &summarize=`3` &trunc=`true` &truncLen=`100` &filter=`parent,2,2` &multilevel=`1` &levelLimit=`2` ]]
je filtre toutes les news qui ne sont pas des catégories (donc qui n’ont pas comme parent l’Id numéro 2 qui est l’Id de mon blog), j’affiche les news à l’intérieur des catégories (en demandant à prendre en compte les sous-niveaux avec multilevel qui a pour valeur 1) et je met la valeur levelLimit à 2 (pour ne pas voir les commentaires)
Et là je veux pouvoir sur chaque news afficher le titre de la catégorie (c’est-à-dire le titre de ma catégorie) et son id (pour faire un lien-dessus).
Il faut donc que je récupère les infos du parent. Ensuite je veux utiliser ces infos dans mon template de mise en forme de news en les récupérant directement grâce à des varaibles [+idparent+], [+titleparent+].
J’ai donc rajouté les lignes suivantes dans le snippet newslisting:
//on va chercher les informations sur le parent grâce à la fonction getParent
$parent = $modx->getParent($resource[$x]['id'],1,'id,pagetitle,description,alias,parent');
//on affecte les valeurs pour qu'elles soient réutilisables
$placeholders['[+titleparent+]'] = $parent['pagetitle']);
$placeholders['[+descriptionparent+]'] = $parent['description']);
$placeholders['[+idparent+]'] = $parent['id']);
$placeholders['[+aliasparent+]'] = $parent['alias']);
$placeholders['[+parentparent+]'] = $parent['parent']);
juste après la ligne
// Set placeholders that can be used in the Chunk
Ensuite j’utilise le template de news suivant:
<div id="ResumeBillet">
<h3>
<a href="[~[+id+]~]">[+title+]</a>
</h3>
<div id="CategorieBillet">
<span class="TexteCategorie">catégorie:</span>
<span class="LienCategorie"><a href="[~[+idparent+]~]">[+titleparent+]</a></span>
</div>
<div id="TexteResume">
<span class="Texte">[+summary+]</span>
<span class="Lien">[+link+]</span>
</div>
<div id="DateBillet">
publié le [+date+]
</div>
<div id="LienCommentaire">
<a href="[~[+id+]~]#comments">
voir les réactions([[UserCommentsCount?docid=[+id+]]])
</a>
</div>
</div>
ce qui donne