7

モジュールを積極的に開発しており、変更を本番サイトにプッシュする場合、通常、いくつかの構成変更を行う必要があります。これを自動化できたらいいのに…と思いませんか?

4

2 に答える 2

8

それがまだ実際のものかどうかはわかりませんが、システム -> 構成への変更を意味する場合は、データベースのアップグレードを記述する代わりに、そのような config.xml ノードを使用する方がはるかに優れています。

Magneto はcore_config_dataテーブルをグローバルな XML 構造に処理するため、システム構成を変更するために db テーブルを使用せずに XML 構造を変更するだけで済みます。

ここに小さな例があります:

<config>
   <stores>
       <french>
          <design>
             <theme>
                 <default>french</default>
             <theme>
          </design>
       </french>
   </stores>
   <websites>
       <base>
          <design>
             <theme>
                 <default>english</default>
             <theme>
          </design>
       </base>
   </websites>
</config>

この例では、Magento の 2 つのスコープに対して 1 つの構成フィールドが変更されています。現在のウェブサイトやストアに応じた現在のテーマの定義です。

その<stores />ため、ノードには特定のストアの構成値が含まれています。各子要素には店舗コードで名前が付けられ、ネストされたビューに構成データが含まれています。<website />ノードには、特定の Web サイトの構成値が含まれています。各子要素には Web サイト コードで名前が付けられ、ネストされたビューにも構成データが含まれています。

また<default />、グローバル スコープの構成値に使用できるノードもあります。ただし、特定の値がスコープ用である場合は<stores />andによってオーバーライドされ ます。<websites />

"System -> Config" で変更を行わずに Magento インストーラーを介してプロジェクトをインストールするだけでよい場合、プロジェクトの展開がはるかに簡単になるため、config.xml を介してのみ構成を変更しています。

于 2011-06-28T10:47:56.790 に答える
5

モジュールの「sql」ディレクトリで、インストールまたはアップグレード スクリプトの一部として変更を行います。モジュールの「config.xml」ファイルで、一致するすべての変更のバージョン番号を増やし、<config><global><resources><MODULE_setup><setup>ノードに記入することを忘れないでください。

スクリプトは Magento のコンテキスト内で実行されるため、通常のすべての機能にもアクセスできるため、更新は SQL コマンドの形式である必要はありません。

于 2010-11-17T20:54:04.770 に答える