LISE : Smarty array delimiter

Note de ce sujet :
  • Moyenne : 0 (0 vote(s))
  • 1
  • 2
  • 3
  • 4
  • 5
#1
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!
#1
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!
#2
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
#2
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


Atteindre :


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