Symfony4 Twig Extension обратный путь к изображению - PullRequest
0 голосов
/ 21 января 2020

Я хочу создать функцию TwigExtension в Symfony4 для отображения изображений на основе строкового свойства в представлении.

Я установил активы: "symfony/asset": "^4.4",

В более низких версиях из Symfony Я мог бы сделать это с помощью AssetsHelper::getUrl() -> Возвращает publi c URL / путь к активу.

Я не уверен, как мне добиться этого в Symfony4 с помощью "Twig".

1 Ответ

0 голосов
/ 21 января 2020

Решение немного другое.

Так вот что я сделал:

В конфигурации webpackencore мне пришлось добавить это для того, чтобы файлы были скопированы в publi c папка:

.copyFiles({
        'from': './assets/img',
        'to': 'images/[path][name].[ext]'
    })

Тогда в моем классе расширений функция выглядит следующим образом:

/**
 * @param $type
 *
 * @return mixed
 */
public function showPaymentTypeIcon($type)
{
    $sImagePath = '/build/images/payment-icons';

    switch($type) {
        case 'card':
        default:
            $assetImagePath = $sImagePath.'/credit.svg';
            break;

        case 'sofort':
            $assetImagePath = $sImagePath.'/sofort.svg';
            break;

    }

    $oPackage = new Package(new EmptyVersionStrategy());

    return $oPackage->getUrl($assetImagePath);
}

Так что вместо AssetsHelper теперь мы должны использовать Package, как описано здесь: https://symfony.com/doc/current/components/asset.html#asset -packages

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...