Я реализовал Редактор 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 не добавил поддержку изменение размера изображения.
Кто-нибудь может подсказать мне шаги, которые я должен предпринять, чтобы исправить эту ошибку?
у меня была такая же проблема, вот как я ее исправил
Информация о проблеме:
Атрибут width="xx"
вставляется Quill Image Resizer
плагин при изменении размера изображения. Однако в PHP Quill Renderer
Parse не знает этого атрибута, поскольку для связи с 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
атрибут, чтобы связать его с изображением. Это может быть выгодно для вас
Удачи !
Других решений пока нет …