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

  1. __construct() - Cette méthode utilise pour définir le modèle qui est nécessaire de rendre des options (lorsque nous cliquons sur Add Options sous-onglet Bundle Items Dans la page d'édition du produit Bundle, ce modèle va rendre). Actuellement, il est défini sur le modèle app/desig/frontend/<package>/<theme>/bundle/product/edit/bundle/option.phtml. J'ai besoin de le régler sur un custom option.phtml fichier afin que je puisse ajouter mon champ personnalisé without altering any code in core files.

  2. 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

Licencié sous: CC-BY-SA avec attribution
Non affilié à magento.stackexchange
scroll top