Jacques Bodin-Hullin Développeur d'applications Web

La perfection est atteinte non quand il ne reste rien à ajouter, mais quand il ne reste rien à enlever.

Antoine de Saint Exupéry

Créez votre type de produit, ses attributs et son jeu

Quand on démarre un projet on a souvent besoin de créer nos propres types de produits.

Bien souvent on en profite aussi pour créer un ou deux jeux d'attributs et quelques attributs particuliers.

Le problème dans tout ça c'est qu'on ne sait jamais quoi faire et on oublie bien souvent un ou deux fichiers dans l'histoire...

On va commencer par créer notre type (ou nos types) de produit : soyons Foo.


La création du type de produit Foo

Notre type est identique au niveau fonctionnel du type Simple.

Nous avons donc deux solutions : la sale, et la propre.

La méthode « sale »

La sale consiste à dupliquer, simplement, le XML de configuration du type simple avec notre propre balise foo :

Vous remarquerez la ligne surlignée. Et bah oui ! Si notre type se comporte comme un produit simple, pourquoi créer un modèle personnalisé ?

La méthode « un peu plus propre »

L'idée c'est de dupliquer les modèles. Pourquoi ? Et bien parce que de cette manière notre type est totalement indépendant.

Et puis ça permet de prévoir les évolutions ;)

Vous remarquez cette fois que nous avons quatre modèles personnalisés.

Pas de panique, ils font tous un extends sur le même modèle pour le type simple.

Le modèle principal

Ce modèle contient la constante qui vaut le code du type : foo.

Le modèle de prix

Le modèle d'index des prix

Le data retreiver

Ce modèle a une méthode qui permet de récupérer le code du type. On utilise donc la constante disponible.

Le layout

Comme tout nouveau type de produit pensez à ajouter le bout de layout qui va avec ! Sinon pas de prix dans la fiche produit par exemple !

Les attributs de type « Prix »

Notre nouveau type de produit va nous permettre de créer de beaux produits... mais sans prix !

Pour avoir une gestion du prix comme le produit simple, il faut ajouter les attributs nécessaires à notre nouveau type !

Dans un setup de votre module, mettez ceci : (c'est plutôt facile à comprendre)

La création du jeu d'attributs Bar

Pour créer un jeu d'attribut, rien de plus simple !

On considérera que notre nouveau jeu se base sur les mêmes attributs que le jeu par défaut.

Il faut savoir que si on fait un addAttributeSet d'un jeu d'attributs existant alors celui-ci est mis à jour, tout simplement.

C'est pour cette raison qu'on peut se dispenser de faire un try/catch dans notre installeur.

La création d'un attribut baz

Dans notre installeur ou dans un update il nous suffit d'ajouter notre attribut, tout simplement, comme ceci :

Conclusion

Vous pouvez maintenant ajouter rapidement un type de produit, un jeu d'attributs et des attributs !

Cet article n'est pas complet car il ne présente pas comment ajouter un attribut à deux groupes qui sont utilisés par deux types de produits différents etc.

Néanmoins vous trouverez beaucoup de méthode dans le modèle EAV ;)


Commentaires

blog comments powered by Disqus

Quelques infos

Contact

Mon QRcode

le QRcode