この記事は古くなっています。 これは新しいものです。
先週、Magento 2のモジュールを作成する例を感じました。調査中に、Magento 1のモジュールを開発するために現在開発している環境に似た作業環境を作成しようとしました。
- モジュールコードをGithubリポジトリに配置します。
- Composerを使用して、Magentoアプリケーションにモジュールを接続します。
- Magentoの開発/テストバージョンの展開プロセスの自動化。
猫の下には、Githubプロジェクトへのリンクがあり、Magento 2用のモジュールの例とその開発用の環境の(半)自動展開があります。
便利なリンク
Magento 2のシステム要件、Composerのインストール方法、PHPの構成方法、およびデータベースの作成方法については説明しません。 同様の一般情報は、次のリンクから入手できます。または、Googleで検索されます。
モジュール自体
githubのプロジェクトへのリンク: sample_mage2_module
カタログ

(グレーは、バージョン管理下にないファイルとディレクトリの概要を示します。展開中に生成されるか、手動で作成されます)
モジュール自体のコードを./srcサブディレクトリに配置します。
モジュール開発用の作業環境を./work/ディレクトリにデプロイします。
./work/cfg/ディレクトリには、Magentoアプリケーションの開発バージョンを展開するためのスクリプトのソースコードが含まれています。
./work/cfg/templates.jsonファイルは、 composer_plugin_templatesプラグインの2つの構成ファイルの1つであり、composerイベント( composer installなど )に従って、ソースファイルテンプレート(バージョン管理下)をプレースホルダーテンプレートの置換でターゲットディレクトリにコピーしますは、アプリケーションの特定のインスタンスの実際の値です。 これは手動で行うことができますが、このプラグインを使用します。 この例では、。 / work / cfg / bin / deploy / post_install.shテンプレートからシェルスクリプト( ./work/bin/deploy/post_install.sh )を1つだけ作成する必要があります。これにより、Magentoアプリケーションのデータベースが生成されます「composer install」を実行します。
./work/htdocs/ディレクトリはWebアプリケーションのルートであり、Magento2( コピー戦略)が展開され、モジュールファイル( シンボリックリンク戦略)がこのスキャンに重ねられます。 ./work/htdocs/のファイルは./src/ディレクトリからではなく、。 / work / vendor / flancer32 / sample_mage2_module / srcディレクトリからリンクされていることに注意してください。
./work/.gitignoreファイルは./work/ディレクトリ(モジュール開発の作業環境)に属します。
./work/composer.jsonファイル-Composerを使用して作業環境を展開するための手順。
./work/templates.json.initファイルは、composerプラグインcomposer_plugin_templatesで使用される2番目の構成ファイルの準備です。 プラグインでは、2つの構成ファイルを使用します。1つは、テンプレートのリストと、このスキャンインスタンスの値で変数を置き換えた後に完成したファイルを配置するアドレスを決定し、2つ目は、これらの変数の値です。 最初の構成ファイルがアプリケーションのデプロイ先に依存していない場合(そしてバージョン管理下にある場合)、2番目の構成ファイルは依存しているため、制御できません。 代わりに、それを作成するためのワークピースが制御されます。
./.gitignoreファイルは、プロジェクト全体を参照します( ./workサブディレクトリを除く)。
./composer.jsonファイルには 、Magento2モジュールを展開するための指示が含まれています(モジュール自体であり、開発用の作業環境ではありません)。
展開の準備
データベースの作成方法とWebサーバーとPHPの設定方法については説明しません。Magento2の場合、これはMagento 1の場合とまったく同じです。システム環境をセットアップした後、データベースとURLを操作するためのパラメーターが必要です。 Webアプリケーションが実行されます。
$ git clone git@github.com:flancer32/sample_mage2_module.git $ cd sample_mage2_module/work/
アプリケーションインスタンスに固有のパラメーターを使用した構成ファイルの作成(データベース、URLなどの操作): `` `bash
$ cp templates.json.init templates.json
$ nano templates.json
{
「vars」:{
「LOCAL_ROOT」:「/ home / magento / instance / sample_mage2_module」、
「CFG_ADMIN_FIRSTNAME」:「ストア」、
「CFG_ADMIN_LASTNAME」:「管理者」、
「CFG_ADMIN_EMAIL」:「admin@store.com」、
「CFG_ADMIN_USERNAME」:「admin」、
「CFG_ADMIN_PASSWORD」:「eUvE7Yid057Cqtq5CkA8」、
「CFG_BASE_URL」:「 http://mage2.local.host.com/ 」、
「CFG_BACKEND_FRONTNAME」:「admin」、
「CFG_DB_HOST」:「localhost」、
「CFG_DB_NAME」:「magento2」、
「CFG_DB_USER」:「magento2」、
「CFG_DB_PASSWORD」:「JvPESKVSjXvZDrGk2gBe」、
「CFG_LANGUAGE」:「en_US」、
「CFG_CURRENCY」:「USD」、
「CFG_TIMEZONE」:「UTC」、
「CFG_USE_REWRITES」:「0」、
「CFG_USE_SECURE」:「0」、
「CFG_USE_SECURE_ADMIN」:「0」、
「CFG_ADMI_USE_SECURITY_KEY」:「0」、
「CFG_SESSION_SAVE」:「db」
}
}
<a href="http://devdocs.magento.com/guides/v2.0/install-gde/install/cli/install-cli-install.html#instgde-install-cli-magento"></a> Magento 2 <i>setup:install</i> (. <a href="https://github.com/flancer32/sample_mage2_module/blob/master/work/cfg/bin/deploy/post_install.sh">./work/bin/deploy/post_install.sh</a>). <h4></h4>```bash $ composer install $ sh ./bin/deploy/post_install.sh
Webインターフェイスのアクセスポイント:
- mage2.local.host.com/index.php
- mage2.local.host.com/index.php/admin/
何がありますか
( ./work/vendor/flancer32/sample_mage2_module/src/ディレクトリから)リンクされたモジュールファイルを含むデプロイされたMagentoアプリケーション( ./work/htdocs/ディレクトリを参照)。 したがって、デプロイされたMagento 2アプリケーションでモジュールのファイルを変更すると、バージョン管理下にある./vendor / ...ディレクトリ内のファイルが実際に変更されます。 このリポジトリで動作するようにIDEを構成することは残ります。

