Simple Block

コンテンツエンティティではなく設定エンティティとしてカスタムブロックを保存し、設定管理を通じて簡単にデプロイできるようにします。

simple_block
3,728 sites
35
drupal.org

インストール

Drupal 11, 10, 9 v8.x-1.7
composer require 'drupal/simple_block:8.x-1.7'
Drupal 8 v8.x-1.4
composer require 'drupal/simple_block:8.x-1.4'

概要

Simple Blockは、設定エンティティに基づいてブロックを作成するブロックプラグインを提供します。ブロックをデータベース内のコンテンツエンティティとして保存するコアのBlock Content(block_content)モジュールとは異なり、Simple Blockはブロックを設定エンティティとして保存します。このアーキテクチャは、Drupalの設定管理システムを使用してブロックをデプロイする必要がある場合に大きな利点をもたらします。

各シンプルブロックは一意のマシン名文字列で識別され、タイトルとフォーマット済みテキストエリアのみを含みます。ブロックはグローバルトークン置換をサポートしており、動的なコンテンツの挿入が可能です。作成後、シンプルブロックはYAMLファイルとして設定同期ディレクトリにエクスポートし、設定として他の環境にデプロイできるため、設定同期に依存する開発ワークフローに最適です。

このモジュールは、Layout Builderインターフェース内で直接シンプルブロックを作成・編集できるLayout Builder統合サブモジュールも提供しています。

Features

  • 設定管理を通じて簡単にデプロイできるよう、カスタムブロックをコンテンツエンティティではなく設定エンティティとして保存
  • 利用可能な任意のテキストフォーマットを使用して、タイトルとフォーマット済みテキストコンテンツを持つブロックを作成
  • ブロックコンテンツでのグローバルトークン置換をサポート(例:[site:name])
  • 既存のブロックをクローンして、新しいマシン名で類似のブロックを素早く作成
  • フロントエンドでブロックを素早く編集するためのコンテキストリンク
  • エンティティ参照フィールドを通じてシンプルブロックを表示するフィールドフォーマッター
  • Layout Builder UIで直接ブロックを作成・編集するためのオプションサブモジュールによるLayout Builder統合
  • ブロックレイアウトインターフェースでブロックプラグインとして自動的に利用可能

Use Cases

環境間でのサイト全体の通知のデプロイ

開発、ステージング、本番環境間で一貫性を保つ必要があるサイト全体のお知らせや通知用のシンプルブロックを作成します。ブロックは設定としてエクスポートし、通常のデプロイパイプラインを通じてデプロイでき、すべての環境で同じコンテンツが表示されることを保証します。

フッターまたはヘッダーのコンテンツブロック

著作権表示、連絡先情報、ヘッダーバナーなどのフッターコンテンツ用のシンプルブロックを作成します。これらには[current-date:custom:Y]のようなトークンを含めることができ、現在の年が自動的に更新されます。

Layout Builder用の再利用可能なコンテンツスニペット

Layout Builderサブモジュールを有効にすると、コンテンツ編集者はレイアウトを構築しながら再利用可能なシンプルブロックを直接作成できます。これは複数の場所や複数のコンテンツタイプにわたって表示されるべきコンテンツに便利です。

設定ベースのプロモーションブロック

データベースに保存されるコンテンツベースのブロックとは異なり、デプロイ前にコードレビュープロセスを通じてバージョン管理およびレビューできるプロモーションブロックやコールトゥアクションブロックを作成します。

Tips

  • シンプルブロックのマシン名は作成後に変更できないため、意味のある名前を使用してください
  • サイト名や現在の日付などの動的コンテンツにはトークン置換を活用してください
  • 環境間の一貫性を確保するため、デプロイ前にシンプルブロックを設定としてエクスポートしてください
  • クローン機能は、類似したコンテンツを持つ既存ブロックのバリエーションを作成するのに便利です
  • シンプルブロックは、バージョン管理してCI/CDパイプラインを通じてデプロイする必要があるコンテンツに最適です

Technical Details

Admin Pages 5
シンプルブロック /admin/structure/block/simple-block

サイトで作成されたすべてのシンプルブロックを一覧表示します。このページから既存のシンプルブロックの表示、編集、クローン、削除、および新規追加ができます。

シンプルブロックを追加 /admin/structure/block/simple-block/add

一意のマシン名、タイトル、フォーマット済みコンテンツを持つ新しいシンプルブロックを作成します。

シンプルブロックを編集 /admin/structure/block/simple-block/manage/{simple_block}/edit

既存のシンプルブロックのタイトルとコンテンツを変更します。マシン名は作成後に変更できません。

シンプルブロックをクローン /admin/structure/block/simple-block/manage/{simple_block}/clone

新しいマシン名で既存のシンプルブロックのコピーを作成します。タイトルとコンテンツは元のブロックから事前入力されます。

削除 /admin/structure/block/simple-block/manage/{simple_block}/delete

シンプルブロックを削除するための確認ページ。この操作は元に戻せません。

権限 4
ブロックの管理

シンプルブロック管理ページへのアクセスと新しいブロックの作成に必要です。これはコアBlockモジュールの権限です。

シンプルブロックの編集

完全なブロック管理権限なしで既存のシンプルブロックを編集できるようにします。

シンプルブロックのクローン

既存のシンプルブロックをクローン(複製)できるようにします。

シンプルブロックの削除

シンプルブロックを削除できるようにします。

Troubleshooting 3
ブロックに「ID [id] のシンプルブロックは存在しません」というメッセージが表示される

これは、ブロックプラグインが削除されたシンプルブロックエンティティを参照している場合に発生します。同じIDでシンプルブロックを再作成するか、ブロックレイアウト設定からブロックを削除してください。

シンプルブロックへの変更が表示されない

変更を行った後にキャッシュをクリアしてください。シンプルブロックは保存時にブロックプラグインキャッシュを無効化しますが、一部のシナリオでは手動でキャッシュをクリアする必要がある場合があります。

Layout Builderでシンプルブロックを編集できない

Simple Block + Layout Builderサブモジュールが有効になっていることを確認してください。インライン編集機能にはこのサブモジュールが有効である必要があります。

Security Notes 3
  • シンプルブロックはテキストフォーマットの権限を尊重します - ユーザーはアクセス権のあるテキストフォーマットのみを選択できます
  • コンテンツはprocessed_textを使用してレンダリングされ、選択したテキストフォーマットのセキュリティフィルターが適用されます
  • ユーザーはブロックを管理するために「ブロックの管理」権限または特定のシンプルブロック権限が必要です