silverstripe / tinymce - 停止自动调整大小

时间:2017-07-21 09:11:42

标签: silverstripe

当我使用tinymce编辑器上传图像时使用Silverstripe CMS(v3.4),它会自动设置图像的宽度/高度。这会导致诸如打破GIF动画等问题,导致它们无法播放,并且还会降低静态图像的质量。

如何完全关闭此功能,以便在上传时不进行调整大小?

3 个答案:

答案 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更新了imgsaveInto功能。 saveInto函数内部是一个processImage扩展钩子,允许我们操纵使用TinyMCE插入的图像。

首先,我们使用CustomHTMLEditorField函数创建processImage扩展名。如果图片是gif,我们会将img src设置回原始图片路径。

SilverStripe 3

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模块的内容通过自定义短代码插入图像等媒体。