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


13

開発サイトと本番サイトの間に合理的なワークフローを作成する方法を学ぼうとしていますが、このタスクを達成するために機能モジュールを使用することにしました。

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

機能内でこれらのブロック設定をエクスポートして、各サイトでそれらを再構成する必要がないようにするにはどうすればよいですか?

回答:


13

FeatureとStrongarmおよびFeatures extraを使用して、さらに多くをエクスポートできます

Strongarmを使用すると、サイトビルダーは、Drupalコアおよび提供されたモジュールに同梱されているデフォルトの変数値をオーバーライドできます。これはエンドユーザーツールではなく、APIと制限されたUIを提供する開発者およびサイトビルダーツールです。

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

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


1
また、drushとgitを使用してワークフローを処理することをお勧めします。
リファイノ

1
それはまさに私が必要としたものです。機能を使用する方法をもう少しよく理解したら、私はgitを使い始める予定でした。
Mike2012

素晴らしい!マイクとして、それは信じられないほど素晴らしいです!
ジャンレミレヴィー

4

あなたはボックスを使用することができます機能のブロックのエクスポートに従ってモジュールをます

追加のモジュールをインストールせず、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();
}

0

代替案は、ここで提案されているカスタムブロックの代わりにミニパネルを使用することです。これらはほぼ同じように機能し、パネルは機能によってより適切にサポートされているように見えます。すでにパネルを使用する予定の場合、これによりいくつかの余分なモジュールも節約されます。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.