Magento 전문가 중 한 명이 저에게 도움이 될 수 있습니까? 이것은 나를 하루 종일 미치게했다! !!Magento - 모델 오버라이드가 작동하지 않습니다.
Mage_Catalog_Model_Product_Type_Price를 덮어 쓰려고하는데 아무 것도 시도하지 않습니다. 나는 여러 번 이런 종류의 일을 했었고 내 코드가 맞다고 확신하지만 나는 분명히 뭔가를 놓치고있다.
컨트롤러가 정상적으로 작동하고 모델을 인스턴스화해도 문제가 없습니다. 그것은 실제로 작동하지 않는 실제 재 작성 인 것 같습니다.
Magento 1.5.1을 사용하고 있습니다. 여기
<?xml version="1.0" encoding="utf-8"?>
<config>
<modules>
<MyNs_MyMod>
<version>0.1.0</version>
</MyNs_MyMod>
</modules>
<global>
<models>
<catalog>
<rewrite>
<product_type_price>MyNs_MyMod_Model_Price</product_type_price>
</rewrite>
</catalog>
</models>
</global>
<frontend>
<routers>
<mymod>
<use>standard</use>
<args>
<module>MyNs_MyMod</module>
<frontName>mymod</frontName>
</args>
</mymod>
</routers>
</frontend>
</config>
은 최소한으로 다시 벗겨 모델 코드 : 여기
내 모듈 설정 파일의 코드입니다
<?php
class MyNs_MyMod_Model_Price extends Mage_Catalog_Model_Product_Type_Price
{
public function getPrice($product = null) {
Mage::log('Made it into getPrice()');
return 0;
}
}
Mage :: getModel ('catalog/product_type_price')을 인스턴스화하면 어떻게됩니까? 물건을 다시 가져 왔니? 그렇다면 클래스는 무엇입니까? –
안녕하세요. 올바른 재정의 유형, 즉 MyNs_Mymod_Model_Price를 얻습니다. 그러나 핵심 모델 Mage_Catalog_Product_Type_Price에서 로그 항목을 추가하면 항상 이러한 항목이 기록됩니다. 즉, 재정의 된 클래스의 로그 메시지는 기록되지 않습니다. – William
로딩중인 페이지와 표시되는 로깅을 추가하는 위치에 대한 더 많은 컨텍스트를 제공하면 사람들이 문제를 추적하는 데 도움이됩니다. Magento는 충분히 새롭고 끝없이 구성 할 수 있으므로 이러한 유형의 문제를 추적하는 가장 빠른 방법은 모델을 인스턴스화하는 코드를보고 생각해야하는 것을 반환하지 않는 이유를 파악하는 것입니다. 당신이 제공하는 상황에 따라, 더 많은 사람들이 도울 수 있습니다. –