COP/SECOURS - Transformer un choix oui/non en multichoix
Nous rejoindre sur Discord : lien discord
Sujet : L'objectif de ce plugin sera de vous permettre de changer une sélection oui/non par une valeur présente dans une liste prédéfinie (par exemple pour les permis, changer oui/non par Voiture/Moto/Camion/etc....
Étape 1 : Identifiez
La première étape consiste à identifier le champs que vous souhaitez modifier. Ensuite une fois le champs identifier, il vous faudra appliquer les modifications adéquates.
Étape 2 : Modification de la base de données
Pour faire la modification dans la base de données, vous devez identifiez la colonne contenant votre information (dans la majorité des cas, le type de la colonne sera ENUM). Une fois la colonne identifiez, il faut exécuter la requête suivante pour faire la modification :
ALTER TABLE nom_table MODIFY nom_champ VARCHAR(128);
Exemple, pour modifier :
- Le permis :
- nom_table = personnes
- nom_champ = permis
- Le PPA
- nom_table = personnes
- nom_champ = ppa
- Le sexe/genre
- nom_table = personnes
- nom_champ = sexe
Étape 3 : Modifier les champs de saisies
Une fois la base de données modifiée, il faut maintenant mettre à jour les champs de saisie des informations. Voici comment retrouver le fichier à modifier dans une page :
Récupérer l'url :
Retouvez le code associé : tous les liens sont présents dans le répertoire routes
, il vous suffit ensuite de retrouvez votre URL
Flight::route('/ajouter/civil', function() {
verif_connecter();
Flight::view()->display('add/add_civil.twig');
});
Afficher la page : avec le code, l'élement Flight::view()->display('add/add_civil.twig');
permet de définir quelle page est associé à l'url. Les pages sont présentes dans page
pour l'intranet cop ou views
pour l'intranet secours.
Trouver la liste : Pour trouver votre liste, vous devez rechercher l'élément suivant sur la pge : <select
<div>
<label for="licence">Permis :</label>
<select name="civil_licence" id="licence">
<option value="0">Non</option>
<option value="1">Oui</option>
</select>
</div>
Modifiez les valeurs : La dernière étape consite à remplacer les valeurs présentes dans la liste par celle que vous souhaitez. Pour cela, il suffit de modifiez les option
dans le select
<div>
<label for="licence">Permis :</label>
<select name="civil_licence" id="licence">
<option value="Voiture">Voiture</option>
<option value="Poids Lourd">Poids Lourd</option>
<option value="Moto">Moto</option>
<option value="Voiture/Moto">Voiture/Moto</option>
<option value="Nouvelle valeur">Nouvelle valeur</option>
</select>
</div>
value
soit identique à celle qui sera affichée !
Étape 4 : Modifier l'affichage
Lorsque vous aurez modifié tous les champs de saisie, il vous faudra alors modifier l'affichage de ces valeurs. Pour trouvez la page à modifier, utilisez la même méthode que dans l'étape 3. Cependant, il est possible que l'information ne soit pas présente sur la page, mais sur une page importée (reconnaissable avec la présence de : {% include .... %}
). Dans ce cas là , il faudra vous rendre sur la page en question afin d'effectuer le changement.
Dans le cas de la modification du permis de conduire, la valeur se trouve dans /templates/fiche_civil.twig
. Une fois sur la page, vous devez recherchez l'endroit où la valeur est affiché. Dans la majorité des cas, vous aurez quelque chose sous la forme suivante : <p><strong>Nom affichage :</strong>{% if civil.xxx == 1 %}Oui{% else %}Non{% endif %}</p>
Il suffit de le remplacer par :
<p><strong>Nom affichage :</strong>{{ civil.xxx }}</p>
Note : Nous sommes bien conscient que la mise en place d'un tel plugin peut être difficile avec une description de la sorte. Cependant avec tous les champs éligibles à cette modification, il aurait été trop long d'écrire les modifications à faire pour chaque valeur. Si vous rencontrez un souci dans vos modifications, n'hésitez surtout pas à venir demander de l'aide !
Avant :
Après :