ブロックを管理するために、Drupal 7 サイトの 1 つに Features モジュールを実装しようとしています。いくつか質問があります。まず、ソース サイトで新しい機能を作成する場合、その新しく作成した機能を取得してモジュール ディレクトリに配置し、ソース サーバーと宛先サーバーで有効にしますか、それとも宛先サーバーのみで有効にしますか?
また、ライブサーバーがテストのクローンである場合に、テストサーバーとライブサーバーでブロックを管理しようとすると、どのように動作するのか気になります。つまり、テストサーバーを作成し、コンテンツとブロックを含むサイトを構築し、それが完了したら、テストを複製してライブにします。次に、機能モジュールをテストにインストールし、すべてのカスタム ブロックを含む機能を作成します。ただし、これを行ってその機能をライブサーバーに移動して有効にすると、すぐにオーバーライドされた状態になりました。機能は、あるサイトから別のサイトに新しいブロックを移動するためだけのものであり、両方のサーバーに既に存在するブロックを管理するためのものではありませんか? テストサーバー上のすべてのブロックを含む機能を作成し、ライブサーバー上のブロックを削除してから、ライブでブロックにデータを入力する機能をライブで有効にする必要があります。私'
ありがとう
更新: OK、ここで髪を引っ張っています。繰り返しますが、ソースと宛先の 2 つのサイトがあります。宛先は、ソースの正確なクローンです。機能を介して管理したい両方のサイトに 3 つのブロックがあります。だから、ソース サイトでは、最初に 1 つのブロックだけでテストすることにしました。最初にブロックを編集して、宛先サイトのものとは異なるようにしました。次に、ブロックとブロックの設定を含む機能を作成し (ちなみに、これを達成するために Features Extra を使用しています)、その機能を目的のサイトに配置します。機能を有効にすると、機能は実際には上書きされません。状態とソース サイトのブロックに加えた変更は、宛先サイトに問題なく表示されます。でも、他の 2 つのブロックをソース サイトのこの機能に追加して再作成し、宛先サイトにエクスポートしようとすると、宛先サイトの機能はオーバーライドされた状態になりますが、いくつでも問題ありません。ブロックをdBからコードに取り出す機能を何度も「元に戻す」と、オーバーライドされた状態から抜け出せません。キャッシュをフラッシュし、機能を無効にしてから再度有効にし、元に戻そうとしましたが、上書きされたままスタックし、他の 2 つのブロックに加えた変更が表示されません。それから、一度に 3 つのブロックを実行しているからかもしれないと考えました。次に、JUST ブロック番号 2 を単独で使用し、その機能を作成して目的のサイトに配置すると、オーバーライドされた状態でスタックします。ブロック番号 3 についても同様です。ブロック番号 1 自体は問題なく、オーバーライドされた状態でスタックしません。ブロック番号 2 と 3 だけです。私が知る限り、3 つのブロックはすべてまったく同じ方法で作成されており、役割、ページなどに関して異なる設定はありません。これには確かに困惑しています。