今日、私は次の問題に遭遇しています:私が開発したモジュールは、Magento 1.7バージョンストアで非常にうまく機能します。ここで、Magento 1.5ストアでも動作するように適応させる必要があります。
互換性がバラバラになっている1つのポイントは、クラスを拡張している私のコレクションですMage_Core_Model_Resource_Db_Collection_Abstract
。このクラスはMagento 1.5には存在しませんが、getMainTable()などの優れた機能を備えています。私ができることの1つは、代わりにVarien_Data_Collection_Db
inから継承されたクラスを使用することですMage_Core_Model_Resource_Db_Collection_Abstract
。これは機能しますが、getMainTable()メソッドを使用できなくなります。それが実際に存在する1.7ストアでさえも使用できません。
このようなバージョン固有の癖をどのように処理しますか?バージョン1.7が既に持っているものを実装し、それによってそのバージョンでコードを複製するカスタムクラスを書くのはばかげているようです。逆に、機能がなく、代わりにハードコーディングのようなより悪いコーディング習慣を使うのは悪いことです。それで、後方互換性のあるMagentoモジュールを書く上で良いアプローチはありますか?