J'ai ajouté l'extension de fichier SVG pour les téléchargements d'images via admin/structure/types/manage/image/fields/gallery_image
, Comme vous le voyez ci-dessous:
Mais quand je vais télécharger une image, je ne suis toujours pas autorisé à télécharger SVG.
J'ai définitivement appuyé sur "Enregistrer" dans la page d'administration, et j'ai vidé le cache, et je vois même les paramètres comme je les voulais dans la base de données, lorsque j'inspecte la table field_config_instance
. Il doit y avoir une autre table ou cache qui ne se met pas à jour. Une idée?
Le widget Image autorise en interne (et applique silencieusement la publication Drupal 6) l'utilisation uniquement des png
, gif
, jpg
et/ou jpeg
extensions. Ainsi, bien que vous puissiez supprimer une extension d'un champ, par exemple, j'ai supprimé gif
de la plupart de mes implémentations pour éviter tout ce qui est animé, vous ne pouvez pas en ajouter à cette liste . J'imagine que c'est parce qu'il affiche en soi l'image après avoir été téléchargée et ne veut pas casser les affichages dans les anciens navigateurs IE sous la forme réelle (plus, qui sait comment les styles d'image travaillerait aussi sur eux :)
Vous pouvez simplement utiliser un champ de fichier et implémenter hook_field_formatter_info_alter
dans votre module personnalisé pour activer le formateur "Image" également pour les champs de fichier. Ensuite, vous pouvez facilement sortir le fichier SVG téléchargé en tant qu'image intégrée.
/**
* Implements hook_field_formatter_info_alter().
*/
function MODULNAME_field_formatter_info_alter(&$info) {
$info['image']['field types'][] = 'file';
}
Comme indiqué, il n'y a pas de moyen facile de simplement autoriser le module d'image de base de Drupal à accepter SVG. Au lieu de cela, vous pouvez utiliser le module contribué SVG Embed (choisi à contrecœur sur un champ de fichier pour SVG dans cette discussion ) ou ceci sandbox (non officiellement publié) module SVG .
MISE À JOUR: Je recommande maintenant svgimg également dans Sandbox mais devrait être publié bientôt. L'utiliser en production, et très heureux.
Il existe également une autre solution: utiliser le module Media . Une fois celui-ci installé, le format SVG peut être ajouté dans admin/structure/types de fichiers, sous image.
Si je ne me trompe pas, Drupal n'autorise toujours pas les SVG par défaut en raison de problèmes de compatibilité ascendante (principalement IE8 et inférieurs). Je place des SVG depuis un certain temps sur des projets, cependant et n'ont pas encore entendu de plainte.