Answers:
该模块可以在所见即所得编辑器中上载不同的文件类型。
默认情况下,以下文件类型可用,并且可以在模块的配置中将其他文件类型添加到允许的文件类型中(常规>内容管理> WYSIWYG选项>允许的额外文件类型):
Word (doc, docm, docx)
Excel (csv, xml, xls, xlsx)
PDF (pdf)
Compressed Folder (zip, tar)
https://github.com/experius/Magento-2-Module-Experius-Wysiwyg下载
您可以编辑di.xml并添加以下代码
<item name="allowed" xsi:type="array">
<item name="svg" xsi:type="string">image/svg</item>
</item>
<item name="image_allowed" xsi:type="array">
<item name="svg" xsi:type="string">image/svg</item>
</item>
<item name="media_allowed" xsi:type="array">
<item name="svg" xsi:type="string">image/svg</item>
</item>
然后在后端设置您需要的东西
默认情况下,Magento 2中禁用SVG的原因是出于安全原因,例如存储的XSS。我建议您至少让他们暂时禁用,直到我们为他们进行更好的消毒为止。
您可以在中看到一个示例APPSEC-1673
,他们在其中删除了收藏夹图标中的SVG。
https://magento.com/security/patches/magento-2016-and-219-security-update
APPSEC-1673
在Favicon中使用svg图像存储xss。
虽然您无法通过后端上传SVG,但仍可以通过FTP上载它们,并像引用它们一样引用它们。这样,您仍然可以获得使用SVG的好处,但不必处理允许用户加载它们的安全性问题。
但是,如果您仍然想为favicon / logo上传启用SVG上传。您可以创建一个自定义模块,并覆盖从中删除该模块的xml node / php函数。您可以在下面的差异中找到这些
https://github.com/magento/magento2/compare/2.1.8...2.1.9
取决于要在何处启用SVG上载,将影响您需要覆盖哪些文件。你应该能找到你需要编辑通过快速搜索文件allowedExtensions
中XML
的文件或其中getAllowedExtensions
setAllowedExtensions
的PHP
文件。
打开或覆盖下面的文件和代码 <item name="svg" xsi:type="string">text/html</item>
/vendor/magento/module-cms/etc/di.xml
<type name="Magento\Cms\Model\Wysiwyg\Images\Storage">
<arguments>
<argument name="extensions" xsi:type="array">
<item name="allowed" xsi:type="array">
......
<item name="svg" xsi:type="string">text/html</item>
......
</item>
<item name="image_allowed" xsi:type="array">
......
<item name="svg" xsi:type="string">text/html</item>
......
</item>
<item name="media_allowed" xsi:type="array">
......
<item name="svg" xsi:type="string">text/html</item>
......
</item>
</argument>
</arguments>
</type>
如果使用低于magento 2.3版本,则代码更改。将上面的代码替换<item name="svg" xsi:type="string">text/html</item>
为<item name="svg" xsi:type="number">1</item>
在文件下面打开
/vendor/magento/module-cms/etc/di.xml
添加您要允许的扩展
<item name="svg" xsi:type="number">1</item>
<argument name="extensions" xsi:type="array">
<item name="allowed" xsi:type="array">
<item name="jpg" xsi:type="number">1</item>
<item name="jpeg" xsi:type="number">1</item>
<item name="png" xsi:type="number">1</item>
<item name="gif" xsi:type="number">1</item>
<item name="svg" xsi:type="number">1</item>
</item>
<item name="image_allowed" xsi:type="array">
<item name="jpg" xsi:type="number">1</item>
<item name="jpeg" xsi:type="number">1</item>
<item name="png" xsi:type="number">1</item>
<item name="gif" xsi:type="number">1</item>
</item>
<item name="media_allowed" xsi:type="array">
<item name="flv" xsi:type="number">1</item>
<item name="swf" xsi:type="number">1</item>
<item name="avi" xsi:type="number">1</item>
<item name="mov" xsi:type="number">1</item>
<item name="rm" xsi:type="number">1</item>
<item name="wmv" xsi:type="number">1</item>
</item>
</argument>
允许产品图片使用SVG文件的插件