我想在Symfony4中创建一个TwigExtension函数,以便在视图中显示基于字符串属性的图像。
我已经安装了资产:"symfony/asset": "^4.4",
在Symfony的较低版本中,我可以使用AssetsHelper::getUrl() ->返回资源的公共url/路径。
我不确定如何在Symfony4中使用"Twig“来实现这一点。
发布于 2020-01-21 18:41:08
解决方案有点不同。
这就是我所做的:
在webpackencore配置中,为了将文件复制到公共文件夹,我必须添加以下内容:
.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);
}因此,现在我们必须使用Package而不是AssetsHelper,如下所述:https://symfony.com/doc/current/components/asset.html#asset-packages
https://stackoverflow.com/questions/59838740
复制相似问题