web-dev-qa-db-ja.com

機能のブロック設定のエクスポート(Drupal 7)

開発サイトと本番サイトの間で合理的なワークフローを作成する方法について学習しようとしています。この作業を行うために機能モジュールを使用することにしました。

私のフロントページには、新しく追加された最高評価のコンテンツを表示する2つのブロックがあります。これらのビューをエクスポートするために機能を使用しましたが、ブロック設定をエクスポートするために機能モジュール内に表示されません。新しいプロジェクトと最高評価のブロックを設定して、ページのコンテンツセクションに表示します。ビュー内のトップページにのみ表示されるようにフィルタリングします。

これらのブロック設定を機能内にエクスポートして、各サイトで再構成する必要がないようにする方法を教えてください。

13
Mike2012

Strongarm および Features extra と一緒にFeatureを使用して、はるかに多くをエクスポートできます。

Strongarmは、サイトビルダーがDrupalコアモジュールとコントリビュートモジュールが同梱されています。これはエンドユーザーツールではなく、APIと制限されたUIを提供する開発者およびサイトビルダーツールです。

追加機能がサポートする機能:語彙;ノードキュー(定義);ブロック設定;カスタムブロック(ボックス)。

さらに ID機能統合 は、コンテンツ(ノード、分類、フィールド)を機能モジュールにエクスポートするためのメカニズムを提供します。

13
Refineo

Boxes モジュールを使用して、 機能のブロックのエクスポート を実行できます。

追加のモジュールをインストールせずに、Viewsブロック(ブロック構成設定が必要なだけの場合)を処理している場合、別のオプションは、コードレベルで hook_update_N() カスタムモジュールのインストールファイルでの実装。例については、以下を参照してください。

/**
 * Configure block settings.
 */
function my_module_update_7101() {

  // Enable blocks
  db_update('block')
    ->fields(array(
      'status'     => 1,
      'region'     => 'content',
      'visibility' => 1,
      'pages'      => 'node/999',
      'title'      => 'My Block Title',
      'css'        => '',
      'js'         => '',
    ))
    ->condition('delta', 'BLOCK_ID')
    ->execute();
}
4
colan

代替案は、提案されているカスタムブロックの代わりに mini-panels を使用することです here 。それらはほとんど同じように機能し、パネルは機能によってよりよくサポートされているように見えます。すでにパネルの使用を計画している場合は、これによりいくつかの追加モジュールも節約できます。

0
Pomin Wu