Note de ce sujet :
  • Moyenne : 0 (0 vote(s))
  • 1
  • 2
  • 3
  • 4
  • 5

Afficher une liste : classement alphabétique?
#2

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 :

Code :
{foreach from=$sommaire_news item=sommaire}
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 :

Code :
{maBalisePerso liste=$sommaire_news}
créer ensuite une balise utilisateur php nommée "maBalisePerso"

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);
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 Wink 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
Répondre


Messages dans ce sujet

Atteindre :


Utilisateur(s) parcourant ce sujet : 1 visiteur(s)