Bon voilà comment je procède :
j’ai crée un répertoire nommé
fiches annuaire.
dans ce répertoire je crée autant de sous-repertoire que souhaités (modifiable par l’utilisateur du site), appellés par exemple :
Ameublement,
Accessoire festif, etc..
Ensuite dans tout ces répertoires j’ai des fiches commerçants (des documents modx).
Pour le code,
j’ai créé une page
annuaire dans laquelle j’ai mis l’appel à un snippet comme ceci :
.
dans le snippet
Sommaire_annuaire, on trouve le code suivant :
<?php
$rubrique = 55;
$active=1;
$deleted=0;
$commercants = $modx->getDocumentChildren($rubrique, $active, $deleted, 'id');
echo "<table border='0' cellpadding='0' cellspacing='2'>";
echo "<tr>"; //ligne 1
for($i=0; $i<sizeof($commercants);$i++) {
$id_doc = $commercants[$i]['id'];
$nom_commercant = $modx->getDocument($id_doc, 'pagetitle');
$alias_commercant = $modx->getDocument($id_doc,'alias');
$lien = "<a class='btRub' href=\"".$alias_commercant['alias'] ."\">".$nom_commercant['pagetitle']."</a>";
echo "<td class='btRub' width='152' height='48'>$lien</td>";
$nbCellules++;
if($nbCellules == 3) { echo "</tr><tr>"; $nbCellules=0;}
//echo "<br/>"; echo $lien;
}
echo "</tr>";
echo "</table>";
?>
Ce snippet génère l’ensemble des liens vers les sous-rubriques.
Ensuite dans page des sous-rubriques, je met l’appel au snppet suivant
[!Rubrique? &rubrique=`[*id*]` !].
dans le snippet suivant Rubrique, on trouve le code suivant :
<?php
//recup de l'id de la rubrique
echo "<h1>L'annuaire des prestataires duo</h1>";
echo "<h2>Découvrez la fiche produit de notre sélection, en cliquant sur l'icône de notre prestataire vous y découvrirez ses spécificités</h2>";
//param
$rubrique = isset($rubrique)? $rubrique:0;
$active=1;
$deleted=0;
$commercants = $modx->getDocumentChildren($rubrique, $active, $deleted, 'id');
for($i=0; $i<sizeof($commercants);$i++) {
$id_doc = $commercants[$i]['id'];
$nom_commercant = $modx->getDocument($id_doc, 'pagetitle');
$alias_commercant = $modx->getDocument($id_doc,'alias');
$lien = "<a href=\"".$alias_commercant['alias'] ."\">".$nom_commercant['pagetitle']."</a>";
echo "<br/>"; echo $lien;
}
?>
Ainsi le snippet Rubrique génère la liste des liens des commercants de la rubrique.
Ensuite la fiche commercant est un document simple.
Cette méthode fonctionne et permet de gérer toute la mise en page et le contenu simplement.
Par contre j’aimerai l’avis de pro sur cette solution par rapport à l’utilisation de Ditto.
Gaëtanpat