Jump to content

Les mystères de l'Object Model


Recommended Posts

Bonjour,

 

Je m'arrache désepérement les cheveux en tentant de décrypter le fonctionnement énigmatique de l'Object Model de Presatashop, surtout le secret le plus enfoui, le multishop.

 

Je m'explique, j'ai une classe qui extends donc d'Object Model, cette entité possèdes des attributs "normaux" ainsi que des attributs qui dépendent de la boutique. Je n'ai pas besoin de gérer la langue.

 

On considère deux tables ps_entite et ps_entite_shop avec

 

ps_entite('id_entite', 'champ_non_multishop', ...)

ps_entite_shop('id_entite', 'id_shop', 'champ1_multi_shop', 'champ2_multi_shop', ..._multishop, ...)

 

Dans mon $definition, les champs multishop possèdent bien l'entrée 'shop' => true

 

J'instancie ensuite mon objet vide, je le peuple pour ensuite faire un ...->add();

 

Ma table ps_entité est correctement peuplée, mais la table shop non, seul l'id et l'id_shop sont renseignés, tous les autres champs sont à "NULL".

 

J'ai essayé dans la definition les nombreuses options à savoir multishop, multilang_shop, ... à true, rien à faire.

 

Je suis remonté dans le code de la classe ObjectModelCore (puis la classe Shop) pour tomber sur

$asso_tables = array('carrier' => array('type' => 'shop'), ....

j'ai donc rajouté ma table à ce tableau (pour tester) et là, les données sont inserées uniquement dans ma table ps_entite, ce qui me donne bien evidement une erreur mysql car ces champs n'existent pas dans cette table.

 

Pourtant, lorsque j'affiche le résultat de $this->getFieldsShop(), ils sont tous là, et tous avec les bonnes valeurs.

 

 

Quelqu'un pourrait il m'éclairer sur le mystère de l'ObjectModel et du multishop s'il vous plait ?

 

Cordialement, et bientôt chauve,

 

CorentinDav

Edited by CorentinDav (see edit history)
Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...