Modifier les champs
Un article de Wiki CRM-France.
Sommaire |
Changer le nom d'un champs
Modifier le fichier language/fr_FR.lang.php. Fichier accessible depuis le répertorie du module.
Transformer le type d'un champs en liste
Demande
Transformer un champs qui est libre en une liste. Dans le cas présent il s'agit de fixer les probabilités qui peuvent être donnée à une affaire.
Étapes
vardefs.php
Il faut redéfinir le tableau
$dictionary['Opportunity']['fields']['probability']. Plus particulièrement les clés suivantes:
- changer le type en
'enum' - ajouter une clé
'options'=> 'sales_probabilites_dom'
(Pour que l'exemple soit générique j'ai choisi d'appeler les options 'sales_probabilites_dom' pour avoir à recréer la liste des options, au lieu du nom plus logiques 'sales_probability_dom' qui existe déjà).
Ces modifications devraient apparaître dans le fichier custom/modules/Opportunity/Ext/Vardefs/vardefs.ext.php
Création des options
Dans le fichier custom/include/language/fr_FR.lang.php ajouter la liste des valeurs possible sous la forme d'un tableau php:
$app_list_strings['sales_probabilites_dom']=array ( 0 => '0 %', 20 => '20 %', 50 => '50 %', 80 => '80 %', 100 => '100 %', );
Une fois ce tableau ajouté dans le fichier, il sera possible de modifier ses valeurs dans l'administration de Sugar, via le studio.
Affichage du formulaire
Il faut modifier le fichier EditView.php:
$xtpl->assign("SALES_PROBABILITES_OPTIONS",
get_select_options_with_id($app_list_strings['sales_probabilites_dom'],
$focus->probability));
Il faut modifier le fichier EditView.html:
<select tabindex='2' name='probability'>{SALES_PROBABILITES_OPTIONS}</select>
Affichage de l'objet
Il faut modifier le fichier DetailView.php:
$xtpl->assign("PROBABILITY",
$app_list_strings['sales_probabilites_dom'][$focus->probability]);
Rendre un champs non obligatoire
Demande
Un client demande à ce que la date de clôture d'une affaire soit non obligatoire. Comment faire?
Étapes
- S'assurer que le champs peut être NULL dans la base.
- Retirer de la variable
'required_fields'du fichierfield_arrays.phple nom du champs qui ne doit plus être obligatoire. - Ajouter
'required' => falsedans la liste des attributs du champs dans le fichier vardefs.php. (Non obligatoire) - Modifier le fichier
EditView.html, pour ne pas afficher la petite étoile des champs obligatoires. - Modification du fichier
{Nomdumodule}FormBase.phppour enlever le symbole qui marque le champs obligatoire.
Supprimer un champs
Fichiers à modifier:
-
EditView.php -
EditView.html -
field_arrays.php -
vardefs.php -
DetailView.html -
DetailView.php -
{NomDuModule}.php

