2014-12-08 2 views
0

아래의 구성 파일을 사용하고 있습니다. 그러나 제품을 저장할 때 관찰자 클래스는 호출되지 않습니다.Magento가 옵서버 클래스를 호출하지 않습니다.

관찰자 클래스 (Pc_Tp_Stock_Model_Observer가) 응용 프로그램/코드에 저장됩니다
<?xml version="1.0"?> 
<config> 
<modules> 
    <PcTp_Stock> 
     <version>1.0.0</version> 
    </PcTp_Stock> 
</modules> 
<global> 
    <blocks> 
     <stock> 
      <class>PcTp_Stock_Block</class> 
     </stock> 
    </blocks> 
    <models> 
     <stock> 
      <class>PcTp_Stock_Model</class> 
     </stock> 
    </models> 

</global> 
<adminhtml> 
    <layout> 
     <updates> 
      <stock> 
       <file>stock.xml</file> 
      </stock> 
     </updates> 
    </layout> 
    <events> 
     <catalog_product_save_after> 
      <observers> 
       <pctp_stock_product_catalog_data_inventory> 
        <type>singleton</type> 
        <class>stock/observer</class> 
        <method>saveProductTabData</method> 
       </pctp_stock_product_catalog_data_inventory> 
      </observers> 
     </catalog_product_save_after> 
    </events> 
</adminhtml> 

/지역/PcTp/재고/모델/Observer.php 나는이 작업을 어떻게합니까

?

<?php 

class Pc_Tp_Stock_Model_Observer 
+0

해보십시오 catalog_product_prepare_save을. 1.7 치트 시트를보고, 그 사건을 볼 수 없습니다 https://www.nicksays.co.uk/magento-events-cheat-sheet-1-7/ – PixieMedia

답변

-1

네이버 아키텍처는 옵저버/클래스를 선언 한 곳에서 조금 벗어납니다. 이것을 다음과 같이 변경하십시오.

<observers> 
      <PcTp_Stock_Model_Observer> 
       <type>singleton</type> 
       <class>PcTp_Stock_Model_Observer</class> 
       <method>saveProductTabData</method> 
      </PcTp_Stock_Model_Observer> 
</observers> 

그리고 나서 Model/Observer.php 파일에서;

class PcTp_Stock_Model_Observer { 

    public function saveProductTabData() { 

     // Do something 

    } 

} 

또한 1.7에서 이벤트를 사용할 수 있는지 확인하십시오. 이 사이트를 사용하여 1.7 https://www.nicksays.co.uk/magento-events-cheat-sheet-1-7/에 대한 빠른 참조 안내서를 작성하면 대신 catalog_product_prepare_save를 시도해 볼 가치가 있습니다.

대신 최저

0

config.xml에

<?xml version="1.0"?> 
<config> 
<modules> 
    <PcTp_Stock> 
     <version>1.0.0</version> 
    </PcTp_Stock> 
</modules> 
<global> 
    <models> 
     <PcTp_Stock> 
      <class>PcTp_Stock_Model</class> 
     </PcTp_Stock> 
    </models> 
</global> 
<adminhtml> 
    <events> 
     <catalog_product_save_after> 
      <observers> 
       <pctp_stock_save_after> 
        <type>model</type> 
        <class>PcTp_Stock/observer</class> 
        <method>catalogProductSaveAfter</method> 
       </pctp_stock_save_after> 
      </observers> 
     </catalog_product_save_after> 
    </events> 
</adminhtml> 
</config> 

응용 프로그램 \ 코드 ... \ PcTp \ 증권 \ 모델 \ Observer.php

<?php 

class PcTp_Stock_Model_Observer { 

    public function catalogProductSaveAfter($observer) { 
     die('observer launched'); 
    } 

} 
관련 문제