Вопрос относительно: Quill js, Quill-Image-Resize и PHP-Quill-Renderer

Я реализовал Редактор Quill WYSIWYG на моем сайте. При этом я также хотел изменить размер изображения, и многие люди рекомендовали этот компонент. Я также установил PHP Quill Renderer перевести Дельта Куилла в HTML.

Я все проверил, и все работает нормально (данные, которые я получаю от средства визуализации, соответствуют данным, которые я разместил в форме).

Однако если я изменить размер изображение в редакторе Quill и отправить его рендереру, я получаю эту ошибку:

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:

public function __construct(string $insert, array $attributes = [])
{
$this->tag = null;

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

Как новичок во всем этом, я не знаю, что мне делать. Я предполагаю, что, потому что я использую внешний компонент (т.е. Quill Image Resizer) который не был частью Quill JS, разработчик Php Quill Renderer не добавил поддержку изменение размера изображения.

Кто-нибудь может подсказать мне шаги, которые я должен предпринять, чтобы исправить эту ошибку?

1

Решение

у меня была такая же проблема, вот как я ее исправил

Информация о проблеме:

Атрибут width="xx" вставляется Quill Image Resizer плагин при изменении размера изображения. Однако в PHP Quill RendererParse не знает этого атрибута, поскольку для связи с Delta используется значение по умолчанию.

switch ($attribute) {
default:
$this->insert($quill);
break;
}

Решение:

Чтобы исправить эту проблему, нам нужно добавить новый width константа в опциях, а затем в разборе нам нужно добавить новый case связать эту константу с изображением.

страница: Options.php (строка: 50)

public const ATTRIBUTE_WIDTH = 'width';
public const ATTRIBUTE_ALT = 'alt';

страница: Parser / Parse.php (строка: 179)

case Options::ATTRIBUTE_WIDTH:
$this->image($quill);
break;
case Options::ATTRIBUTE_ALT:
$this->image($quill);
break;

Не уверен, что это лучшее решение, но оно решает проблему, и не нужно вносить никаких изменений в основные функции. Как вы можете видеть в моем коде, я также добавляю alt атрибут, чтобы связать его с изображением. Это может быть выгодно для вас

Удачи !

1

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]