サブモジュール.
ディレクトリmodules/には3つのサブモジュールがあります。2つは小さな設定パッケージです。Builderに接続されたコンテンツタイプとブロックタイプです。3つ目はメディアライブラリー対応より前のレガシーEntity Browserメディアピッカーです。このページでは各モジュールがインストールする内容、依存関係、有効化・廃止方法を説明します。
| モジュール | マシン名 | 提供内容 | 状態 |
|---|---|---|---|
| DXPR Builder Drag and Drop Page | dxpr_builder_page |
drag_and_drop_pageコンテンツタイプ |
サポート対象 |
| DXPR Builder Block Type | dxpr_builder_block |
drag_and_drop_blockブロックタイプ |
サポート対象 |
| DXPR Builder Media | dxpr_builder_media |
Entity Browserメディアピッカー | レガシー。Extendページでは非表示 |
どれも必須ではありません。BuilderはビューディスプレイがDXPR Builderフォーマッター(dxpr_builder_text)を使う任意のテキストフィールドで動作します。既存コンテンツタイプへのインストールを参照。
DXPR Builder Drag and Drop Page
modules/dxpr_builder_pageはDrag and Drop Pageコンテンツタイプ(node.type.drag_and_drop_page)をconfig/optional/からインストールします。
- フィールド
body。既定のビューディスプレイはdxpr_builder_textフォーマッターを使い、フォームディスプレイはField Groupでグループ化されます。 - 3つのDXPR Themeフィールド。
field_dth_hide_regions、field_dth_main_content_width、field_dth_page_layoutです。フィールドストレージがある場合のみインストールされます。DXPR Theme Helperモジュールが提供します。
依存関係はdxpr_builder_page.info.ymlから。field_group、text、node、dxpr_builderです。hook_install()は存在しない場合にbodyフィールドストレージを作成します。任意設定がインストールできない場合(Minimalプロフィールなど)でも、menu_uiとpath部分を除いてタイプ、bodyフィールド、ディスプレイ自体をインストールします。dxpr_builder_page_update_8001()はインストール済み設定をモジュール強制としてマークします。
src/DXPRBuilderPageUninstallValidator.php(dxpr_builder_page.services.ymlに登録)はdrag_and_drop_pageノードがある間のアンインストールを阻止します。先にそれらのノードを削除するかタイプを変更します。
-
モジュールを有効化します。
drush en dxpr_builder_page -y -
ページを作るのは
/node/add/drag_and_drop_pageで、編集者がページを見るとbodyフィールドでBuilderが起動します。
有効化が「unmet dependencies」で失敗したら、Field Groupを有効化してbodyフィールドストレージがあるか確認します。更新後の問題を参照。
DXPR Builder Block Type
modules/dxpr_builder_blockはDrag and Drop Blockブロックタイプ(block_content.type.drag_and_drop_block)をconfig/optional/からインストールします。bodyフィールド、既定ビューディスプレイのdxpr_builder_textフォーマッター、フォームディスプレイ付きです。タイプはCreate new revisionがオンで、dxpr_builder_block_update_8002()が古いインストールでもオンにするため、ブロックでのBuilder保存は毎回リビジョンを作ります(コンテンツステージングを参照)。
依存関係:text、node、dxpr_builder。
-
モジュールを有効化します。
drush en dxpr_builder_block -y -
ブロックを作るのは
/block/add/drag_and_drop_blockです。 -
リージョンに配置します。表示される任意のページで編集者がその場で編集します。
dxpr_builder_entity_type_alter()はモジュール独自のDrupal\dxpr_builder\Entity\BlockContentクラスに入れ替えます。Nodeの場合と同様です。このクラスは空のBuilderフィールドに空文字を保存するため、エディターには常にアタッチ先があります。自分で作るブロックタイプも、ビューディスプレイがDXPR Builderフォーマッターを使えば同じ動作です。
DXPR Builder Media
modules/dxpr_builder_mediaはコアのメディアライブラリー対応より前にモジュールが使っていたEntity Browserベースの画像ピッカーです。hidden: trueが.info.ymlにマークされているためExtendには表示されません。Drushでは有効化できます。以下をインストールします。
entity_browser.browser.dxpr_builder_media_modal:2ウィジェットのモーダルブラウザーで、ラベルはDXPR Builder Image Browser。Media Libraryタブ(dxpr_builder_mediaビューに支えられる)とUpload new imageタブ(Inline Entity Formでimageメディアエンティティを作成)。views.view.dxpr_builder_media:最初のウィジェット用のメディアグリッド。image.style.dxpr_builder_media_thumbnail:グリッド用の300×300ピクセルの拡縮切り抜きスタイル。- ライブラリー
view、claro_style、gin_style(dxpr_builder_media.libraries.yml)。モジュールは、有効テーマがGinまたはGinベースの場合にGinスタイルシートをビューに添付し、それ以外はClaroスタイルシートを添付します。
依存関係:inline_entity_form、entity_browser、entity_browser_entity_form、media、media_library、views。インストール時にモジュールはdxpr_builder.settings内のmedia_browserをdxpr_builder_media_modalに設定します。アンインストール時は空文字(Basic file upload)に設定し、画像スタイルを削除します。
推奨ブラウザーはコアのメディアライブラリーで、サブモジュールは不要です。
-
レガシーモジュールが有効ならアンインストールします。
drush pm:uninstall dxpr_builder_media -y -
移動するのはDXPR Studio > DXPR Builder > General Settings(
/admin/dxpr_studio/dxpr_builder/settings)で、Mediaを開きます。 -
設定するのはBrowser typeで、Media LibraryにしてSave settingsをクリックします。アンインストールでBasic file uploadにリセットされています。
サブモジュールを残すのはファイルIDを返すEntity Browserに依存するサイトのみです。不一致ブラウザーのエラーは画像がアップロードされない・消えるを参照。モジュールはリポジトリ唯一のPHPUnitテストtests/src/FunctionalJavascript/MediaEntityBrowserTest.phpを持ちます。テストを参照。
複数の一括有効化
drush en dxpr_builder_page dxpr_builder_block -y
各サブモジュールは他から独立しています。
次のステップ
- コンテンツタイプ:独自コンテンツタイプでのBuilder利用に。
- メディアライブラリー統合:推奨画像ピッカーに。