Magento 1系の開発おさらい:エクステンション形式とは
今回は、Magento 1系でシンプルなエクステンションを開発する方法について紹介しよう。
オープンソースを使用した開発では、ソースコードが目の前に見えていることもあって、変更したい処理を見つけたら、それを修正してしまうということをやってしまいがちだ。
しかし、Magentoでの動作の書き換えは、このような直接的な修正は行なわない。 ちょっとした修正であっても、Magento 1の「お作法」にしたがって、エクステンション形式で修正を行うのだ。
このような方法は、とにかくとっつきづらい。筆者がMagentoをはじめてから、なかなか「Magentoできます」という協力会社を見つけられなかったのも、このような「お作法」による縛りがきついということもあったように感じる。
だが、このようなお作法に従うことで、同じような修正が必要となる別のプロジェクトにおいても、この修正モジュールを「再利用」することが驚くほど簡単になり、開発コストはみるみるうちに下がっていく。
早い話が、ソースコード管理しているエクステンションを別プロジェクトに取り込むだけで、その修正がすぐに使えるようになるのだ。
たとえば、Magentoの標準で表示されている不必要なブロックを非表示にしたいという要望は、どの案件でも発生する。
筆者も最初はよくわからずに、そのブロックを表示している部分を毎回探し、「削除」していたのだが、エクステンションでできることがわかってからは、
$ modman clone 非表示エクステンションのリポジトリURL
と一発コマンドを叩いて、あとはキャッシュクリアするだけという気軽さだ。
こんなお気軽開発ができるようになるために、まずはちょっとした開発準備を行うことにしよう。
Magento 1系開発の準備:modmanをインストールせよ
さきほどコマンド一発として叩いた「modman」なるコマンド。GitHubで公開されているツールで、誰でも利用することができる。
コマンドのインストール方法については、この記事では触れないが、以下のURLに導入方法を含めた記述があるので、まずはご自身が使用される環境に導入しておいていただきたい。
https://github.com/colinmollenhour/modman
あとは、Magento 1が動く環境一式があれば、今回の記事で紹介する流れを実際に確認することが可能になるはずだ。
注意点として、Magentoの設定側で、シンボリックリンクを有効にしておく必要がある。
具体的には、Magentoのバックエンドから、System / Configuration / ADVANCED / Developer / Template Settings / Allow Symlinksを「Yes」にしておかねばならない。
【無料イベント】顧客エンゲージメントを最大限に高めるデジタルコマースのありかた「ECzine Day Retail Academy」6/3開催
「小売」にかかわるすべての人へ。オムニチャネルの次へ。イベント詳細・お申し込みはこちら。
- アパレル先進企業に訊く 顧客エンゲージメントを最大限に高めるデジタルコマースのありかた
- 顧客エンゲージメントのプラットフォームとしてのピンタレスト活用方法について
- デマンドウェアソリューション / サービスの紹介
- ポイント・購買データをもとにした顧客育成プログラムのご提案