php svg 图片,php – 将SVG视为Silverstripe中的图像

我正在尝试上传Silverstripe中的图像,并将它们视为图像而不是文档链接.

我已经将SVG添加到允许的文件类型中并且可以上传SVG文件但是当我点击插入时,编辑器将标记插入

somefile.svg

我想将SVG视为任何其他图像格式,其中插入将标记作为常规图像插入

somefile.svg

实现这一目标的最佳方法是什么?

解决方法:

在HtmlEditorField.js左右调试之后,我发现SVG未显示的问题是“插入媒体”屏幕的上传字段不将SVG视为图像. (我原本以为问题是TinyMCE,但事实并非如此)

我知道File类有一个名为app_categories的静态属性,其中包含SS认为是图像的所有扩展.默认情况下,SVG不在此列表中.

在Silverstripe 3.1中,如果指定以下内容,则会将SVG添加到“图像”类别:

$categories = File::config()->app_categories;

$categories['image'][] = 'svg';

File::config()->app_categories = $categories;

File:

app_categories:

image:

- svg

这个简单的更改足以在“插入媒体”屏幕上上传文件,以正确地将SVG视为图像,从而触发正确的缠绕功能以使用< img>标签而不是锚.

虽然此方法可以解决您的特定问题,但是在Silverstripe中的其他部分可能会产生副作用,无法将SVG添加到图像应用类别.

还有一件事,我需要更新我的资产文件夹中的.htaccess文件,以便查看SVG文件,否则我收到403 Forbidden错误.

标签:silverstripe,php

来源: https://codeday.me/bug/20190728/1559766.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值