Forum CMS Made Simple Francophone

Aide francophone sur CMS Made Simple

Vous n'êtes pas identifié(e).

Annonce

ATTENTION

  • Prenez le temps de rechercher si quelqu'un n'a pas déjà proposé une solution à votre problème. Sur le forum français et sur le wiki
  • Pensez à mettre à jour votre version de CMS Made Simple. Nous ne faisons de support que sur LA dernière version de CMS Made Simple.
  • Renseignez impérativement le formulaire de nouveau message de manière la plus complète que possible. Dans votre CMS utiliser le menu Administration du site/Informations du système en haut Vue au format texte. Ces informations demandées nous permettent de mieux vous aider
  • Ajoutez [Résolu] au début du titre de votre 1er message lorsqu'une solution a été trouvée.

#1 12/10/2011 23:59:23

Bredt
Membre
Inscription : 02/09/2011
Messages : 25

[Résolu] Differences entre smarty_cms_modifier et smarty_modifier

#~~~~~ DEBUT BLOC A NE PAS SUPPRIMER ~~~~~
#~ Version du CMS: #1.9.4.3
#~ Url du site : localhost
#~ Hébergeur / Soft : moi
#~ Informations Système :
#~~~~~ FIN BLOC A NE PAS SUPPRIMER ~~~~~

Bonjour,
Je me suis fait un petit modifier smarty pour trier les tableaux multidimensionnels avec comme paramètre la clé des sous-tableaux sur laquelle le tri est fait.

par exemple avec comme tableau :

$foo= array (0 => array ( "a" => "Paris",
                          "b" => 20,
                          "c" => 75
                        ),
             1 => array ( "a" => "Marseille",
                          "b" => 16,
                          "c" => 13
                        ),
             2 => array ( "a" => "Lyon",
                          "b" => 9,
                          "c" => 69
                        )
            );

En utilisant le modifier smarty comme suit on tri le tableau sur la clé "a" :

$foo|@sort_multidim_array:"a"

Tout fonctionne très bien, mais je me pose quelques questions :
- est-ce que c'est un smarty_cms_modifier ou un smatry_modifier ?
(vu que je ne fais pas une seconde référence au cms, je penche pour un smatry_modifier)
- je le colle ou ce modifier ? dans lib/smarty/plugins ou dans plugins ?
(je le collerais bien direct dans plugins)

Si vous avez un avis ... je suis preneur.

Bredt cool

Dernière modification par Bredt (16/01/2012 14:06:00)

Hors ligne

#2 13/10/2011 11:09:17

bess
Administrateur
Lieu : Rennes
Inscription : 16/12/2008
Messages : 6 094
Site Web

Re : [Résolu] Differences entre smarty_cms_modifier et smarty_modifier

je ne suis pas expert Smarty / Plugin mais de mémoire je pencherais sur son intégration dans les plugins pour te faciliter son utilisation.

ouvre des plugins existant et regarde comment ils sont fait. Te reste à dupliquer pour ton code et à le claquer dans le répertoire plugin smile

Hors ligne

#3 13/10/2011 12:56:01

jissey
Administrateur
Lieu : Peyruis
Inscription : 30/10/2009
Messages : 2 541
Site Web

Re : [Résolu] Differences entre smarty_cms_modifier et smarty_modifier

Bonjour,
il faut nommer le modifier smarty_cms_modifier_monModifier et l'enregistrer dans le dossier plugins.
Page 104 du cookbook smile


Inscrivez-vous à notre Newsletter sur le site (colonne de droite, en bas).
Vous appréciez CMSMS et l'aide qui vous est fournie ici, aidez-nous en participant au projet.
Formation CMS Made Simple | Création de site CMS Made Simple.

C'est en se plantant qu'on devient cultivé.
J'ai un string dans l'Array (Paris Hilton)

Hors ligne

#4 13/10/2011 17:32:16

Bredt
Membre
Inscription : 02/09/2011
Messages : 25

Re : [Résolu] Differences entre smarty_cms_modifier et smarty_modifier

Ok !

>Bess
En fait qu'il soit dans /plugins ou dans /lib/smarty/plugins, ça fonctionne ! Je pose la question plus pour respecter la "convention" (si il y en a une)
>Jissey
J'avais pas pensé à mater ce livre !

Finalement, je transforme mon smarty_modifier en smarty_cms_modifier et je le colle dans /plugins !!!


Si ça peut servir a quelqu'un voici le code :

modifier.cms_sort_multidim_array.php

<?php
/**
 * Smarty plugin
 */

/**
 * Smarty sort_multidim_array modifier plugin
 *
 * Type:     modifier<br>
 * Name:     sort_multidim_array<br>
 * Purpose:  sort multidimentional array
 * @link
 * @author   Bredt
 * @param array
 * @param string
 * @return array
 */

function smarty_cms_modifier_cms_sort_multidim_array($array, $sub_var_name='')
{
    $cmp = create_function('$a,$b', 'return $a["'.$sub_var_name.'"]>$b["'.$sub_var_name.'"];');
    usort($array, $cmp);
    return $array;
}

?>

Bredt cool

Dernière modification par Bredt (13/10/2011 17:45:37)

Hors ligne

#5 13/10/2011 20:00:04

bess
Administrateur
Lieu : Rennes
Inscription : 16/12/2008
Messages : 6 094
Site Web

Hors ligne

#6 13/10/2011 21:16:12

kraygoon
Membre
Lieu : Pau, France
Inscription : 02/11/2007
Messages : 495
Site Web

Re : [Résolu] Differences entre smarty_cms_modifier et smarty_modifier

S'il devait y avoir convention, que pensez-vous du fait qu'un fonction smarty_cms_modifier s'attache à intervenir sur un problème spécifique à CMSMS (fonction pour les feuilles de styles de CMSMS, fonction dépendante d'autres fonctions de CMSMS ou de la structure de la BDD.

Là où un smarty_modifier pourrait resservir sur d'autres projets (autres que CMSMS) en copiant simplement le fichier.

Je dis ça, c'est juste ce que ça m'évoque, pas nécessairement l'idée de base de CMSMS.

Hors ligne

#7 13/10/2011 22:24:00

jce76350
Administrateur
Lieu : Rouen
Inscription : 23/09/2007
Messages : 6 101
Site Web

Re : [Résolu] Differences entre smarty_cms_modifier et smarty_modifier

En fait qu'il soit dans /plugins ou dans /lib/smarty/plugins

pour un plugin Smarty il faut par convention le mettre dans  /lib/smarty/plugins
attention actuellement CMSms utilise Smarty 2 alors qu'on est déjà en version 3.13 (PHP 5.2+) et il y a des différences en particulier le structure des dossiers
- /sysplugins remplace /internals
et des différences de codage


La version 2 n'évolue plus.


J-C Etiemble Tutoriels v 2.2.x

Hors ligne

#8 13/01/2012 17:52:35

Bredt
Membre
Inscription : 02/09/2011
Messages : 25

Re : [Résolu] Differences entre smarty_cms_modifier et smarty_modifier

Salut,

Après réflexion, je pense que kraygoon a raison :

  • smarty_cms_modifier : quand on tripote CMSMS

  • smarty_modifier : quand on tripote autre chose

Bredt cool

Hors ligne

Pied de page des forums