3

Magento管理コンソール全体でモデルウィンドウを有効にするMagento管理コンソール拡張機能があります。Magento 1.7では、工場出荷時のデフォルトのCSSファイルを次のように含めることができます

$layout->getBlock('head')->addCss('lib/prototype/windows/themes/magento.css');    

ただし、Magento 1.6では、このファイルはスキンフォルダーではなく、「js_css」フォルダーにあるため、これを使用する必要があります。

$layout->getBlock('head')->addItem('js_css', 'prototype/windows/themes/magento.css')

バージョンスニッフィングに頼ることなく、またファイルの独自のコピーを作成することなく、このファイルがMagentoのすべてのバージョンに適切に含まれていることを確認するためのエレガントで簡単な方法はありますか?

4

3 に答える 3

3

私は当分の間これを行った - 何か良いことが起こることを期待して質問を開いたままにしておく.

        //would fail if Magento lives in a sub-folder named base
        $skin_url = $design->getSkinUrl('lib/prototype/windows/themes/magento.css');
        $parts = explode('/',$skin_url);
        if(in_array('base', $parts))
        {
            $head->addItem('js_css', 'prototype/windows/themes/magento.css');
        }
        else
        {
            $head->addCss('lib/prototype/windows/themes/magento.css');    
        }
于 2012-08-16T22:41:57.680 に答える
2

おそらく最も安全な方法は、独自のバージョンのファイルをパッケージと共に配布することです。

  • パッケージのインストール後にファイルが存在する場所を確実に把握できます
  • 不要な FS ヒットなし
  • Magento が提供するバージョンに依存しません (もちろん、これはいつものように裏目に出る可能性があります)
于 2012-08-16T20:19:42.613 に答える
2

この提案がより良いかどうかはわかりませんが、ファイルが存在する場所を確認して、呼び出すメソッドを決定することができます。

于 2012-08-16T20:00:10.360 に答える