Nous souhaitons ajouter une colonne calculée* qui indique volume du produit en mètres cubes (m³).
Nous pourrons ainsi :
Pour ajouter le champ à la liste des champs disponibles pour vos grilles produit, cliquez sur le bouton de l'interface "Ajout de champ", puis saisissez les informations suivantes :
Quel est l'ID du champ ? : v_m3
SC crée le champ, il faut maintenant renseigner dans la grille :
Nom du champ : Volume en m3
Table : Another table
Type : Juste affiché
Rafraîchir les déclinaisons : Non
La formule pour calculer ce champ est la suivante : Largeur x Hauteur x Profondeur / 1000000
Pour un champ calculé, deux options se présentent à nous :
En SQL : le champ est utilisable sur toutes les grilles produits
En PHP : le champ est utilisable uniquement si les champs nécessaires (Largeur,Hauteur,Profondeur pour notre exemple) sont présents dans la grille
En SQL : Dans le panneau des Propriétés Avancées à droite, sélectionnez le menu SQL Select et renseignez :
return ' , ((p.`width`*p.`height`*p.`depth`)/1000000) as v_m3';
En PHP : Dans le panneau des Propriétés Avancées à droite, sélectionnez le menu PHP Get Row data et renseignez :
if($col == 'v_m3'){
$prodrow[$col] = (float)((float)$prodrow['width']*(float)$prodrow['height']*(float)$prodrow['depth'])/1000000;
}
Veuillez noter qu'ici, la variable $prodrow contient l'ensemble des champs de la grille avec leur valeur finale.
Enregistrez sur la barre d'outils
Fermez la fenêtre d'édition des champs personnalisés.
Le nouveau champ est présent dans la liste des champs disponibles, et vous pouvez l'ajouter à vos grilles.
* calculé pour l'affichage. N'est pas stocké en base de données.