Magento 2で「あとxx円で送料無料」モジュールを開発する
前回の記事にて、Magento 2が動作する環境を構築した。今回は、いよいよMagento 2での開発だ。
前回の手順に従っていれば、composerはすでに導入済みだろう。 Magento 2での開発では、composerは「必須」扱いとなっているのでこの機会に覚えてしまおう。もちろん、本記事中でも必要なことは書いていくのでご安心を。
実際の開発に移る前に、用語についてまとめておこう。
コンポーネント
Magento 1では、エクステンションとかモジュールとか呼ばれており、今ひとつ明確になっていなかったのだが、Magento 2でcomposerを使うようになったことで、明確に「パッケージ」というのがひとつのまとまりになった。
そして、このパッケージのことをMagento 2では「コンポーネント」と呼んでいる。 Magento 2の開発系の情報をあさっていると、英語で「package」とか「component」と表現されることがあるが、これは同じものだと考えて間違いない。パッケージ、コンポーネントが開発を行なうひとつのまとまりと考えてほしい。
「コンポーネントをパッケージして配布する」という感じで表現されることもあるので、Magento 2のお約束として、本記事ではコンポーネントという言葉を使用することにしたい。
タイプ
次がコンポーネントの「タイプ」だ。タイプには3つあって「モジュール」「テーマ」「言語パック」と呼ばれる。
モジュール
Magento 2の機能を拡張するものと規定されている。
テーマ
フロント側やバックエンド側の見た目を調整するコンポーネントのことだ。
言語パック
フロント側やバックエンド側のローカライズ(翻訳を含む、各国別の機能)を行うコンポーネントとなる。
今回の記事では、Magento 1の開発のおさらいとして紹介した「あとxx円で送料無料」なるコンポーネントを作成するので、Magento 2で言うところの「モジュール」を作成するということになる。
1.ファイルは「app/code…」に配置する
Magento 2での例題も、Magento 1で使用した「あとxx円で送料無料」としてみる。では、さっそく開発をしてみることにしよう……と言いつつ、どこにファイルを配置するかという話をしておかなければならない。
Magento 2では、コンポーネントはふたつの場所いずれかに配置が可能だ。 ひとつは、Magento 1と似たapp/code…という配置。もうひとつがvendor/…という配置。
実はこれ、どちらに配置しても動作するのだが、Magentoの各種ドキュメントを確認する分には、開発作業を行っている時にはapp/code…を使用せよとなっている。vendor…は、公式に配布されたコンポーネントを配置する場所という位置づけのようだ。
今回もこの推奨にしたがって、素直にapp/code…配下に作成することにしよう。
さて、Magento 1での開発の記事中、何度も書いた「ファイル同士の関係」。この部分はMagento 2でもしっかりとおさえておくべき事項だ。