Dodałem rozszerzenie pliku SVG do przesyłania obrazów przez admin/structure/types/manage/image/fields/gallery_image
, jak widać poniżej:
Ale kiedy idę załadować obraz, nadal nie mogę przesłać SVG.
Zdecydowanie nacisnąłem „Zapisz” na stronie administratora i wyczyściłem pamięć podręczną, a nawet widzę ustawienia, tak jak chciałem, w bazie danych, kiedy sprawdzam field_config_instance
tabelę. Musi istnieć inna tabela lub pamięć podręczna, która nie jest aktualizowana. Dowolny pomysł?
Możesz po prostu użyć pola pliku i zaimplementować
hook_field_formatter_info_alter
w module niestandardowym, aby włączyć formatyzator „Obraz” także dla pól plików. Następnie możesz w łatwy sposób przesłać przesłany plik SVG jako osadzony obraz.źródło
Jak wspomniano, nie ma łatwego sposobu, aby po prostu pozwolić rdzennemu modułowi obrazu Drupala na akceptację SVG. Zamiast tego możesz skorzystać z dołączonego modułu SVG Embed (niechętnie wybrany w stosunku do pola pliku dla SVG w tej dyskusji ) lub z tego piaskownicy (nie oficjalnie wydany) moduł SVG .
AKTUALIZACJA: Teraz polecam svgimg również w piaskownicy, ale prawdopodobnie wkrótce zostanie wydany. Używam go w produkcji i jest bardzo szczęśliwy.
źródło
Jest też inny sposób - użycie modułu Media . Po zainstalowaniu można dodać format SVG w admin / structure / file-types, pod obrazem.
Jeśli się nie mylę, Drupal nadal domyślnie nie zezwala na pliki SVG z powodu problemów z kompatybilnością wsteczną (głównie IE8 i poniżej). Jednak od pewnego czasu umieszczam SVG w projektach i jeszcze nie słyszałem skargi.
źródło