Index de l'article

Concaténations

Concaténation dans un élément databasejoin

Il y a plusieurs manières et plusieurs endroits où faire des concaténations. Dans une liste déroulante affichant les enregistrements d'une autre table par exemple, pour être plus clair on souhaite concaténer plusieurs champs, avec du texte ou de la ponctuation.

Ici nous récupérons directement les champs, en les faisant précéder de leur table et de 3 underscores (ex : ma_table___champ1) :

ma_table___champ1,'valeur texte', ma_table___champ2, 'ponctuation'

Concaténation dans un champ calc

Dans un champ calc il faudra ajouter un peu de PHP, pour afficher un champ par exemple :

return {ma_table___champ1} ;

Ou encore, pour ajouter du texte :

return '{ma_table___champ_prix} Euros' ;

Si vous n'affichez pas un champ, mais une variable, et souhaitez tout de même ajouter du texte, c'est plus classique :

return $nbrPelican.' pélican(s)' ;

Un autre exemple où on décode au passage les caractères HTML (html_entity_decode()) pour les rendre lisibles, dans une concaténation :

$MaCivility = '{commande___civility_badge}';
$MonFirstName_badge = '{commande___firstname_badge}';
$MonLastNameBadge = '{name_badge}';
 
$MaCivility = html_entity_decode($MaCivility) ;
$MonFirstName_badge = html_entity_decode($MonFirstName_badge) ;
$MonLastNameBadge = html_entity_decode($MonLastNameBadge) ;
 
return $MaCivility.' '.$MonFirstName_badge.' '.$MonLastNameBadge ;

On peut aller plus loin, en ajoutant de la ponctuation dynamique en Javascript (pour ne pas laisser une 2ème virgule après un champ éventuellement vide par exemple...). Je n'ai plus le code sous la main, mais j'y étais parvenu grâce au forum officiel.

Concaténation dans un plugin de formulaire

Pour une raison ou une autre, ça peut aussi servir... Ce sera alors sous forme SQL :

$myQuery->select("CONCAT(firstname, ' ', lastname) AS fullname") ;
Liens ou pièces jointes
Accéder à cette adresse URL (http://fabrikar.com/forums/index.php?wiki/troubleshooting-tools/)Wiki Fabrik sur les troubleshooting tools[Article]0 Ko
Accéder à cette adresse URL (http://fabrikar.com/forums/index.php?wiki/calculation-element/)Wiki Fabrik sur les champs calc pour débogage[Article]0 Ko
Accéder à cette adresse URL (http://fabrikar.com/forums/index.php?wiki/php-form-plugin/)Wiki Fabrik sur le plugin PHP pour les formulaires[Article]0 Ko
Accéder à cette adresse URL (http://fabrikar.com/forums/index.php?wiki/filtering-lists-tables/)Filtres de listes[Article officiel Fabrik sur les pré-filtres de listes]0 Ko
Accéder à cette adresse URL (https://api.joomla.org/cms-3/classes/JDatabaseDriver.html)Joomla! API[Documentation Joomla]0 Ko
Accéder à cette adresse URL (https://docs.joomla.org/Selecting_data_using_JDatabase)Selecting data using JDatabase[Documentation Joomla]0 Ko