繁体   English   中英

在magento中,使用父类中的方法而不是重写类

[英]in magento use the method from parent class not the overriden class

在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被覆盖,所以它不会返回我未覆盖的父选项。

是的,您可以使用以下代码调用父构造函数

class A_CustomOptions_Model_Catalog_Product_Option extends Mage_Catalog_Model_Product_Option
{
   public function __construct()
    {

        parent::__construct();
    }
}

作为您更新的答案,我认为覆盖最后加载的类可能不起作用。

希望这一定会为您带来简单的OOP概念,

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM