画像リスト

概要

Image List コンポーネントは、手動入力または Salesforce クエリのいずれかから画像をレンダリングし、ベースグリッド、キルテッド、ウーブン、またはメーソンリーの4つのレイアウトスタイルを提供します。ユーザーは画像を閲覧、検索、フィルタリングでき、オプションのアイテムアクションで個々のアイテムと対話できます。レスポンシブな列数やソースが欠落した場合のフォールバック画像など、プロパティパネルからすべてを構成できます。

ユースケース

  • 製品画像ギャラリーの表示 営業担当者が利用可能な写真をすべて確認する必要がある製品レコードページ上で。

  • チームディレクトリページの構築 従業員の写真を表示し、それらがユーザープロファイルにリンクするページ。

  • Experience Sites 上のポートフォリオショーケース作成 パートナーや顧客がプロジェクトの例を閲覧できるようにするためのもの。

  • 不動産リストでの物件写真の表示 エージェントが利用可能な在庫を確認するためのレコードで。

  • イベントの写真コレクションの提示 マーケティングキャンペーンの写真を、イベント種別や日付でフィルタリングして表示。

  • アセットライブラリの表示 ユーザーがカテゴリ、名前、またはカスタム属性で画像を検索およびフィルタリングできる場所。


クイックスタート: アカウントページに連絡先写真を表示する

現在のアカウントに関連するすべての連絡先を表示する稼働中の画像ギャラリーを構築します。これは標準の Salesforce オブジェクトを使用するため、どの組織でも手順を追うことができます。

前提条件: 連絡先に写真が必要です。PhotoUrl が入力されていない場合は、標準のユーザーアイコンをフォールバックとして使用するか、最初にいくつかのテスト連絡先に画像をアップロードしてください。

1

Dynamic Components で新しいコンポーネントを作成する

  • を開きます Avonni Dynamic Components App Launcher からアプリを開きます

  • クリック 新しいコンポーネント

  • コンポーネントに名前を付けます(例: 「Contact Photo Gallery」)

  • 設定 ターゲットページオブジェクトAccount — これはコンポーネントがアカウントレコードページで動作することを示し、現在のレコードフィールドを参照するための $Component 変数へのアクセスを可能にします。

2

Image List 要素を追加する

  • コンポーネントキャンバスで、クリックします 要素を追加 または Elements パネルからドラッグします

  • 選択 Image List 利用可能な要素から

  • Image List がキャンバスに表示され、プロパティパネルでの構成準備が整います

3

データソースを構成する

右側のプロパティパネルで:

  • 設定 データソースクエリ

  • クリック クエリを作成

  • 対象 オブジェクトとして選択 Contact

  • の下に フィルタを追加: AccountId = '$Component.RecordId'

  • 対象 並び替えとして選択 LastName 方向指定 昇順

  • クリック 完了 でクエリを保存します

4

フィールドをマップする

データマッピング セクションで:

  • ラベルとして選択 Name (各写真の下に連絡先のフルネームを表示します)

  • 説明として選択 タイトル (職位を表示します)

  • 画像ソースとして選択 PhotoUrl (標準の Contact 写真フィールド)

注記

ラベルと説明は任意です。ギャラリーを表示するには画像ソースのみが必須です。各画像の横に追加のコンテキストを表示したい場合はラベルと説明を使用し、よりクリーンな画像のみの表示にしたい場合は空のままにしてください。

5

ヘッダーを構成する

ヘッダー セクションで:

  • タイトルに入力: チーム連絡先

  • キャプションに入力: このアカウントに関連する人々

  • 結合されているかを切り替え: オン — これによりヘッダーがギャラリーボディと視覚的に接続されます

6

レイアウトを構成する

コンテンツ セクションで:

  • バリアントとして選択 メーソンリー クリーンなグリッドレイアウトのために

その他のレイアウトオプション:

  • キルテッド — 大きな注目画像と小さな画像を交互に配置し、視覚的な階層を作ります

  • ウーブン — 交互の行で画像を織り交ぜるようなパターンで、バランスのとれた外観を作ります

  • ベース

