2017-10-27 2 views
0

재정의하는 클래스에서 함수를 모방 한 경우 Prestashop은 전체 함수를 원래 함수로 대체하거나 단순히 함수를 추가합니다. 예를 들면.Prestashop에서 재정의하는 방법

/mymodule/override/classes/Product.php: 

class Product extends ProductCore { 
    public function add() { 
     // some function 
    } 
} 

// some function을 추가하려고하거나 짧은 대답이 전체 기능을 대체 할 것입니다 학급 전체 add()

+0

질문하기 전에 몇 가지 테스트를 수행 했습니까? 게다가 Prestashop의 특정 질문이 아니라 단순한 PHP 유산 사용법입니다. PHP에서 class 유산과 특히'extends' 키워드를 확인해야합니다. –

+0

@FlorianLemaitre 도움에 감사드립니다. wannna가 묻는 또 다른 사항이 있습니다.'simple, pack, virtual'과 같은 새로운 'Product type'을 만드는 방법을 알고 계십니까? 그렇다면 절차 – chandlerbing

+0

Hummm에게 불행히도 이것을 할 수있는 간단한 방법이 없다고 말할 수 있습니까? 이러한 제품 유형은 Prestashop의 모든 곳에 하드 코드되어 있으므로 많은 클래스를 재정의해야합니다. 나는 너에게 그 일을 충고하지 않을 것이다. –

답변

3

을 대체 할 예정이다. PHP classes heritage mechanism을 조사해야합니다.

코드에서 parent::add()을 추가하여 재정의에서 원래 제품 add() 메서드를 여전히 실행할 수 있습니다.

class Product extends ProductCore { 
    public function add() { 
     // do something before adding 
     parent::add(); 
    } 
} 
관련 문제