Magento Forum

   
Conflit possible entre modules ? 
 
Jibé
Member
 
Total Posts:  64
Joined:  2008-04-25
Rennes, France
 

Bonjour à tous,

Je me pose une question, pas réussi à trouver la réponse…

Imaginons :
- un module perso Module_A surcharge un block Block_A du core.
- un autre module perso Module_B surcharge le même block Block_A du core.

Chaque module a donc une règle de rewrite pour utiliser son propre block surchargé à la place du même block Block_A du core.

Va-t-il y avoir un conflit entre ces deux règles de rewrite ? Quel est le comportement de Magento ?

Merci.

 
Magento Community Magento Community
Magento Community
Magento Community
 
neuro
Sr. Member
 
Avatar
Total Posts:  104
Joined:  2008-09-29
France
 

Qu’est-ce-que tu entends par “surcharge”?

Et pourquoi utiliser deux règles de rewrite?

 
Magento Community Magento Community
Magento Community
Magento Community
 
lbourrel
Jr. Member
 
Avatar
Total Posts:  26
Joined:  2008-06-09
Ayaline - Poitiers
 

Hello,

Tu peux regarder ce post :
http://www.magentocommerce.com/boards/viewthread/13288/

Mais il n’y a pas de “bonne” réponse à ce problème…

 
Magento Community Magento Community
Magento Community
Magento Community
 
Jibé
Member
 
Total Posts:  64
Joined:  2008-04-25
Rennes, France
 

Salut Laurent,

Merci pour le lien, c’est très intéressant… Et malheureusement comme tu le dis il n’y a pas de bonne solution.

Tant qu’on bosse sur des extensions persos en local, ce n’est pas un gros problème car on peut jouer sur les héritages entre les classes de ces extensions.

Mais si on download une extension sur Magento Connect et que celle-ci hérite de classes du core dont on a hérité dans nos modules, il faut se taper une reconfiguration / correction à la main, qui exclue en plus les mises à jour automatiques… Ca promet de grosses galères, ne serait-ce que pour vérifier à chaque installation d’extension que celle-ci n’entre pas en conflit avec les autres extensions…

Je vais me pencher sur la méthode Event-Observer pour la privilégier au maximum.

 
Magento Community Magento Community
Magento Community
Magento Community
 
lbourrel
Jr. Member
 
Avatar
Total Posts:  26
Joined:  2008-06-09
Ayaline - Poitiers
 

Il est clair que les events sont ce qu’il y a de mieux pour rajouter du fonctionnel.
Mais bon, ça ne marche que pour les traitements, et pas pour les modifications de blocs ou de contrôleurs…

J’ai mis à jour la liste des évènements :
http://www.magentocommerce.com/wiki/customizing_magento_using_event-observer_method#events

 
Magento Community Magento Community
Magento Community
Magento Community
 
dgorski
Jr. Member
 
Total Posts:  1
Joined:  2010-01-11
 

Bonjour

J’ai un conflit de surcharge

Je souhaite surcharger catalog_product
j’ai déjà un module E1 qui surcharge catalog_product
et je souhaite avoir un module E2 qui surcharge aussi catalog_product

Donc moi je voulais faire que E1 extend catalog_product et que E2 extend E1 puis que E2 surcharge catalog_product
Mais cela me ressort ceci

“""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
Essaie d’ajouter un objet non valide

#0 C:\Documents and Settings\dgorski\Bureau\xampp-win32-1.6.8\xampp\htdocs\IsoCode\app\code\core\Mage\Eav\Model\Entity\Collection\Abstract.php(235): Mage::exception(’Mage_Eav’, ‘Essaie d’ajoute...’)
#1 C:\Documents and Settings\dgorski\Bureau\xampp-win32-1.6.8\xampp\htdocs\IsoCode\app\code\core\Mage\Eav\Model\Entity\Collection\Abstract.php(944): Mage_Eav_Model_Entity_Collection_Abstract->addItem(Object(MesModules_IProduct_Model_Product))
#2 C:\Documents and Settings\dgorski\Bureau\xampp-win32-1.6.8\xampp\htdocs\IsoCode\app\code\core\Mage\Eav\Model\Entity\Collection\Abstract.php(784): Mage_Eav_Model_Entity_Collection_Abstract->_loadEntities(false, false)
“""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""

sachant que mon module E2 s’appelle IProduct et qu’il est dans app/code/local/MesModules/

 
Magento Community Magento Community
Magento Community
Magento Community
Magento Community
Magento Community
    Back to top