web-dev-qa-db-ja.com

サイト間でブロックを再利用するためのベストプラクティスは何ですか?

Drupal 7?)のサイト間でブロックを再利用する最良の方法は何ですか?ブロックだけでなく、テーマ内でのブロックの位置も再利用したいと思います。

どうやら 追加機能 はこのために設計されています。ただし、プロジェクトページでは、UUID機能の統合がモジュールの未来であると述べています。

ID機能の統合 は機能しません(ただし、問題を修正するパッチは入手可能です)。また、それは Deployのおかげで削除されました です。

Deploy ただし、ブロックでは機能しないようで、ノードのエクスポート用に設計されています。したがって、それがUUID機能の代わりになるかどうかは本当にわかりません。

達成したいことのベストプラクティスは何ですか?

PS。これは質問の新しいバージョンです。「 最新のベストプラクティス:Drupal 7サイト の間でコンテンツ/機能を再利用する」=別の質問として投稿するように言われたため) 。

2
big_smile

ページマネージャパネル および 機能

ページマネージャーが属するプロジェクトであるCtoolsのプラグインアーキテクチャは、特にブロックを再利用するための最良の方法です。

すべてのブロック配置はパネルで行われ、機能付きのコードにエクスポートされます。

2
Letharion

このトピックに関するもう1つのベストプラクティスは、 Bean モジュールを使用することです。ここにそのプロジェクトページについての引用があります:

Beanを新しいタイプを提供するメソッドと考えてください(ノードと比較すると、これはコンテンツタイプになります)。必要な数のブロックを作成するための追加コンテンツインターフェースを提供します(下のスクリーンショットを参照)。 Beanのコンテンツは、他のブロックと同じようにサイトの周りに配置できます。

このモジュールは [〜#〜] uuid [〜#〜] および ID Features Integration モジュールと組み合わせて使用​​することもできます。また、Beanモジュールに慣れると、サイト内でこのモジュールも使用したい場合があります(別のモジュールを追加する必要があるという事実を何らかの形で補償します)。

ビデオチュートリアル Drupal Beanモジュールチュートリアル-Bean管理UIの使用 は、このモジュールの機能と、(サイト構築テクニックのみを使用して)モジュールで実行できることを実際に理解するための優れた入門を提供します。カスタムコーディングは含まれません)。また、BeanモジュールがDrupalブロックをフィールド化可能なエンティティに変換する方法も示しています。

このモジュールはD7の時点でのみ開始され(もちろん「D7でのみ導入された「エンティティ」のため)、すでに22Kを超えるインストールが報告されています。まだそれを使用していない人は、いつかD8にアップグレードする準備として、間違いなくそれを検討し始める必要があります。これは現在プロジェクトページに表示されているものです(ここに太字のマークアップを追加しました)。

このモジュールはDrupal 8コアに含まれています。詳細は issue を参照してください)情報。

1
Pierre.Vriens