Comment créer un énuméré et l’associer à un Smart Field
Prérequis
Il faut avant tout avoir créé une Smart Structure.
Créer le(s) fichier(s) de configuration
Par convention, les fichiers contenant les énumérés du projet se situent ici :
src/vendor/<vendorName>/<moduleName>/Enumerates
. Nous avons d’ailleurs ici déjà un fichier
100-RestauratecEnumerates.xml
. Nous l’utiliserons donc pour l’exemple.
Récupérons donc la partie concernant les énumérés créés dans le fichier de configuration de notre Smart Structure PLAT
et plaçons-le dans le fichier cité précédemment :
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<smart:config xmlns:smart="https://platform.anakeen.com/4/schemas/smart/1.0">
<smart:enumerates>
<smart:enum-configuration name="Plat_Type">
<smart:enum name="ENTREE" label="Entrée" />
<smart:enum name="PRINCIPAL" label="Plat principal" />
<smart:enum name="DESSERT" label="Dessert" />
</smart:enum-configuration>
</smart:enumerates>
</smart:config>
Il suffit ensuite de faire référence au nom de notre <smart:enum-configuration>
dans le fichier de configuration de
notre Smart Structure à l’aide de la balise <smart:field-enum>
et de son attribut relation
:
Voici donc comment cela se présente dans le fichier de configuration de notre Smart Structure
src/vendor/<vendorName>/<moduleName>/SmartStructures/Plat/100-PlatStructure.xml
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<smart:config xmlns:smart="https://platform.anakeen.com/4/schemas/smart/1.0">
<smart:structure-configuration name="PLAT" label="Plat">
<smart:extends ref="CONSOMMABLE"></smart:extends>
<smart:icon file="plat.png" />
<smart:class>Cogip\Restauratec\SmartStructures\Plat\PlatBehavior</smart:class>
<smart:fields>
<smart:field-set name="consommable_frame" extended="true">
<smart:field-enum name="plat_type" label="Type de plat" relation="Plat_Type" access="ReadWrite" />
<smart:field-date name="plat_validity_date" label="Disponible jusqu'au" access="ReadWrite" />
</smart:field-set>
</smart:fields>
<smart:hooks />
<smart:defaults />
</smart:structure-configuration>
</smart:config>
Attention
Pensez à effectuer une réinstallation afin que l’application prenne en compte les modifications effectuées :
npx @anakeen/anakeen-cli deploy -c http://localhost:8080/control -s . -u admin -p anakeen --reinstall
Informations
Vous trouverez de plus amples informations sur comment déclarer des énumérés
dans la
documentation associée
Résultat / Vérification
Voici comment cela se traduit lors de la création d’un Plat :
http://localhost:8080/api/v2/smart-elements/PLAT/views/!defaultCreation.html