以下に示すように、admin/structure/types/manage/image/fields/gallery_image
を介した画像アップロード用のSVGファイル拡張子を追加しました。
しかし、画像をアップロードするときに、SVGをアップロードすることはできません。
私は間違いなく管理ページで[保存]を押し、キャッシュをクリアしました。field_config_instance
テーブルを調べたところ、データベースで必要な設定が表示されました。更新されていない他のテーブルまたはキャッシュが存在する必要があります。何か案が?
画像ウィジェットは内部でpng
、gif
、jpg
のみの使用を許可(および通知なしでpost Drupal 6)します)および/またはjpeg
extensions。したがって、フィールドから拡張子を削除できますが、たとえば、アニメーション化されたものを避けるために、ほとんどの実装からgif
を削除しましたが、このリストに何も追加することはできません。それはそれ自体がアップロード後に画像を表示し、古いIEブラウザの実際の形式のブラウザを壊したくなかったためです(さらに、画像スタイルの方法を知っている人)彼らにも働きます:)
ファイルフィールドを使用して、カスタムモジュールにhook_field_formatter_info_alter
を実装するだけで、ファイルフィールドに対しても「イメージ」フォーマッタを有効にすることができます。次に、アップロードされたSVGを埋め込み画像として簡単に出力できます。
/**
* Implements hook_field_formatter_info_alter().
*/
function MODULNAME_field_formatter_info_alter(&$info) {
$info['image']['field types'][] = 'file';
}
すでに述べたように、DrupalのコアImageモジュールがSVGを受け入れることを許可する簡単な方法はありません。代わりに、提供されたモジュール SVG Embed ( このディスカッション )またはこれ sandbox(正式にはリリースされていません)SVGモジュール 。
更新:サンドボックスでも svgimg をお勧めしますが、まもなくリリースされる予定です。本番で使用して、とても嬉しいです。
Media モジュールを使用する別の方法もあります。これをインストールしたら、SVG形式をイメージの下のadmin/structure/file-typesに追加できます。
私が間違っていない場合、Drupalは、下位互換性の問題(主にIE8以下)のため、デフォルトでSVGを許可していません)。 、まだ苦情を聞いていません。