2013-04-09 20 views
7

Mage_Review_Model_Resource_Review_Summary_Collectionを書き直そうとしています。 モジュールがアクティブになっています。 フォールド構造はコアレビューと同じです。Magentoコアモデルリソースコレクションを書き換えます

問題はxmlにあるはずです。

私のXMLは次のとおりです。などで

<?xml version="1.0"?> 
<config> 
<modules> 
    <LM_Review> 
     <version>0.1.0</version> 
    </LM_Review> 
</modules> 

<frontend> 
    <routers> 
     <review> 
      <args> 
       <modules> 
        <lm_review before="Mage_Review">LM_Review</lm_review> 
       </modules> 
      </args> 
     </review> 
    </routers> 

    <layout> 
     <updates> 
      <lm_review> 
       <file>lm/review.xml</file> 
      </lm_review> 
     </updates> 
    </layout> 

    <translate> 
     <modules> 
      <LM_Review> 
       <files> 
        <default>LM_Review.csv</default> 
       </files> 
      </LM_Review> 
     </modules> 
    </translate> 
</frontend> 

<global> 
    <models> 
     <review_resource> 
      <rewrite> 
       <review_summary_collection>LM_Review_Model_Resource_Review_Summary_Collection</review_summary_collection> 
      </rewrite> 
     </review_resource> 
    </models> 
</global> 
</config> 

LM_All.xml /モジュール

<LM_Review> 
      <active>true</active> 
      <codePool>local</codePool> 
      <depends> 
       <Mage_Review /> 
      </depends> 
</LM_Review> 

アプリ/コード/ローカル/ LM /レビュー/モデル/リソース/レビューでCollection.php /概要/コレクション.php

class LM_Review_Model_Resource_Review_Summary_Collection extends Mage_Review_Model_Resource_Review_Summary_Collection { 

    public function addStoreFilter($storeId) { 
     die('test'); 
    } 

} 
+0

あなたはどのような問題に直面していますか? –

+0

書き換えが動作していません。このxmlでコアクラスを拡張できないIm – exe

答えて

3

この問題が見つかりました。リソース・モデルをxmlに追加するだけでなく、リソース・モデルを書き直す必要があります。

<global> 
    <models> 
     <review> 
      <resourceModel>review_resource</resourceModel> 
     </review> 
     <review_resource> 
      <rewrite> 
       <review_summary_collection>LM_Review_Model_Resource_Review_Summary_Collection</review_summary_collection> 
      </rewrite> 
     </review_resource> 
    </models> 
</global> 
+0

良いです。 Great – Nandakumar

+0

これがなぜ必要とされるのか分かりません。私の特別なケースでは、xmlがもう有効でないように、etc/config.xmlにタイプミスがありました – Phil

5

あなたのXMLは間違いありません。代わりに上記のXMLを使用すると、ファクトリメソッドの呼び出しを行った場合

Mage::getResourceModel('review/review_summary_collection') 

Magentoのは、インスタンス化しようとする意味

LM_Review_Model_Resource_Review_Summary_Collection 

  1. Magentoのは、あなたのモジュールを参照してくださいすることはできません(ファイルがapp/etc/moduleでない、またはファイルが無効である、またはファイルが間違ったコードプールを指している)

  2. あなたはCollection.phpで定義されたクラスがMage_Review_Model_Resource_Review_Summary_Collection

  3. を拡張しないCollection.phpで定義されたクラスがLM_Review_Model_Resource_Review_Summary_Collection

  4. ない

  5. あなたのコードのプールにLM/Review/Model/Resource/Review/Summary/Collection.phpでファイルを持っていないスペルを確認し、クラス名とパス名の大文字/小文字。これはMagentoにとって重要です。

+0

あなたのコメントをありがとう。 私は綴りなどをチェックしました。 mouleが活性化される。モジュール内には動作しているコントローラもあります。私は同じフォルダを再構築し、コアクラスを拡張します。 私の最初のモデルではなく書き直しましたが、私の1番目のリソースモデルは書き直しました。何が間違っているのか分かりません。私もFiregentoをインストールしましたが、書き換えには何か間違っていると言われていますが、詳細はありません。 – exe

+1

@exe 'echo get_class(Mage :: getResourceModel( 'review/review_summary_collection'));'他のモジュールによってオーバーライドされていることを知っている人 – ivantedja

+0

既にtestet - > Mage_Review_Model_Resource_Review_Summary_Collectionが他のモジュールとオーバーライドされていません。また、より多くの情報で1番目のポストを更新しました – exe

関連する問題