レイアウト セクションで:

  • 列数: 4

  • 列数(小さなコンテナ): 2

  • 列数(中程度のコンテナ): 3

  • 列数(大きなコンテナ): 4

7

フォールバック画像を設定する

画像 セクションで:

  • 画像フォールバック:プレースホルダ画像の URL を入力するか、SLDS アイコン参照を使用してください。

これにより写真のない連絡先もきれいに表示されます。

8

クリック時のインタラクションを追加

連絡先写真をクリック可能にして連絡先レコードに移動させます:

  • プロパティパネルの インタラクション タブをクリックします

  • の下に アイテムクリックで、クリック アイテムクリックを追加

  • インタラクションダイアログで次を構成します:

    • タイプとして選択 ナビゲート

    • ページ参照タイプとして選択 レコードページ

    • オブジェクト API 名として選択 Contact

    • レコード IDとして選択 Record: Id (クリックされた連絡先の ID)

    • アクション名に入力: 表示

    • コンソールタブを開く:切り替えをオフのままにします

  • クリック 保存

これでユーザーが任意の連絡先写真をクリックすると、その連絡先のレコードページに直接移動します

9

保存して有効化

  • クリック 保存

  • クリック 有効化 してページを組織、アプリ、またはレコードタイプに割り当てます

  • 連絡先を持つ任意のアカウントレコードに移動してギャラリーを確認してください


構成設定

データソース

データソース設定は画像の取得元を決定します。コンポーネント設定で直接画像を定義する Manual を選択するか、Salesforce レコードから動的に画像を取得する Query を選択してください

設定
説明

モード

Manual(静的コンテンツ)または Query(Salesforce レコード)

クエリ

Manual モードのアイテム

Manual モードを使用する場合、各画像をコンポーネント設定内で直接定義します。これは、固定の製品アイコン、チームバナー、または説明図のように頻繁に変わらない静的ギャラリーに適しています。

設定
説明

ラベル

画像の表示名

"Product Front View"

説明

画像とともに表示される追加の詳細テキスト

"高解像度写真で...を表示"

画像

画像ファイルへの URL

/resource/products/widget.png

Name

アイテムの内部識別子

product-front-01

Query モードのデータマッピング

Query モードを使用する場合、Salesforce フィールドを画像リスト表示に接続します。各マッピングは、どのフィールドが画像 URL や表示ラベルなどのデータを含むかをコンポーネントに伝えます。

設定
説明

ラベル

表示名を含むフィールド

Name, Title__c

説明

詳細テキストを含むフィールド

Description__c, Caption__c

画像ソース

画像 URL を含むフィールド

PhotoUrl__c, ImageURL__c

フィルタ

フィルタ値用のフィールド

Category__c, Type__c

検索フィールド

検索対象となるフィールド

Name, Description__c


コンテンツ

これらの設定は、どのレイアウトバリアントを使用するか、ユーザーがアイテムとどのように対話するかなど、画像リストの全体的な外観と動作を制御します。

設定
説明

バリアント

画像のレイアウトスタイル

Base、Quilted、Woven、Masonry

アイテム数を表示

画像の総数を表示する

true / false

アイテムをクリック可能にする

ユーザーが画像をクリック/タップできるようにする

true / false 注意:必ず インタラクションを構成してください これを機能させるために

レイアウトバリアントの説明:

  • ベース — すべての画像が同じサイズで表示されるクリーンで均一なグリッド。顔写真や製品サムネイルのような一貫したコンテンツに最適です。

  • キルテッド — 大きな注目画像と小さな補助画像を交互に配置する構造化されたレイアウト。整理された感覚を保ちながら視覚的な階層を作ります。

  • ウーブン — 画像を交互の行で織り合わせるような相互に絡み合うパターン。バランスの取れた対称的な外観を維持しつつ視覚的な興味を追加します。

  • メーソンリー — 画像が自然なアスペクト比を維持するピンタレスト風の段差のあるレイアウト。ポートフォリオ作品、ライフスタイル写真、またはユーザー生成コンテンツのような多様なコンテンツに最適です


