Encore une astuce sur les champs !

More
14 years 11 months ago - 14 years 11 months ago #1437 by bastou
Oyé oyé brave gens!

J'ai encore une astuce qui nécessite la modification d'un plugin dans FLEXIcontent.
Cette astuce permet de mettre un champ texte comme séparateur entre un champ de type texte en mode multi valeurs :roll: ...
Je sais, pas facile à comprendre ce qu'il dit le garçon là :lol: :lol: !

Ok, j'illustre alors!
Imaginons que nous voulons afficher des numéros de séries et qu'entre chaque numéro de série nous voulons qui est le champ texte 'et' qui s'affiche:

A noter que les espaces entre les champs et le séparateur sont mis automatiquement par le plugin.

Mais comment faire ça?? Nous allons voir ça tout de suite.

I - Modification du fichier plugins/flexicontent_fields/text.xml :

comme pour l'astuce précédente, il faut ajouter une option au paramètre identifiable par le nom "separatorf". Nous ajoutons donc cette ligne de commande:
Code:
<option value="5">FLEXI_FIELD_TAG_STRING</option>
J'ai ensuite choisi de créer un autre champ (input) pour indiquer le séparateur. Pour cela, il faut ajouter un paramètre comme ceci:
Code:
<param name="texttag" type="text" default="" label="FLEXI_FIELD_TAG_TEXT" description="FLEXI_FIELD_TAG_TEXT_DESC" />
que j'ai mis juste après le paramètre "closetag".
Passons au fichier suivant :) .

II - Modificaton du fichier plugins/flexicontent_fields/text.php :

Alors, dans ce fichier c'est comme pour l'autre astuce, tous ce passe dans la fonction onDisplayFieldValue.
Il nous faut d'abord récupérer le séparateur texte avec cette ligne de code à mettre après la récupération des autres paramètres:
Code:
$texttag = $field->parameters->get( 'texttag', '' ) ;

On va ensuite ajouter un "case" dans notre fameux "switch":
Code:
case 5: $separatorf = '&nbsp;'.$texttag.'&nbsp;'; break;

II - Modificaton des fichiers administrator/language/en-GB/en-GB.com_flexicontent.ini et administrator/language/fr-FR/fr-FR.com_flexicontent.ini:

Il faut rajouter dans ces deux fichiers les variables qui vont afficher les informations sur les champs et les tooltips.

Pour le fichier anglais:
Code:
FLEXI_FIELD_TAG_TEXT=Separating text FLEXI_FIELD_TAG_TEXT_DESC=If you have choosen 'field text' in the above dropdown, please enter here the text which will separate the fields. FLEXI_FIELD_TAG_STRING=Field text
Pour la version française:
Code:
FLEXI_FIELD_TAG_TEXT=Texte séparateur FLEXI_FIELD_TAG_TEXT_DESC=Si vous avez choisi 'Champ texte' dans la liste déroulante ci dessus, spécifiez le texte qui séparera les champs. FLEXI_FIELD_TAG_STRING=Champ texte

Et voilou! Ce n'est pas plus compliquer que ça :D !
Voici le résultat:
[img


Comme dab, j'atends vos remarques.

Cordialement,
bastou.
Last edit: 14 years 11 months ago by bastou.

Please Log in or Create an account to join the conversation.

More
14 years 11 months ago #1438 by bastou
D'ailleurs,
j'ai une petite question pour Manu :P .

Comme j'ai rajouté un paramètre, je me suis dit qu'il fallait que je recherche la fonction qui fait la sauvegarde dans la base de données quand on sauvegarde le champ en backend afin de rajouter la valeur du champ dans le requête.
Avant, j'ai testé pour voir et par magie sa marche sans modif :o !
Donc je comprends bien que ton code vois tout seul qui a un nouveau paramètre et c'est super mais j'aurais voulu savoir comment tu a fait :D .

Merci ! pour ton travail !

Please Log in or Create an account to join the conversation.

More
14 years 11 months ago #1459 by micker
cool merci beaucoup pour l'explication très claire !
A regarder si manu ne vas l'intégrer dans la prochaine relase aussi ! 8-)
a+

FLEXIcontent is Free but involves a very big effort on our part.
Like the our support? (for a bug-free FC, despite being huge extension) Like the features? Like the ongoing development and future commitment to FLEXIcontent?
-- Add your voice to the FLEXIcontent JED listing reviews. Thanks![/size]

Please Log in or Create an account to join the conversation.

More
14 years 11 months ago #1462 by yopyop001
Salut Bastou,

Merci pour ces petites astuces, c'est bien intéressant.

Pour le stockage des paramètres, tu peux retrouver les informations du xml dans le champs attribs de la table #__flexicontent_fields (comme les paramètres de menu, de module,... dans les champs params pour les tables #__menu, #__module,...). Dans ton cas, tu auras separatorf='5' dans le champs 'attribs' de ton champs.

C'est vrai que ça a un coté magique, en tout cas, ça fait plaisir d'avoir un composant bien codé.

Bonne journée

Please Log in or Create an account to join the conversation.

Moderators: vistamediajoomlacornerggppdk
Time to create page: 0.339 seconds
Save
Cookies user preferences
We use cookies to ensure you to get the best experience on our website. If you decline the use of cookies, this website may not function as expected.
Accept all
Decline all
Essential
These cookies are needed to make the website work correctly. You can not disable them.
Display
Accept
Analytics
Tools used to analyze the data to measure the effectiveness of a website and to understand how it works.
Google Analytics
Accept
Decline