2012-04-17 7 views
1

Magentoでイベントオブザーバを設定しようとしています。私が観察しているイベントは解雇されていますが、私の方法は実行されないようです。私のモジュールは登録されており、すべて正常です。Magentoオブザーバではメソッドが実行されません

ここで私は何か他のものにTechnoberg_Link_Model_Observerのクラスを変更した場合、いくつかのエラーは、ファイルcouldn旨のログに記録されるので、観察者が

<?xml version="1.0" encoding="UTF-8"?> 
<config> 
    <global> 
     <models> 
      <technoberglink> 
       <class> 
        Technoberg_Link_Model 
       </class> 
      </technoberglink> 
     </models> 
    </global> 
    <frontend> 
     <events> 
      <cms_page_render><!-- sales order place after --> 
       <observers> 
        <Technoberg_Link_Observer> 
         <type> 
          singleton 
         </type> 
         <class> 
          Technoberg_Link_Model_Observer 
         </class> 
         <method> 
          start_link 
         </method> 
        </Technoberg_Link_Observer> 
       </observers> 
      </cms_page_render> 
     </events> 
    </frontend> 
</config> 

今、私はイベントが発生していることを知っています定義config.xmlのです見つからない。

は、ここで私は私の方法は非常に任意のヘルプは素晴らしいことだが実行されていない理由はわかりません、私のObserver.phpファイル

class Technoberg_Link_Model_Observer { 

function __construct(){ 

} 


public function start_link($e){ 

    Mage::log("Dummy code executed"); 
    return $this; 

} 
} 

です!

答えて

4

私はそれを修正しました。 問題ではないすべての空白がないか調べました。

私はグローバルの下でイベントを入れて、私はを使用しているクラスと同じ名前にオブザーバー内のタグを変更しました。それは問題を解決しました。だから、XMLが

<global> 
     <events> 
     <cms_page_render> 
      <observers> 
       <Technoberg_Link_Model_Observer> <!-- TAG INSIDE OBSERVER --> 
        <type>singleton</type> 
        <class>Technoberg_Link_Model_Observer</class> 
        <method>start_link</method> 
       </Technoberg_Link_Observer> 
      </observers> 
     </cms_page_render> 
     </events> 
    </global> 

だろう、私は)=それが彼らの命名規則に来るときMagentoのは本当に厳しいです助けをありがとうね!

0
<events> 
      <cms_page_render><!-- sales order place after --> 
       <observers> 
        <Technoberg_Link_Observer> 
         <type> 
          singleton 
         </type> 
         <class> 
          Technoberg_Link_Model_Observer 
         </class> 
         <method> 
          start_link 
         </method> 
        </Technoberg_Link_Observer> 
       </observers> 
      </cms_page_render> 
     </events> 

書き込み

<global> </global> 

タグではないフロントエンドタグ

明らかキャッシュ内のXMLのこの部分と

0

次のconfig.xmlを試してみてくださいをリロードする...私はそれを考えます空白の問題です...

<?xml version="1.0" encoding="UTF-8"?> 
<config> 
    <global> 
     <models> 
      <technoberglink> 
       <class>Technoberg_Link_Model</class> 
      </technoberglink> 
     </models> 
    </global> 
    <frontend> 
     <events> 
      <cms_page_render> 
       <observers> 
        <technoberglink> 
         <type>singleton</type> 
         <class>Technoberg_Link_Model_Observer</class> 
         <method>start_link</method> 
        </technoberglink> 
       </observers> 
      </cms_page_render> 
     </events> 
    </frontend> 
</config> 
+0

はい、設定のテキスト値から空白を削除してください。 – benmarks

関連する問題