ヘッダー

タイトル、キャプション、アバター、およびアクションボタンを備えたヘッダー領域を画像リストの上に追加します。これを使用してギャラリーにラベルを付け、新しい画像のアップロードや表示オプションの変更などのクイックアクションを提供します。

設定
説明

タイトル

メインヘッダーテキスト

"Product Gallery"

キャプション

タイトルの下の補助テキスト

"詳細を見るには任意の画像をクリックしてください"

アバター画像

ヘッダーのアバター/ロゴの URL

/resource/logo.png

結合されているか

ヘッダーと本文を視覚的に接続するスタイル

true / false

アクション

ヘッダー領域のボタンアクション

アクションを追加 → ラベル: "Upload"

表示可能なアクションボタン

オーバーフローが発生する前に表示するアクション数

2

アクションを非表示にする

ヘッダーのすべてのアクションを非表示にする

true / false

アクションを無効にする

ヘッダーアクションをグレーアウトする

true / false


レイアウト

異なる画面サイズで表示される列数を制御します。小、中、大のコンテナに対して異なる値を設定することで、モバイル、タブレット、デスクトップでギャラリーが適切に表示されます。

設定
説明

列数

デフォルトの列数

4

列数(小さなコンテナ)

小さい画面の列数

1

列数(中程度のコンテナ)

中くらいの画面の列数

2

列数(大きなコンテナ)

大きい画面の列数

4


画像

個々の画像がギャラリー内でどのようにレンダリングされるかを構成します。欠落画像のフォールバックを設定し、画像の配置を制御し、画像がコンテナに合わせてどのようにトリミングされるかを定義します。

設定
説明

画像フォールバック

画像ソースが無効または空の場合に表示する URL

/resource/placeholder.png

位置

アイテム内で画像が表示される場所

上、下、左、右

トリミングのフィット方式

画像がコンテナ内でどのようにスケーリングされるか

カバー、コンテイン、フィル

トリミング位置 X

トリミングされた画像の水平方向の配置

左、中央、右

トリミング位置 Y

トリミングされた画像の垂直方向の配置

上、中央、下


アクション

。個々の画像アイテムに表示されるアクション(詳細表示、ダウンロード、編集など)を追加します。各アクションはクリック時に異なるインタラクションをトリガーできます

各アイテムアクションを、ラベル、アイコン、およびクリック時にトリガーするインタラクションで構成します。


ページネーション

画像が多数あるギャラリーでは、ページネーションによりコレクションをページに分割して読み込み時間を改善し、閲覧を容易にします。ユーザーはページネーションコントロールを使ってページ間を移動します。

設定
説明

ページネーションを表示

ページネーションコントロールを表示する

true / false

ページあたりのアイテム数

ページネーション前に表示される画像数

12


フィルタ

ユーザーがマッピングされたフィールド値でギャラリーを絞り込めるようにします。フィルタコントロールの表示場所はページレイアウトとフィルタの目立たせ方に基づいて選択します。

設定
説明

タイプ

フィルタコントロールの表示場所

水平、パネル、ポップオーバー


検索

キーワードを入力して画像を検索できる検索入力を有効にします。検索は Search Fields データマッピングで指定したフィールドに対して一致します。


サイドパネル

フィルタ、詳細、または追加コンテンツ用のオプションのサイドパネルを構成します。パネルは左右どちらにも表示でき、省スペースのために折りたたんだ状態で開始できます。

設定
説明

位置

パネルが表示される側

左、右

閉じているか

パネルが折りたたんだ状態で開始する

true / false

トグルボタンを非表示にする

展開/折りたたみボタンを削除する

true / false

リセットボタンのラベル

フィルタリセットアクションのテキスト

"すべてクリア"

