Laravel. Загрузка SVG


Нужно добавить дерективу в файл app/Providers/AppServiceProvider.php

\Blade::directive('svg', function($arguments) {
    list($path, $class) = array_pad(explode(',', trim($arguments, "() ")), 2, '');
    $path = 'images/svg/' . trim($path, "' ");
    $class = trim($class, "' ");

    $svg = new \DOMDocument();
    $svg->load(public_path($path));
    $svg->documentElement->setAttribute("class", $class);
    $output = $svg->saveXML($svg->documentElement);

    return $output;
});

Обратите внимание, что у меня иконки хранятся в папке /images/svg/. И чтобы загрузить иконку или спрайт достаточно в шаблоне добавить код

@svg('sprite.svg', 'sprite')
08.02.2020

Прежде чем написать комментарий, нужно авторизаться на сайте