web-dev-qa-db-ja.com

コンポーネントヘルパークラスを拡張する方法

Virtuemartコンポーネントを使用していて、コアハッキングを行わずにhelper/cart.phpファイルに小さな変更を加えたいです。 helper/cart.phpで定義されたVirtueMartCartクラスのオーバーライドまたは拡張を行うことは可能ですか?どうやるか?

2
user3535149

Joomlaドキュメントの例 に続いて、次のコードを含むヘルパークラスをオーバーライドするシステムプラグインを作成します。

class plgSystemComVirtuemartOverride extends JPlugin {
    public function __construct(&$subject, $config)
    {
        parent::__construct($subject, $config);
    }

    public function  onAfterInitialise () {
        $app = JFactory::getApplication();
        if('com_virtuemart' == JRequest::getCMD('option')) {
            // replace FILENAME with the name of the file you want to override
            require_once(dirname(__FILE__) . '/classoverrides/FILENAME.php');
        }
    }   
}   

次に、Joomlaルートフォルダーにフォルダーclassoverridesを作成し、問題のファイルをそのフォルダーにコピーして編集します。

3
Adam B