如何在 Shopware 6 开发系统上管理媒体?提交 git 还是不提交?

问题描述

我们正在使用 Git 为客户开发 Shopware (6.3.5.2) 商店。我们在 Magento 上有很多测试实例,我们保留用于一般页面结构(例如徽标)的媒体,即 git LFS 中的所见即所得文件夹。我们不在 GIT 中保留产品图片(magento/pub/media/catalog),因此使用了占位符。

有没有办法只将一般图像提交到 Shopware 中的 GIT?不同之处在于,所有图像都保存在散列文件夹中,例如 public/media/0f/67 ...

我们可以通过浏览该文件夹并从那里提交 (git commit -f) 来确定我们需要的媒体,而忽略其他所有内容

有没有更优雅的解决方案?

我们also tried to come up with a solution which avoid having any media in the GIT,但效果不佳。

解决方法

处理此类媒体的推荐方法是将它们存储在您的主题或插件中的目录 yourtheme/src/Resources/public 中,例如yourtheme/src/Resources/public/assets/images/image.jpg。您将所有资产提交给 git。

要将您的资产包含在模板中,请使用 Twig 函数 asset,例如:

<img src="{{ asset('bundles/yourtheme/assets/images/image.jpg') }}">

有关详细信息,请参阅 the documentation