|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
|
Invité de passage
![]() Inscription : juin 2002 Messages : 2 ![]() |
Bonjour,
Je suis actuellement en train de developper de nouveaux modules pour l'application d'eCommerce MAGENTO. Durant mes développements, j'ai créer une nouvelle classe (XyzCorp_Adminhtml_Block_Catalog_Product_Grid), qui hérite de Mage_Adminhtml_Block_Catalog_Product_Grid. La classe parente Mage_Adminhtml_Block_Catalog_Product_Grid contient une méthode _prepareColumns(). Dans ma classe, j'ai créer cette méthode dans le but de modifier son comportement : j'ai donc créé la même méthode _prepareColumns(). Quand j'execute mon code, ce n'est pas la méthode de ma classe "enfant" mais celle du "parent" qui est exécutée. Si je supprime la méthode de ma classe parente, là j'ai bien le résultat attendu. Cela fonctionne bien, mais je ne peux pas garder cette solution, car pour éviter les problèmes lors de mise à jour de l'application, je ne peux toucher à aucune classe parente. Y a t'il un moyen de spécifier lors de la déclaration de ma méthode qu'elle doit "écraser" celle qui existe déjà ? Cordialement, Antoine |
|
|
00
|
|
|
#2 |
|
Membre éprouvé
![]() Développeur Web Inscription : avril 2005 Messages : 395 ![]() |
Salut,
peut on voir la déclaration de ta classe enfant ? et un bout de la classe parent |
|
|
00
|
|
|
#3 |
|
Membre régulier
![]() Inscription : octobre 2007 Messages : 97 ![]() |
Etonnant, c'est normalement ce qui devrait se faire par défaut, puis après tu appelle ta méthode parente par un parent::_prepareColumns(). Il doit y avoir un problème dans ton code. Il faudrait donner du code à manger au développeur, pour qu'ils puissent ruminer.
|
|
|
00
|
|
|
#4 |
|
Membre émérite
![]() Inscription : septembre 2007 Messages : 951 ![]() |
Tu n'as pas a le spécifier quelle méthode utiliser, l'héritage est la pour ca.
Il faudra que tu postes un peu de code car je ne vois pas pourquoi c'est la méthode de ta classe mere qui est appelée. |
|
|
00
|
|
|
#5 | |||||
|
Membre éprouvé
![]() Développeur Web Inscription : avril 2005 Messages : 395 ![]() |
Citation:
EXEMPLE 1 Surcharger une méthode parente : Code :
Utiliser une méthode parente Code :
|
|||||
|
|
00
|
Copyright © 2000-2012 - www.developpez.com