02/07/2010, 12:04:26
j'ai déjà eu la nécessité de gérer des traitements supplémentaires sur des modules qui étaient "trop" basique pour moi.
voilà la méthode utilisée
dans le gabarit news sommaire on y trouve cette ligne anodine :
il s'agit donc d'un array() php qui va être parcouru. Dans cet array() tu possède toutes les infos qui doivent être ensuite afficher. C'est donc cet array() que tu va devoir trier.
pour ce faire ajouter en début de gabarit :
créer ensuite une balise utilisateur php nommée "maBalisePerso"
elle possède ce code :
Cette balise sera appelée avec l'array() en entrée, tu code un algo de tri basé sur le champs que tu souhaites, une fois trié, on va aller écraser la valeur initiale de l'array() non triée par un array trié aux petits oignons Le gabarit reprendra alors ton array() trié et l'affichera comme tu l'as toujours rêvé.
A l'inévitable question : comment on trie un array() PHP je te répondrais qu'il faut chercher sur le net, les exemple à ce sujet sont légions. Ici tu as déjà une solide base pour commencer
voilà la méthode utilisée
dans le gabarit news sommaire on y trouve cette ligne anodine :
Code :
{foreach from=$sommaire_news item=sommaire}
pour ce faire ajouter en début de gabarit :
Code :
{maBalisePerso liste=$sommaire_news}
elle possède ce code :
Code :
global $gCms;
$smarty = &$gCms->GetSmarty();
$liste = $params['liste'];
/** TRAITEMENT DE TRI PHP A EFFECTUER **/
$listeTriee = $liste;
/** TRAITEMENT DE TRI PHP A EFFECTUER **/
$smarty->assign("sommaire_news",$listeTriee);
A l'inévitable question : comment on trie un array() PHP je te répondrais qu'il faut chercher sur le net, les exemple à ce sujet sont légions. Ici tu as déjà une solide base pour commencer