当我使用tinymce编辑器上传图像时使用Silverstripe CMS(v3.4),它会自动设置图像的宽度/高度。这会导致诸如打破GIF动画等问题,导致它们无法播放,并且还会降低静态图像的质量。
如何完全关闭此功能,以便在上传时不进行调整大小?
答案 0 :(得分:1)
您可以修改图像的插入宽度,而不是将其调整为600px宽。
<强> mysite的/ _config.yml 强>
HtmlEditorField:
insert_width:
1200
您还可以使用css覆盖图像标记上的width / height属性。
.typography img {
width: 100%;
max-width: 100%;
height: auto;
}
它不是很好,但它是我所知道的唯一工作。
对于GIF动画,如果使用php调整大小,它们总是会破坏。
答案 1 :(得分:1)
HTMLEditorField
更新了img
个saveInto
功能。 saveInto
函数内部是一个processImage
扩展钩子,允许我们操纵使用TinyMCE插入的图像。
首先,我们使用CustomHTMLEditorField
函数创建processImage
扩展名。如果图片是gif,我们会将img
src
设置回原始图片路径。
class CustomHTMLEditorField extends Extension
{
public function processImage($image, $img)
{
if ($image->getExtension() == 'gif') {
$img->setAttribute('src', $image->getRelativePath());
}
}
}
接下来,我们在HtmlEditorField
文件中添加config.yml
扩展程序:
HtmlEditorField:
extensions:
- CustomHTMLEditorField
答案 2 :(得分:0)
不要在TinyMCE中添加图片...它不能正确支持hi-dpi图像,并且很难控制最终的布局。
更好地使用内容块模块或仅使用单独的图像上传字段。您还可以使用类似shortcodable模块的内容通过自定义短代码插入图像等媒体。