Image URL Formatter

画像やファイルをHTML要素としてレンダリングする代わりに、そのURLを出力するフィールドフォーマッターを提供します。

image_url_formatter
30,860 sites
34
drupal.org
Drupal 8 Drupal 9 Drupal 10 Drupal 11

インストール

Drupal 11, 10 v2.0.0
composer require 'drupal/image_url_formatter:^2.0'
Drupal 9, 8 v8.x-1.1
composer require 'drupal/image_url_formatter:8.x-1.1'

概要

Image URL Formatterは、ImageフィールドとFileフィールドに新しい表示フォーマッターを追加し、完全なHTML <img>やリンクマークアップをレンダリングする代わりに、ファイルへの直接URLを出力します。これは、カスタムテンプレートやJavaScriptアプリケーションで画像URLを使用する必要がある場合や、生のURLを必要とする外部サービスと統合する場合に特に便利です。

このモジュールは、ImageフィールドとFileフィールドの両方をサポートし、完全URL、絶対パス、相対パスなど柔軟なURL出力オプションを提供します。Imageフィールドの場合、Image Styleを適用して、元の画像ではなく処理された派生画像のURLを取得することもできます。

Features

  • レンダリングされたHTMLマークアップの代わりに画像/ファイルのURLを出力
  • 3つのURL種別オプション:完全URL、絶対ファイルパス、相対ファイルパス
  • 処理済み派生画像URLのためのImage Styleサポート(Imageフィールドのみ)
  • コンテンツEntityまたはファイルへのオプションリンク
  • 画像URL表示のためのViewsとの互換性
  • Twigテンプレートのオーバーライドによるカスタマイズ可能な出力

Use Cases

ヘッドレス/デカップルドDrupal

JavaScriptフロントエンド(React、Vue、Angular)を使用したデカップルドDrupalサイトを構築する際、レンダリングされたHTMLではなく生の画像URLが必要になることがよくあります。Views RESTエクスポートやJSON:APIでImage URL Formatterを使用して、フロントエンドアプリケーション用のクリーンな画像URLを提供できます。

カスタムTwigテンプレート

画像マークアップを正確に制御する必要があるカスタムテンプレートを構築する際、Image URL Formatterを使用して画像URLを取得し、カスタム属性、遅延読み込み、またはJavaScriptベースの画像ギャラリー用に独自の<img>タグを構築できます。

CSS背景画像

CSSで背景画像を使用するデザインパターンでは、画像URLを出力してインラインスタイルで使用するか、動的な背景設定のためにJavaScriptに渡すことができます。

ソーシャルメディアメタタグ

絶対画像URLを必要とするOpen GraphやTwitter Cardメタタグを構築する際、「完全URL」オプションを使用して、ソーシャルシェアプレビューに適した完全なURLを取得できます。

メールテンプレート

メールクライアントは画像に絶対URLを必要とします。「完全URL」オプションを使用して、HTMLメール用に適切にフォーマットされた画像URLを生成できます。

画像プリロード

JavaScriptベースのプリロード、遅延読み込みライブラリ、またはService Workerキャッシング戦略用の画像URLリストを生成できます。

Tips

  • URLがサイト外で使用される場合(メール、API、ソーシャルシェア)は「完全URL」を使用してください
  • 自身のテンプレート内で最も移植性の高いオプションとして「相対ファイルパス」を使用してください
  • フォーマッターは複数値のImageフィールドで動作し、各画像のURLを出力します
  • テーマでimage-url-formatter.html.twigテンプレートをオーバーライドして出力形式をカスタマイズできます
  • Viewsでは、複雑なフォーマットニーズのためにURL出力をリライト結果のトークンとして使用できます

Technical Details

Hooks 1
hook_theme

item、url、image_style、url_type変数を持つimage_url_formatter Theme Hookを定義します

Troubleshooting 3
Image Style URLが元の画像パスを表示する

Image Style設定を変更した後、Cacheをクリアしてください。派生画像がまだ存在しない場合、Drupalは最初のアクセス時に生成します。

相対パスがCDNで機能しない

サイトがファイルにCDNまたは異なるドメインを使用している場合は「完全URL」を使用してください。相対パスには正しいドメインが含まれません。

URLに余分なHTMLが表示される

「Image」フォーマッターではなく「Image URL Formatter」を使用していることを確認してください。また、他のモジュールがフィールド出力を変更していないか確認してください。