web-dev-qa-db-ja.com

SVGを画像フィールド値として選択

コンテンツタイプ、ニュース、画像フィールド、ニュースアイコンがあります。

/admin/structure/types/manage/news/fields/node.news.field_news_iconでフィールド設定を表示した場合

許可されたタイプの1つとしてSVGを提供しました。 SVGのみを許可することも試みました。

enter image description here

また、IMCEを使用しているので、/ admin/config/media/imceのように、IMCE構成でSVGをセットアップしています。SVGを含むスペースで区切られたリストを使用してみました。

enter image description here

/ admin/structure/types/manage/news/form-displayにあるフィールドのウィジェット設定により、IMCEマネージャーを有効にすることができます。無効にしてみましたが、問題は解決しませんでした。

enter image description here

ウィジェットは許可されたタイプを表示およびリストしますが、SVGはリストしません。 enter image description here

IMCEはSVGのアップロードを許可していますが、news_iconとして1つを選択すると、

enter image description here

SVGがアップロード用に選択されている場合、通常の(非IMCE)ファイルブラウザは以下を提供します。

enter image description here

画像フィールド値として使用できる許可された拡張機能のリストにSVGを含めるために欠けているより深い設定はありますか?

3
jerrygarciuh

私の知る限りでは、jpg/png/gifの制限は画像フィールドにハードコードされています。これを(のみ)設定で解決することはできません。

SVG画像 コアの画像フィールドで.svgファイルを許可します。標準のイメージフォーマッタを使用できます(またはそれ以上:標準のイメージフォーマッタを使用する必要があります。これは Focal Point などでは機能しません)。

SVGフォーマッタ ファイルフィールドを使用し、ファイルフィールドにSVGフォーマッタを提供します。

どちらもメディアエンティティでも機能しますが、まだIMCEでテストしていません。

3
Hudri

SVG画像フィールド は、試す価値のあるSVGフォーマッタおよびSVG画像の代替です。

これらの他の2つに対するこのモジュールの利点のいくつか:

  • SVG Formatterとは異なり、SVGにカスタムの代替テキストを設定できます。 SVG Formatterは、データベーススキーマレベルでのaltをサポートしていない隠れたコアファイルフィールドに依存しています。
  • SVG画像フィールドは別個のフィールドタイプを提供し、通常のコア画像フィールドを変更または変更しないため、SVG画像モジュールとは異なり、SVGに影響を与えることなく、通常の画像フィールドでクロップAPI、フォーカルポイント、およびその他のラスターベースの画像モジュールを使用できます。 。 SVG画像モジュールはコア画像フィールドを変更して、SVGファイルをPNG、JPG、GIFなどのラスター画像ファイルと一緒にアップロードできるようにしますが、いくつかのコストのかかるトレードオフと制限が伴います。
  • 箱から出してすぐに必要な構成:SVG FormatterおよびSVG Imageモジュールを使用すると、サイトビルダーは、すべての画像を適切に表示するようにフィールドを構成するために追加の手順を実行する必要があります。さまざまな画像タイプを使用してフォーマッタ設定をテストし、何が壊れているかを確認します。
  • 他の画像タイプと組み合わせようとするときのエンドユーザーの混乱やエラー状態の軽減:SVG Formatterを使用すると、ユーザーがSVG以外のファイルをアップロードすると、出力が壊れます。ファイル拡張子はSVGのみに制限されているため、SVG画像フィールドではこれは不可能です。
  • 上記と同様に、SVG Formatterを使用して、ユーザーがpngをアップロードし、フィールドがフォーマッターとしてインライン出力で構成されている場合、出力は中断されます。
  • SVG画像フィールドには、ファイルのアップロード時にすぐに使用できる画像プレビュー機能があります。 SVG Formatterにはありません。
  • 既存のインストールの場合、構成を誤るとサイトを破壊する機会が少なくなります。 SVG画像フィールドは、特定のSVGの使用例を解決し、他の既存の画像フィールド構成に干渉しません。

コアでメディアを使用していて、メディアライブラリをチェックアウトした場合 MediaモジュールでSVG画像フィールドを設定する方法を説明している他の投稿 最終的に、ノード上の単一のメディアフィールドで画像またはSVGのいずれかを参照します。

1
JamesWilson