フィールドベースが他の機能によって使用されている場合、機能が競合する


7

私は最近Featuresモジュールをダウンロードし、機能をdevからprodにどれほどスムーズにエクスポートできるかをとても嬉しく思いました。しかし、2つ目の機能を作成しようとすると、最初の機能で同じフィールドベースを多数使用しているため、競合が発生します。

これを解決するにはどうすればよいですか?異なる機能で同じフィールドを使用できると思いませんか?私が機能を備えている「本文」のフィールドや、そのための画像フィールドを定義する必要があるのは正しくないようです。これらのフィールドは共有できますか?

ここに私のオプションは何ですか?

回答:


7

2つの機能があり、両方の機能で使用される1つのフィールドがある場合は、フィールドベースONCEのみをエクスポートする必要があります。

これが、フィールドベース、更新フックなどを含む「コントローラー」機能を一般的に使用している理由です。他のすべての機能について、フィールドインスタンスをエクスポートし、コントローラー機能への依存関係を追加します。

基本的に、あなたは正しいです-毎回フィールドベースをエクスポートする必要はありません。一度エクスポートしてから依存関係を追加するだけです。


^これは少し不自然に思われます。さらに説明が必要な場合はお知らせください。拡大できるかどうか確認します。
Chapabu 2013

はい、私はこのようなことを始めたばかりです。作成した機能からフィールドベースを削除し、新しい「マスターフィールドベース機能」に追加します。これは、フィールドを共有する将来の機能への依存関係として追加します。これはあなたが正しい意味ですか?また、これは「マスター機能」でフィールドベースを定義しないよりも良い考えのようです。それ以降の機能の依存関係は至る所に存在するためです。
Johan Dahl

1
ええ、それはちょっと私がやっていることです。私の「コントローラー」機能は、常に他の目的にも役立ちます。たとえば、機能の開発中に一部のモジュール設定を変更した場合、それらをhook_update_Nコントローラー機能の.installファイルの実装に配置します。私の依存関係はすべてコントローラー機能で解決され、私の「サブ機能」はすべてコントローラーに依存しています。これは、5/6 /異なる機能とは対照的に、すべてのモジュールの依存関係が1つの場所で解決されることを意味します...それは意味がありますか?
Chapabu 2013

この問題が発生している間に、「マスター機能」への依存関係を設定するにはどうすればよいですか?これで、ベースフィールドを持つマスターフィーチャーを作成しました。他のフィーチャーには、代わりにフィールドインスタンスが保持されています。依存関係を自分でどこかに追加しますか、それとも自動的に機能しますか?オプションが表示されません。
Johan Dahl

1
ああ、それはまったく別の質問です。開始するための2つの良い場所は、このサイトのドキュメントhook_update_Nまたはhook-update-nタグです:)
Chapabu
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.