...そして、おなじみの方法でモジュールのソースコードを操作できます。

この方法で開発者スキャンに接続できるモジュールの数は非常に多くなります。 Composerはそれらをすべて引き出し、。 / work / vendor /ディレクトリに配置します。必要なリポジトリをIDEに接続するためだけに残り、必要なコードはすべてバージョン管理下にあります。
追加
Magento2アプリケーションをデプロイするためのルートディレクトリ./work/htdocs/は../work/composer.jsonに作成されます : `` `bash
{
「スクリプト」:{
「pre-install-cmd」:[
"#開発Magentoインスタンスのルートディレクトリを作成します。"、
「mkdir -p htdocs」
]
}
}
<a href="https://github.com/flancer64/magento-composer-installer"> </a> <a href="https://github.com/magento/magento-composer-installer">magento/magento-composer-installer</a>, <a href="https://github.com/magento/magento-composer-installer/pull/7">pull request</a> (. <a href="https://github.com/flancer32/sample_mage2_module/blob/master/work/composer.json#L28">./work/composer.json</a>): ```bash { "repositories": [ { "type": "vcs", "url": "https://github.com/flancer64/magento-composer-installer" } ], "require": { "magento/magento-composer-installer": "dev-patch-1" } }
composer_plugin_templatesプラグインの設定( ./work/composer.jsonを参照): `` `bash
{
「追加」:{
「praxigento_templates_config」:[
「./templates.json」、
「./cfg/templates.json」
]
}
}
<i>php $LOCAL_ROOT/work/htdocs/bin/magento setup:install</i> <a href="http://devdocs.magento.com/guides/v2.0/install-gde/install/cli/install-cli-install.html#instgde-install-cli-magento"></a> <i>--use-sample-data</i> ```bash composer require magento/sample-data:~1.0.0-beta
./workディレクトリーでは、目的のサンプルデータが最初に長時間(特にメディア)ダウンロードされ、次に長時間インストールされ、その後すべてがクラッシュします。サンプルデータなしで再起動する必要があります。 おそらく、エラーが修正されると、サンプルデータを入力することが可能になりますが、現時点ではこのようになります。