aimultidimensionsCette nouvelle version du module permet de définir des formes autres que les rectangles et les parallélépipèdes, d’afficher la surface et le poids en fonction de la quantité comme le fait le module pour le prix depuis plusieurs versions, .

Elle optimise le mécanisme de suppression des liens ainsi que la recherche de déclinaisons liées au produit.

Enfin, elle corrige aussi un bug lié au prix spécifiques, un bug d’enregistrement de la boutique dans certains cas ainsi qu’un bug de calcul du périmètre pour les attributs au mètre linéaire.

Affichage de la surface et du poids en fonction de la quantité

Un client m’a récemment demandé de pouvoir afficher la surface et le poids calculés en fonction de la quantité comme c’était le cas depuis longtemps pour le prix.

Un paramètre a donc été ajouté afin de permettre l’affichage de ces informations en fonction de la quantité ou non, le paramètre étant configuré, par défaut, pour afficher ces données par pièce comme c’est le cas depuis l’origine du module.

Utilisation de formes autres que les rectangles et parallélépipèdes

Pour cette partie le fichier de configuration a été mis à contribution afin de permettre à chaque utilisateur de définir ses propres formats.

//  Formats
//  Rectangle must remains the first one
//  x = first dimension, y = second dimension, z = third dimension
//  format explanation :
//  array(
//      'format' => $module->l('rectangle', 'config')           : format is the name displayed in the list on link a product tab, it uses the translation mode
//      'surface_formula' => 'x * y'                            : formula that is linked to this shape to calculate surface, x, y & z are the three dimensions and will be replaced by values input by the customer
//      'perimeter_formula' => 'x * y'                          : formula that is linked to this shape to calculate perimeter, x, y & z are the three dimensions and will be replaced by values input by the customer
//      'labels' => array('x' => '', 'y' => '', 'z' => '')      : labels for this shape, if not empty, will replace the default labels
//      'proportionnal display' => true)                        : if product calculation is set to proportionnal, display or not the other dimensions (0 -> false, 1 -> true)
//  Don't use mathematical functions or variables until they are common to PHP and JS
$config_format = array(
    array('format' => $module->l('rectangle', 'config'), 'surface_formula' => 'x * y', 'perimeter_formula' => 'x * 2 + y * 2', 'labels' => array('x' => '', 'y' => '', 'z' => ''), 'proportionnal display' => 1),
    array('format' => $module->l('elipse', 'config'), 'surface_formula' => '(x / 2) * (y / 2) * 3.141592', 'perimeter_formula' => '(x / 2 + y / 2) * 3.141592', 'labels' => array('x' => $module->l('x diameter', 'config'), 'y' => $module->l('y diameter', 'config'), 'z' => ''), 'proportionnal display' => 0),
    array('format' => $module->l('parallelepiped', 'config'), 'surface_formula' => 'x * y * z', 'perimeter_formula' => '', 'labels' => array('x' => '', 'y' => '', 'z' => ''), 'proportionnal display' => 1),
);

Chaque format est représenté par une ligne qui se décompose en cinq composants :

  • format : ce paramètre permet de définir le nom du format pour la partie administration principalement, il est localisé (traduisible) dans les traductions du module
  • surface_formula : ce paramètre permet de définir le calcul de la surface de la forme en fonction des dimensions du produit
  • perimeter_formula : ce paramètre permet de définir le calcul du périmètre de la forme en fonction des dimensions du produit
  • labels : ce paramètre permet de définir le nom des dimensions sur la boutique, si un champs est vide, le nom par défaut est utilisé
  • proportionnal display : ce paramètre s’il est à 1, permet de n’afficher que la première dimension si le produit est défini comme ayant des dimensions proportionnelles, carré, rond ou cube.

Informations utiles concernant le module multi-dimensions

Lien vers le module sur la boutique, la documentation complète se trouve sur l’onglet documents (en milieu de page).

Répondre

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Vous pouvez utiliser ces balises et attributs HTML

<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>

six + un =