2013-09-20 1 views
0

возможна в Magento PHP для вызова метода из родительского класса, а не от перегруженных одного,в Magento использовать метод из родительского класса не переопределенная класс

Я добавочное переопределение (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 перекрыт, то он не возвращает мне родительские параметры не переопределенные Спасибо

+0

Можете ли вы поместить часть своего кода? Я уверен, что вы запрашиваете «parent :: __ construct();», но формулировка немного неясна, поэтому мне может быть что-то не хватает. –

+0

Я отредактировал сообщение с кодом – Alan

ответ

0

да, вы можете вызвать родительский конструктор с использованием кода ниже

class A_CustomOptions_Model_Catalog_Product_Option extends Mage_Catalog_Model_Product_Option 
{ 
    public function __construct() 
    { 

     parent::__construct(); 
    } 
} 

Как ваш обновленный ответ, я думаю, что переопределить класс, загруженный последним, который может не работать.

надеюсь, что это обязательно сработает для вас в простой концепции ООП,

+0

Я не могу удалить остальные инструкции после parent :: __ construct(); в переопределенном классе метод должен быть защищен функцией _construct() { parent :: _ construct(); $ this -> _ init ('customoptions/product_option'); } – Alan

+0

@ user2797687, см. Правило oop http://stackoverflow.com/questions/1899299/phpoop-how-to-call-class-constructor-manually – liyakat

+0

@ user2797687, я уверен, что мой ответ обязательно поможет вам, и это будет будьте рады за меня, если вы ответите на мой ответ – liyakat

Смежные вопросы