![](/img/trans.png)
[英]PHP Constructors: Will an “inherited” constructor use Inherited or Parent class overriden methods?
[英]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.