1

Mage_Core_Model_AppMagento でクラスを拡張する方法を知っている人はいますか?

このように config.xml を設定しました

<?xml version="1.0"?>
 <config>
  <global>
    <models>
        <core>
           <rewrite>
                <app>My_Module_Model_App</app>
            </rewrite>
        </core>
    </models>
  </global>
</config>

しかし、Magento はそれをロードしないようです。

App.phpファイルをapp/code/local/Mage/Core/Model/Appディレクトリにコピーしてもよろしいですか?

私が正しければ、コード全体をコピーする必要がありますが、わずかな変更しかないため、この方法が良いかどうかはわかりません。

誰か提案がありますか?

4

2 に答える 2

5

コアモデルを上書きするxmlコードは見栄えがよく、通常は機能します。クラスMage_Core_Model_Appの問題は、ファイルnew Mage_Core_Model_App()内のメソッドを使用して直接インスタンス化されることです。public static function app()app/Mage.php

xml方式でコアモデルを書き換えると、Mage :: getModel('core / app')などを使用してロードされたクラスにのみ影響します。

したがって、残念ながら、この場合の唯一のオプションは、実際にはファイルをアプリ/コード/ローカルファイル構造にコピーし、コード全体をコピーして貼り付けてから編集することです。

ただし、通常は、xmlの書き換え構造は完全に機能し、クラス全体をコピーするよりも望ましいでしょう。この特定のコアモデルはやや特別です。

于 2013-01-06T02:40:56.127 に答える
0

クイックグーグル検索はhttp://www.magentocommerce.com/wiki/doc/webservices-api/custom-apiを思いついた。ローカルのXAMPPインストールでこれを試しました。編集するファイルをapp/code / localフォルダーにコピーし、同じディレクトリ構造を維持するだけです。/app/code/core/Mage/Cms/Block/Page.phpからファイルをコピーして/app/code/local/Mage/Cms/Block/Page.phpを編集しましたが、期待どおりに機能しました。お役に立てれば!

于 2013-01-06T02:08:57.563 に答える