Quote from: TylerD at Sep 01, 2006, 11:50 AMDans mon site Internet j’ai des Actualités (environ 3 à 5 news par jour), des Dossiers classés par Thèmes et par Types (Petits articles, dossiers, tutoriels, annexes, ...), plusieurs Annuaire de liens et un forum en IPB, des pages statiques et des petites applications PHP/MySQL.
J’avoue que je ne comprend pas très bien comment organiser toutes mes données à l’intérieur de la console d’administration (un dossier par sections de mon site ?) Comment organiser son site ?
OK rentrons un peu dans le détail. MODx gère les contenus selon une logique dossier/document, en gros de manière similaire à une arborescence hiérarchique comme dans un explorateur. C’est une logique différente de celle qui consiste à définir des catégories auxquelles appartiennent des articles, principalement car dans la majorité des cas les catégories sont non-hiérarchiques. Ceci dit, MODx permet aussi une catégorisation des documents de manière non-hiérachique via les mots clés et les tags.
Il faut bien comprendre que le concept de document est plus souple que celui d’article : l’article est un concept issu des publications périodiques (journaux, magazines...) alors qu’un document n’est pas un contenu "typé". Ca peut être un article, mais un document peut aussi être une fiche produit, une galerie photo, une feuille de style, un fichier pdf... etc. La structure des contenus est libre, surtout grâce à la création facile de champs customs relié à tes templates (les fameuses variables de modèles ou TV).
Par exemple,
pour gérer tes actualités, tu disposes d’un snippet appelé
Ditto. Ce snippet très puissant te permet d’extraire des documents d’un ou plusieurs dossiers, selon des critères entièrements personnalisables.
(Pour toi, tu créé le dossier "Actualités", le dossiers "Dossiers", les dossiers "Annuaire1", "Annuaire2"... etc.) Cela inclu la possibilité de trier selon une variable custom : par exemple, tu créé une variable de modèle "type_article" et tu lui donnes les valeurs possibles : petits articles, dossiers, tutoriels, annexes... C’est une option si tes documents ont la même structure et que tu veux rajouter une liste déroulante pour que l’éditeur choisisse le type d’article.
Dans le cas où les champs de tes différents type d’item sont différents (vu leur nature, ca doit être le cas pour toi), le mieux est alors de créer un dossier "articles" dans lequel tu rangeras un dossier par type de document. A chacun de ces dossiers, tu affecteras un template auquel est rattaché tes variables de modèles (tes champs customs). Tu pourra ensuite effectuer une extraction des items de chaque dossiers en utilisant le paramètre startID.
Par exemple, dans mon cas pour un de mes sites, j’appelle les communiques situés dans le dossier avec l’ID 8, je veux que 10 items soit affichés, triés par date de modification, et utilisent le micro-template approprié :
[!Ditto? &startID=`8` &summarize=`10` &sortBy=`editedon` &tpl=`tpl_communique_liste` !]
Pour te donner une idée, mon micro-template (le chunk qui me permet de contrôler les variables et le code html utilisé pour l’affichage de la liste) ressemble à ça :
<div class="liste">
<h3 class="articles">[+pagetitle+]</h3>
<p>[+introtext+]</p>
<div class="info">par <strong>[+author+]</strong> le
[+tvdate_parution_contenu+] | <a href="[~[+id+]~]">Lire la suite...</a></div>
</div>
Assez classique... mais j’ai aussi un exemple de micro-template ou j’appelle des fiches produits, et donc j’utilise massivement les variables customs :
<div class="liste_fiche_societe">
<h3>[+tvcivilite+] [+tvtitre_contact+] [+tvprenom_contact+] [+tvnom_contact+]<br /><span style="color: #666;">[+tvfonction_contact+]</span> </h3>
<strong>Ligne Directe :</strong> [+tvtel_ligne_directe+]<br />
<strong>Télécopie :</strong> [+tvtelecopie+]<br />
<strong>Mobile :</strong> [+tvtel_portable+]<br />
<strong>Email :</strong> <a href="mailto:[+tvemail_contact+]">[+tvemail_contact+]</a><br />
<a href="[~[+id+]~]" class="lien_detail">» Détail de la fiche...</a>
</div>
C’est juste pour te montrer le principe, il faudra quand même se plonger dans la doc de Ditto pour vraiment comprendre le fonctionnement.
Pour
le forum IPB, pas encore de module existant qui intégre MODx et IPB (notamment synchro utilisateurs), mais ça finira certainement par arriver. On a pour l’instant un module SMF, un experimental pour Phorum.
Pour
les pages statiques, tu peux utiliser la fonction d’import dans MODx ou alors faire un copier coller tout simplement...
Pour
les applications PHP, je laisserai les codeurs répondre, soit faire un include ou alors adapter ça en snippet...