0

Magento phpで、オーバーライドされたクラスからではなく、親クラスからメソッドを呼び出すことは可能ですか?

拡張機能のオーバーライドがあり (A_CustomOptions_Model_Catalog_Product_Option は Mage_Catalog_Model_Product_Option を拡張します)、それはコンストラクト メソッドをオーバーライドし、別の拡張機能が親クラス Mage_Catalog_Model_Product_Option のコンストラクトを使用したいと考えています。

これを行う方法はありますか???

より多くの説明:

class A_CustomOptions_Model_Catalog_Product_Option extends Mage_Catalog_Model_Product_Option {

  protected function _construct() {
      parent::_construct();
      $this->_init('customoptions/product_option');       
  }
}

別の拡張機能では、オプションのコレクションを取得しています

public function getOptions($srcId) {

   $options = Mage::getModel('catalog/product_option')
     ->getCollection()
     ->addTitleToResult(Mage::app()->getStore()->getId())
     ->addPriceToResult(Mage::app()->getStore()->getId())
     ->addProductToFilter($srcId)
     ->addValuesToResult();

   return $options;
}  

ただし、この親クラス Mage_Catalog_Model_Product_Option はオーバーライドされているため、オーバーライドされていない親オプションは返されません ありがとう

4

1 に答える 1

0

はい、以下のコードを使用して親コンストラクターを呼び出すことができます

class A_CustomOptions_Model_Catalog_Product_Option extends Mage_Catalog_Model_Product_Option
{
   public function __construct()
    {

        parent::__construct();
    }
}

あなたの更新された答えとして、最後にロードされたオーバーライドクラスが機能しない可能性があると思います。

これが単純なOOPの概念で確実に機能することを願っています.

于 2013-09-20T03:55:26.057 に答える