Czy można wstawić kod z pliku SVG bezpośrednio do pliku szablonu twig?Gałązka: Dołącz zewnętrzny kod z pliku SVG
Coś jak:
{% include 'my.svg' %}
że spowoduje:
<svg viewbox=".... />
Czy można wstawić kod z pliku SVG bezpośrednio do pliku szablonu twig?Gałązka: Dołącz zewnętrzny kod z pliku SVG
Coś jak:
{% include 'my.svg' %}
że spowoduje:
<svg viewbox=".... />
Można to zrobić w motywu Drupal8 poprzez ustawienie nową zmienną:
function theme_preprocess_page(&$variables) {
$svg = file_get_contents(drupal_get_path('theme', 'socialbase') . '/images/icons.svg');
$variables['svg_sprite'] = t('svg', array('svg' => $svg));
}
W pliku gałązka można go wydrukować za pomocą:
{{ svg_sprite }}
Miałem podobny problem, zmieniłem nazwę moich plików svg na .twig.
{% include 'my.svg.twig' %}
tak, to samo tutaj;) –
Jednym ze sposobów to:
{{ source('my.svg') }}
Czytaj więcej tutaj: https://www.theodo.fr/blog/2017/01/integrating-and-interacting-with-svg-image-files-using-twig/
Dla mnie to działało:
{% include '/images/my.svg' %}
Tylko szybka zmiana jeśli używasz Drupala 8, ponieważ kod na s realna odpowiedź nie działa dla mnie. To jak to zrobiłem:
function theme_preprocess_page(&$variables) {
$svg = file_get_contents(drupal_get_path('theme', 'theme_name') . '/images/my.svg');
$variables['some_svg'] = $svg));
}
iw pliku gałązka I outputed to tak:
{{ some_svg|raw }}
W przypadku tematu jest dobrym rozwiązaniem, aby korzystać {{ directory }}
zmienną, która przechowuje ścieżki do tematu.
{{ source(directory ~ '/images/my.svg') }}
Jeśli umieścisz ten plik w folderze z szablonem, na pewno – DarkBee