結果なしメッセージ

検索やフィルタ条件に一致する画像がない場合にユーザーが見るメッセージをカスタマイズします。役立つメッセージはユーザーにフィルタを調整するか別の検索語を試すよう案内します。


インタラクション

ギャラリー内の画像とユーザーが対話したときに何が起きるかを定義します。 インタラクションタブ はコードを書かずにクリックとアクションへの応答を構成できるようにします。

利用可能なトリガー

トリガー
説明
ユースケース

アイテムクリック

ユーザーが画像をクリックしたときに発火します(Items Clickable がオンである必要があります)

詳細ページへナビゲートする、拡大プレビューを開く、関連情報を表示するなど

アイテムアクションクリック

ユーザーが画像アイテム上のアクションボタンをクリックしたときに発火します

画像をダウンロードする、詳細を編集する、レコードを削除するなど

ヘッダーアクションクリック

ユーザーがヘッダーのアクションボタンをクリックしたときに発火します

新しい画像をアップロードする、表示設定を変更する、ギャラリーをエクスポートするなど

インタラクションの構成

  1. キャンバスで Image List 要素を選択します

  2. プロパティパネルの インタラクション タブをクリックします

  3. トリガーを選択します(Item Click、Item Action Click、または Header Action Click)

  4. クリック アクションを追加 し、インタラクションタイプを選択します

  5. アクション設定を構成して保存します

一般的なインタラクションパターン

クリックでレコードへナビゲート

ユーザーが画像をクリックして完全なレコードを表示できるようにします:

  1. 設定 アイテムをクリック可能にする コンテンツ設定でオンにします

  2. インタラクションで、次を選択します アイテムクリック

  3. アクションを追加 → ナビゲート

  4. ターゲットを設定します レコードページ

  5. レコード ID を画像レコードの ID フィールドにマップします

パネルでフルサイズプレビューを開く

サイドパネルに画像の大きなバージョンを表示します:

  1. 設定 アイテムをクリック可能にする コンテンツ設定でオンにします

  2. インタラクションで、次を選択します アイテムクリック

  3. アクションを追加 → 動的コンポーネントパネルを開く

  4. フル画像を表示するよう構成された動的コンポーネントを選択します

  5. 入力変数として画像ソースの URL を渡します


例: 製品写真ギャラリーを作成する

このチュートリアルでは、製品レコードページに表示されるピンタレスト風の写真ギャラリーを作成する手順を示します。ユーザーは製品画像を閲覧し、カテゴリでフィルタし、写真をクリックしてアクションを実行できます。

作成するもの

現在の製品に関連するすべての写真を表示するメーソンリー形式のギャラリー。ギャラリーには横方向のカテゴリフィルタ、大量コレクション向けのページネーション、クリック可能な画像が含まれます。

表示される場所

このコンポーネントを作成してデプロイすると、次に表示されます 製品レコードページ Lightning Experience 上で。ユーザーが任意の製品レコードを開くと、その特定の製品に関連付けられたすべての画像を表示する写真ギャラリーが表示されます。コンポーネントは自動的に現在表示中の製品に属する写真のみを表示するようフィルタします

前提条件

この例では、製品写真を保存するカスタムオブジェクトがあることを前提としています。ない場合は、 カスタムオブジェクトを作成してください という名前で Product Photo (API 名: Product_Photo__c)次のフィールドを持つ

フィールドラベル
API 名
タイプ

写真名

Name

テキスト(標準)

製品

ProductId__c

Lookup(Product2 への参照)

写真 URL

PhotoURL__c

URL

キャプション

Caption__c

テキスト

カテゴリ

Category__c

ピックリスト(例: Front View、Side View、Detail、Lifestyle)

ソート順

SortOrder__c

数値


1

