0

フロントエンド領域には既に存在するため、カスタマイズされた管理テーマに関してフォールバック階層メカニズムを簡単に有効にする方法はありますか?

「フロントエンド」領域に使用されるこのクラスMage_Core_Model_Design_Packageがどこでどのようにインスタンス化されるかは明らかではありません。バックエンドでも機能するように書き直して拡張できないかと考えていました。

現在、adminhtml/default/default/ ファイル (デザイン フォルダーとスキン フォルダーの両方) を adminhtml/package_name/theme_name にコピーしてから、これらのコピーされたファイルで作業することは、非常にクリーンな方法ではなく、複数のパッケージおよび/または、デフォルト/デフォルトと比較して、それぞれがわずかな変更または改善のみをもたらすテーマ。フォールバックする必要があると思います。

アイデア、誰か?

4

1 に答える 1

2

Mage_Core_Model_Design_Package::_fallback にバグがあります。基本パッケージを adminhtml 領域のフォールバック パッケージとしても使用します。adminhtml のベース パッケージが存在しないため、代わりにデフォルト パッケージを使用する必要があります。デザイン パッケージ モデルのリライトを作成し、_fallback() 関数を変更できます。

    protected function _fallback($file, array &$params, array $fallbackScheme = array(array()))    
        ...
        $params['_package'] = self::BASE_PACKAGE;
        // otherwise no admin packages with fallback to default package possible
        if ($this->_area == 'adminhtml') {
            $params['_package'] = self::DEFAULT_PACKAGE;
        }
        ...
   }

別の解決策は、フォルダー app/design/adminhtml/default の名前を app/design/adminhtml/base に変更することです。しかし、新しいマジェント バージョンに更新するとどうなるかはわかりません。

于 2013-04-04T13:57:14.043 に答える