【问题标题】:silverstripe / tinymce - stop automatic resizesilverstripe / tinymce - 停止自动调整大小
【发布时间】:2017-07-21 09:11:41
【问题描述】:

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

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

【问题讨论】:

    标签: silverstripe


    【解决方案1】:

    HTMLEditorField 更新imgsaveInto 函数中的标签。 saveInto 函数内部是一个 processImage 扩展钩子,它允许我们操作使用 TinyMCE 插入的图像。

    首先我们创建一个带有processImage 函数的CustomHTMLEditorField 扩展。如果图像是 gif,我们将 img src 设置回原始图像路径。

    银条 3

    class CustomHTMLEditorField extends Extension
    {
        public function processImage($image, $img)
        {
            if ($image->getExtension() == 'gif') {
                $img->setAttribute('src', $image->getRelativePath());
            }
        }
    }
    

    接下来,我们在config.yml 文件中将扩展名添加到HtmlEditorField

    HtmlEditorField:
      extensions:
        - CustomHTMLEditorField
    

    【讨论】:

    • 这在 3.6 上为我修复。谢谢
    • @3dgoo - 你知道这种方法是否适用于 Silverstripe 4?
    • @BaronGrivet - 查看 SilverStripe 4 HtmlEditorField 代码 processImage 钩子不再存在,以及 HtmlEditorField saveInto 函数中的图像处理。看起来我们需要在 SilverStripe 4 中找到另一种方法。
    【解决方案2】:

    您可以修改图像的插入宽度,而不是将它们调整为 600 像素宽。

    mysite/_config.yml

    HtmlEditorField:
      insert_width:
        1200
    

    您还可以使用 css 覆盖图像标签上的宽度/高度属性。

    .typography img {
      width: 100%;
      max-width: 100%;
      height: auto;
    }
    

    它不是很好,但它是我所知道的唯一解决方法。

    对于动画 gif,如果用 php 调整它们的大小,它们总是会损坏。

    【讨论】:

    • 第一部分是最大宽度还是它总是调整大小?至于我不明白的 gif,我使用的是 silverstripe 2.4,动画 gif 工作正常,现在在 3.4 中它们坏了......
    • 我刚刚用 SS 3.4.1 做了一个测试如果图像小于 insert_width 它不会调整它更大。如果它更大,它会将其调整为 insert_width。
    • 这个问题是去年提出的。 github.com/silverstripe/silverstripe-cms/issues/1681通过阅读cmets,如果你不在编辑器中调整图像大小,它就可以了。
    • 哇!那行得通!图像质量要好得多,它还修复了动画 gif,因为破坏它们的是自动调整大小(用户没有调整它们的大小)。
    【解决方案3】:

    不要在 TinyMCE 中添加图像……它不能正确支持高 dpi 图像,而且很难控制生成的布局。

    最好使用内容块模块之类的东西,或者只使用单独的图像上传字段。您还可以使用 shortcodable 模块之类的东西通过自定义简码插入图像等媒体。

    【讨论】:

    • 很多用户在他们的帖子中都有图片,如果我不能使用在他们的内容中放置图片的功能,我该如何适应... content-block 模块添加了太多的步骤,没有一会想做。 Shortcodable 看起来更好,但从文档中很难判断用户上传和插入图像有多容易。我真正需要的是在用户插入图像时禁用 tinymce 的自动调整大小。
    猜你喜欢
    • 2010-12-20
    • 1970-01-01
    • 1970-01-01
    • 2012-08-11
    • 1970-01-01
    • 2019-08-01
    • 1970-01-01
    • 2014-11-29
    • 2011-07-18
    相关资源
    最近更新 更多