Dynamic Components で新しいコンポーネントを作成する

  • を開きます Avonni Experiences App Launcher からアプリを開きます

  • Dynamic Components カードで「始める」をクリックします

  • クリック 新しいコンポーネント

  • コンポーネントに名前を付けます(例: 「Product Photo Gallery」)

  • 設定 ターゲットページオブジェクト製品 — これによりコンポーネントが製品レコードページで動作することが指定され、現在のレコードフィールドを参照するための $Component 変数へのアクセスが得られます

2

Image List 要素を追加する

  • 選択 Image List 利用可能な要素から

  • Image List がキャンバスに表示され、プロパティパネルでの構成準備が整います

3

データソースを構成する

Image List 要素を選択した状態で、プロパティパネルでクエリを構成します:

  • 設定 データソースクエリ

  • クリック クエリを作成

  • オブジェクトとして選択 Product_Photo (前提条件で作成したカスタムオブジェクト)

  • フィルタ:次を追加 ProductId__c = '{{$Component.recordId}}' — これにより、製品ルックアップが現在ユーザーが見ている製品レコードと一致するレコードのみが表示されるよう写真がフィルタされます

  • 並び替えとして選択 SortOrder__c 方向指定 昇順

  • クリック 完了

4

フィールドをマップする

データマッピング セクションで、Salesforce フィールドをギャラリー表示に接続します:

  • ラベルとして選択 写真名 — 各画像の下に写真名を表示します

  • 説明として選択 Caption__c — 写真の追加コンテキストを表示します

  • 画像ソースとして選択 PhotoURL__c — 実際に表示する画像

  • フィルタとして選択 Category__c — このピックリストでフィルタを有効にします

5

ヘッダーを構成する

ヘッダー セクションで:

  • タイトルに入力: 製品写真

  • キャプションに入力: カテゴリで画像を閲覧する

  • 結合されているかを切り替え: オン — ヘッダーをギャラリーボディに視覚的に接続します

6

ギャラリーの外観を構成する

コンテンツ セクションで:

  • バリアントとして選択 メーソンリー — ピンタレスト風の段差レイアウトを作成します

  • アイテムをクリック可能にするを切り替え: オン — ユーザーが画像と対話できるようにします

7

レスポンシブ列の設定

レイアウト セクションで、異なる画面サイズで表示される列数を構成します:

  • 列数(小さなコンテナ): 1 — モバイルでは単一列

  • 列数(中程度のコンテナ): 2 — タブレットでは2列

  • 列数(大きなコンテナ): 3 — デスクトップでは3列

8

ページネーションを有効にする

ページネーション セクションで:

  • ページネーションを表示を切り替え: オン

  • ページあたりのアイテム数に入力: 9 — ページネーションコントロールが表示される前に9枚の写真を表示します

9

フィルタを構成する

フィルタ セクションで:

  • タイプとして選択 水平 — ギャラリー上部にカテゴリフィルタを水平バーとして表示します

10

クリック時のインタラクションを追加

これでユーザーがギャラリー内の任意の写真をクリックすると、その Product Photo レコードページに直接移動します

  • プロパティパネルの インタラクション タブをクリックします

  • の下に アイテムクリックで、クリック アイテムクリックを追加

  • インタラクションダイアログで次を構成します:

    • タイプとして選択 ナビゲート

    • ページ参照タイプとして選択 レコードページ

    • オブジェクト API 名として選択 Product Photo

    • レコード IDとして選択 Record: Id (クリックされた画像レコードの ID)

    • アクション名に入力: 表示

    • コンソールタブを開く:切り替えをオフのままにします

  • クリック 保存

11

保存してテスト

  • クリック 保存 Lightning App Builder で

  • クリック 有効化 ページを組織または特定のアプリに割り当てます

  • 関連する写真を持つ製品レコードに移動します

表示される内容

あなたのギャラリーはメーソンリーレイアウトで製品写真を表示し、高さが異なる画像が優雅に配置されます。ギャラリーの上部にはカテゴリ(Front View、Side View など)でフィルタする水平のフィルタボタンがあり、写真が9枚を超えると下部にページネーションコントロールが表示されます。

最終更新

役に立ちましたか?