Méthode appropriée pour écraser le bloc de faisceau [fermé
-
30-10-2019 - |
Question
Je crée un module qui ajoutera un champ personnalisé pour le produit Bundle. Pour cela, je suis arrivé à une situation dans laquelle je dois écraser le bloc central Mage_Bundle_Block_Adminhtml_Catalog_Product_Edit_Tab_Bundle_Option
. Cependant, mon écrasement ne semble pas fonctionner.
Plus spécifique au problème, j'ai besoin de remplacer
__construct()
- Cette méthode utilise pour définir le modèle qui est nécessaire de rendre des options (lorsque nous cliquons surAdd Options
sous-ongletBundle Items
Dans la page d'édition du produit Bundle, ce modèle va rendre). Actuellement, il est défini sur le modèleapp/desig/frontend/<package>/<theme>/bundle/product/edit/bundle/option.phtml
. J'ai besoin de le régler sur uncustom option.phtml
fichier afin que je puisse ajouter mon champ personnaliséwithout altering any code in core files
.getOptions()
- Besoin de modifier cette fonction également. Ceci est également essentiel, car je dois définir les détails de mon champ personnalisé ainsi que les détails des champs existants dans cette fonction.
Ce que j'ai essayé
etc/config.xml
<config>
----
<global>
------
<blocks>
<bundle>
<rewrite>
<adminhtml_catalog_product_edit_tab_bundle_option>
Programmerrkt_Customfieldinbundle_Block_Adminhtml_Catalog_Product_Edit_Tab_Bundle_Option
</adminhtml_catalog_product_edit_tab_bundle_option>
</rewrite>
</bundle>
</global>
</config>
Block/Adminhtml/Catalog/Product/Edit/Tab/Bundle/Option.php
<?php
Programmerrkt_Customfieldinbundle_Block_Adminhtml_Catalog_Product_Edit_Tab_Bundle_Option extends Mage_Bundle_Block_Adminhtml_Catalog_Product_Edit_Tab_Bundle_Option
{
/**
* Bundle option renderer class constructor
*
* Sets block template and necessary data
*/
public function __construct()
{
$this->setTemplate('programmerrkt/customfieldinbundle/bundle/product/edit/bundle/option.phtml');
$this->setCanReadPrice(true);
$this->setCanEditPrice(true);
}
}
Cependant, ce remplacement semble ne pas fonctionner, après ce code dans mon module, lorsque je clique sur Add Options
, le bouton ne fonctionne pas du tout.
Donc ma question est,
Que dois-je faire si je veux modifier cette classe par défaut?
Si je suis dans la bonne direction?
Est-il même possible de faire cela?
Attendre avec impatience les réponses. Merci.
Pas de solution correcte