Forum CMS Made Simple FR
LISE : Smarty array delimiter - Version imprimable

+- Forum CMS Made Simple FR (https://www.cmsmadesimple.fr/forum)
+-- Forum : Général (https://www.cmsmadesimple.fr/forum/forum-3.html)
+--- Forum : Modules, Tags (https://www.cmsmadesimple.fr/forum/forum-14.html)
+--- Sujet : LISE : Smarty array delimiter (/thread-4000.html)



LISE : Smarty array delimiter - nicks - 13/03/2017

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



Bonjour,

J'ai une instance LISE qui gère des formations.

J'utilise un type de champ 'Element d'une instance Lise' pour lister les types de publics (une seconde instance LISE).

Pour afficher les publics liés à une formation précise en front, j'utilise explode dans mon gabarit (Sinon les éléments apparaissent à la suite, séparés par une virgule ) :

Code :
{$Publicarray = $item->fielddefs.publics.value|cms_escape}
{$Publics = ','|explode:$Publicarray}
{foreach from=$Publics item=Public}
    <li>{$Public}</li>
{/foreach}

Problème, dans ma liste de public j'utilise des virgules directement dans les champs (exemple : "Toute personne confrontée à l’accueil, l’accompagnement et l’aide (ambulancier, secouriste, particuliers"), du coup mon champ est divisé en autant de morceaux qu'il y a de virgules...

Ma question est donc, y a-t-il un moyen de préciser un délimiteur différent de la virgule?

Merci!


LISE : Smarty array delimiter - snatch1974 - 22/03/2017

salut,

quand tu crées ton champs 'element d'une instance lise' il y'a un gabarit en bas de page qui ressemble à ça:

Code :
[== Indéfini ==]
{LISELoader item='item' force_array=1 value=$fielddef.value assign='items'}
{$fielddef.name}: {$items|implode:','}

en remplaçant la virgule dans le implode par le caractère que tu veux ( ';' par exemple) , ça devrait fonctionner normalement