Media Gallery
Drupalサイトでメディアアイテムのギャラリーを作成・管理できるシンプルかつ強力なモジュールで、PhotoSwipeライトボックスとの統合機能を備えています。
media_gallery
インストール
composer require 'drupal/media_gallery:^3.2'
概要
Media Galleryモジュールは、Drupalサイトでメディアギャラリーを作成・管理するためのカスタムコンテンツエンティティタイプを提供します。DrupalコアのMediaモジュールとMedia Libraryモジュールを活用し、メディアアイテムをギャラリーに整理するための使いやすいインターフェースを提供します。
このモジュールはPhotoSwipeライブラリと緊密に統合されており、ギャラリー画像を表示する際にエレガントなライトボックス体験を提供します。ギャラリーはグリッド、水平、垂直、フィーチャー画像グリッド、さらにはSwiperカルーセル(Swiperモジュールをインストールした場合)など、さまざまなレイアウトオプションを使用して表示できます。
Media Galleryはページネーション、逆順表示、翻訳可能なコンテンツをサポートし、ギャラリーの作成、編集、表示、削除の権限を管理するための包括的な権限制御を提供します。また、最新のギャラリーアイテムや特定のギャラリーをサイトの任意の場所に表示するためのブロックも含まれており、レイアウトや「すべて表示」リンクオプションを設定できます。
Features
- タイトル、説明、無制限のメディアアイテム参照を持つカスタムMedia Galleryエンティティタイプ
- エレガントな画像表示体験のためのPhotoSwipeライトボックス統合
- ギャラリーブロック用の複数レイアウトオプション:グリッド、水平、垂直、フィーチャー画像グリッド、Swiper(カルーセル)
- ページあたりのアイテム数設定と逆順表示オプションを含む設定可能なページネーション
- 2つのブロックプラグイン:すべてのギャラリーから最新アイテムを表示するものと、特定のギャラリーを表示するもの
- 自動URLエイリアス生成のためのPathauto統合
- 多言語サイト向けの完全な翻訳サポート
- Layout Builder対応
- /galleriesで公開されているすべてのギャラリーを表示する組み込みのViewsページ
- 他のモジュールがカスタムレイアウトを追加できる拡張可能なレイアウトプラグインシステム
- ギャラリー内での画像以外のメディアタイプ(動画、oEmbedコンテンツ)のサポート
Use Cases
写真ポートフォリオギャラリー
テーマ別(例:「ウェディング」「ポートレート」「風景」)に画像を整理して、写真家のポートフォリオを作成します。フィーチャー画像グリッドレイアウトを使用して各ギャラリーの最高の写真をハイライトし、多くの画像があるギャラリーではページネーションを有効にします。
商品画像ギャラリー
ECサイト向けに、さまざまな角度からの商品を表示する商品ギャラリーを作成します。商品ページでSwiperレイアウトを使用してカルーセル体験を提供し、顧客が商品画像をスワイプして閲覧できるようにします。
ホームページギャラリーショーケース
「すべてのギャラリーからの最新ギャラリーアイテム」ブロックを使用して、ホームページですべてのギャラリーの最新追加アイテムを紹介します。「すべて表示」リンクを設定して、訪問者を完全な/galleriesページに誘導します。
イベント写真アルバム
イベント(会議、パーティーなど)用のギャラリーを作成し、ユーザーがPhotoSwipeライトボックスで写真を閲覧できるようにします。逆順表示を有効にして、最新の写真を最初に表示します。
複合メディアギャラリー
画像と一緒に動画を含むギャラリーを作成します。このモジュールはoEmbedメディア(YouTube、Vimeo)や動画ファイルをサポートし、ギャラリーレイアウト内で適切にレンダリングします。
Tips
- MediaGalleryLayoutBaseを拡張し、#[MediaGalleryLayout]属性を追加してカスタムレイアウトを作成できます
- 画面サイズに適応するレスポンシブギャラリーには、設定可能なカラムを持つグリッドレイアウトを使用してください
- フィーチャー画像グリッドレイアウトは、1つのアイテムをハイライトしたいポートフォリオスタイルのギャラリーに最適です
- パフォーマンスと品質のバランスを取るため、サムネイルとPhotoSwipeモーダルに異なる画像スタイルを設定してください
- ブロックの「すべて表示」リンク機能を使用して、ギャラリー一覧ページへのトラフィックを促進してください
- 非常に大きなギャラリーの場合、ページ読み込みパフォーマンスを向上させるためにページネーションを有効にしてください
- ギャラリーエンティティは翻訳可能です - エンティティタイプで翻訳を有効にして多言語ギャラリーを作成できます
Technical Details
Admin Pages 3
/admin/structure/media-gallery
Media Galleryエンティティタイプの設定ページ。ギャラリーのフィールド、フォーム表示、ビュー表示設定を管理するためのアクセスを提供します。
/admin/content/media-gallery
すべてのメディアギャラリーを表示するリストページ。ID、タイトル、ステータス、作成者、作成日時、更新日時の概要を提供します。管理者はギャラリーの追加、編集、削除ができます。
/admin/content/media-gallery/add
タイトル、説明、メディアアイテム、ページネーション設定、公開オプションを含む新しいメディアギャラリーを作成するフォーム。
権限 9
Hooks 1
hook_media_gallery_layout_info_alter
モジュールがメディアギャラリーレイアウトプラグインの定義を変更できるようにします
Troubleshooting 4
PhotoSwipeモジュールが正しくインストールされ、有効になっていることを確認してください。PhotoSwipeライブラリファイルが正しくダウンロードされていることを確認してください。imagesフィールドが「photoswipe_field_formatter」フォーマッターを使用していることを確認してください。
SwiperレイアウトにはSwiperモジュール(swiper_formatter)のインストールが必要です。Composerでインストール: composer require drupal/swiper_formatter、その後有効化してSwiper設定エンティティを作成してください。
ギャラリーに公開されたメディアアイテムが含まれていることを確認してください。表示ユーザーが「公開済みメディアギャラリーエンティティの表示」権限を持っていることを確認してください。特定のギャラリーブロックの場合、ブロック設定でギャラリーが選択されていることを確認してください。
D7のMediaモジュールバージョンに基づいて適切なマイグレーションサブモジュールを有効にしてください(7.x-1.xの場合はmedia_gallery_migration、7.x-2.xの場合はmedia_gallery_migration2)。必要なすべてのマイグレーションモジュール(migrate_plus、migrate_tools)がインストールされていることを確認してください。
Security Notes 3
- 「メディアギャラリー設定の管理」権限は制限付きアクセスとしてマークされており、信頼できる管理者にのみ付与する必要があります
- ギャラリーアイテムのレンダリング時にメディアアクセスがチェックされます - 未公開のメディアはギャラリーに含まれていても表示されません
- ギャラリーの可視性は「公開済み/未公開メディアギャラリーエンティティの表示」権限を尊重します