首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >有关问题: Quill js,Quill-Image-Resize和PHP Renderer

有关问题: Quill js,Quill-Image-Resize和PHP Renderer
EN

Stack Overflow用户
提问于 2018-10-14 20:43:51
回答 1查看 1K关注 0票数 1

我已经在我的网站上实现了奎尔的所见即所得编辑。有了这一点,我还想要一个图像大小,许多人推荐这个组件。我还安装了PHP Quill Renderer来将Quill的Delta转换成HTML。

我测试了所有的东西,它运行得很好(我从渲染器收到的数据与我在表单中发布的数据相对应)。

但是,如果我在Quill编辑器中调整了图像的大小并将其发送给呈现器,我将得到以下错误:

代码语言:javascript
复制
Fatal error: Uncaught TypeError: Argument 1 passed to DBlackborough\Quill\Delta\Html\Insert::__construct() must be of the type string, array given, called in ...... on line 22

我检查了该文件,该函数位于第22行:

代码语言:javascript
复制
public function __construct(string $insert, array $attributes = [])
{
    $this->tag = null;

    $this->insert = $insert;
    $this->attributes = $attributes;
}

作为这一切的初学者,我不知道该做什么。我假设,由于我使用的是一个外部组件(即Quill Image ),它不是Quill js的一部分,因此Php 的开发人员没有添加对图像大小调整的支持。

有人能引导我通过我应该采取的步骤来纠正这个错误吗?

EN

回答 1

Stack Overflow用户

发布于 2018-10-18 21:17:25

我也有同样的问题,下面是我怎么改正的

有关问题的信息:

当您调整图像大小时,属性width="xx"Quill Image Resizer插件插入。但是,在PHP Quill Renderer中,Parse不知道这个属性,因为与任何Delta关联使用默认值。

代码语言:javascript
复制
switch ($attribute) {
    default:
        $this->insert($quill);
        break;
}

解决方案:

为了纠正这个问题,我们需要在选项中添加一个新的width常量,然后在解析中添加一个新的case来将这个常量链接到图像中。

页面: Options.php (木质素: 50)

代码语言:javascript
复制
public const ATTRIBUTE_WIDTH = 'width';
public const ATTRIBUTE_ALT = 'alt';

页面:解析器/Parse.php (ligne : 179)

代码语言:javascript
复制
case Options::ATTRIBUTE_WIDTH:
    $this->image($quill);
    break;
case Options::ATTRIBUTE_ALT:
    $this->image($quill);
    break;

不确定这是最好的解决方案,但它解决了问题,基本功能没有任何改变。正如您在我的代码中所看到的,我还添加了alt属性来将其与图像关联起来。可能对你也有好处

祝你好运!

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/52806936

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档