Редактор Editorjs

InstantCMS 2.X
#121 14 марта 2026 в 23:03

А кинескоп

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

kinescope.ru — Это что еще за видео хостинг? Где там видео?

#122 14 марта 2026 в 23:13

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

#123 15 марта 2026 в 16:37

А как же я буду делать и проверять если у меня даже ссылки на видео нет и оутпута на iframe?

#124 15 марта 2026 в 16:52

Вот как пример тестовой ссылки kinescope.io/d2nGKD7Camq4scv7dS38E5

#125 15 марта 2026 в 17:50

Спасибо, тестирую:)

Добавлено спустя 3 минуты

Обновился еще до 2.18.1

Не пойму теперь что стало причиной ошибки

Fatal error: Uncaught TypeError: cmsWysiwyg::getEditor(): Argument #1 ($name) must be of type string, null given, called in    /system/fields/html.php on line 227 and defined in    /system/core/wysiwyg.php:28 Stack trace: #0    /system/fields/html.php(227): cmsWysiwyg::getEditor() #1    /system/fields/editorjs.php(103): fieldHtml->store() #2    /system/core/form.php(866): fieldEditorjs->store() #3    /system/controllers/content/actions/item_edit.php(160): cmsForm->parse() #4    /system/core/controller.php(636): actionContentItemEdit->run() #5    /system/core/controller.php(476): cmsController->runExternalAction() #6    /system/core/frontend.php(18): cmsController->executeAction() #7    /system/core/controller.php(452): cmsFrontend->executeAction() #8    /system/controllers/content/frontend.php(29): cmsController->runAction() #9    /system/core/controller.php(501): content->route() #10    /system/core/frontend.php(18): cmsController->executeAction() #11    /system/core/controller.php(452): cmsFrontend->executeAction() #12    /system/core/core.php(1032): cmsController->runAction() #13    /system/core/core.php(199): cmsCore->runController() #14    /index.php(28): cmsCore->runHttp() #15 {main} thrown in    /system/core/wysiwyg.php on line 28

#126 15 марта 2026 в 18:04

Попробуйте вот этот, а то в том я для себя еще правки делал. 

Прикрепленный файл
embed-umd.zip 5 Кб
#127 15 марта 2026 в 19:25

Спасибо! Проверил на другом сайте. Все работает, спасибо. На 2.18.1 вероятно в чем-то другом дело, может в самом поле с едитором, так как сейчас сайт перевел на PHP 8/

Вероятно нужно стили добавить 

Изображение

Кстати, а что этого поля все еще нет в аддонах в каталоге?) Кажется что надо его добавить, а от SmartControl удалить

Добавлено спустя 40 минут

Fatal error: Uncaught TypeError: cmsWysiwyg::getEditor(): Argument #1 ($name) must be of type string, null given, called in    /system/fields/html.php on line 227 and defined in    /system/core/wysiwyg.php:28 Stack trace: #0    /system/fields/html.php(227): cmsWysiwyg::getEditor() #1    /system/fields/editorjs.php(103): fieldHtml->store() #2    /system/core/form.php(866): fieldEditorjs->store() #3    /system/controllers/content/actions/item_edit.php(160): cmsForm->parse() #4    /system/core/controller.php(636): actionContentItemEdit->run() #5    /system/core/controller.php(476): cmsController->runExternalAction() #6    /system/core/frontend.php(18): cmsController->executeAction() #7    /system/core/controller.php(452): cmsFrontend->executeAction() #8    /system/controllers/content/frontend.php(29): cmsController->runAction() #9    /system/core/controller.php(501): content->route() #10    /system/core/frontend.php(18): cmsController->executeAction() #11    /system/core/controller.php(452): cmsFrontend->executeAction() #12    /system/core/core.php(1032): cmsController->runAction() #13    /system/core/core.php(199): cmsCore->runController() #14    /index.php(28): cmsCore->runHttp() #15 {main} thrown in    /system/core/wysiwyg.php on line 28

Def

Причина найдена благодаря Pechora.Dev 🐻

Надо переписать public function store на следующий код в файле /system/fields/editorjs.php :

  1. public function store($value, $is_submitted, $old_value = null) {
  2.  
  3. if (is_empty_value($value)) {
  4. return '';
  5. }
  6.  
  7. if (!$this->isJson($value)) {
  8. return '';
  9. }
  10.  
  11. $html = $this->jsonToHtml($value);
  12.  
  13. if ($this->getOption('is_html_filter')) {
  14. $html = cmsEventsManager::hook('html_filter', [
  15. 'text' => $html,
  16. 'is_process_callback' => false,
  17. 'typograph_id' => $this->getOption('typograph_id'),
  18. 'build_redirect_link' => (bool)$this->getOption('build_redirect_link')
  19. ]);
  20. $html = string_replace_svg_icons($html);
  21. }
  22.  
  23. return $html;
  24. }


 

#128 15 марта 2026 в 22:28

Я уже у себя сделал, только что хотел об этом написать так как тоже обновился до 2.18.1.

Еще в админке у окошко стилей не будет показывать так что меняем этот кусок:

  1. new fieldHtml('style_edit', [

На:

  1. new fieldText('style_edit', [
Добавлено спустя 20 минут

Если что, то я у себя так сделал.

  1. public function store($value, $is_submitted, $old_value = null) {
  2.  
  3. if (is_empty_value($value)) {
  4. return '';
  5. }
  6.  
  7. if (!$this->isJson($value)) {
  8. return '';
  9. }
  10.  
  11. return cmsFormField::store($this->jsonToHtml($value), $is_submitted);
  12. }
#129 15 марта 2026 в 22:56

new fieldHtml('style_edit', [

pupsik

Это в каком файле?

#130 15 марта 2026 в 23:54

В том же editorjs.php

#131 16 марта 2026 в 07:50
В том же editorjs.php
pupsik

Странно, у меня там нет такого

#132 16 марта 2026 в 15:27

Изображение

#133 17 марта 2026 в 10:03

Странный момент всплыл — почему-то не вижу при редактировании этого видео, хотя на фронте оно есть. В чем может быть дело? И как растянуть на всю ширину видео кинескопа?)

#134 17 марта 2026 в 16:23

 Def, Поменяйте там в  embed.umd.js на это. Просто у вас теги в типографе не прописаны. Извиняюсь.

  1. kinescope: {
  2. regex: /https?:\/\/kinescope\.io\/([a-zA-Z0-9_-]+)/,
  3. embedUrl: "https://kinescope.io/embed/<%= remote_id %>",
  4. html: '<iframe style="width:100%;" height="320" frameborder="0"></iframe>',
  5. height: 320,
  6. width: 580
  7. },

И в файле добавить /system/libs/Durlecode/EJSParser/HtmlParser.php, так как он не стандартный видео хостинг.  Линия 517, увидите там разные хостинги. 

И как растянуть на всю ширину видео кинескопа?

Нууууу, Это уже элементарный css iframe. Растягивайте как хотите.

#135 17 марта 2026 в 18:15

И в файле добавить /system/libs/Durlecode/EJSParser/HtmlParser.php, так как он не стандартный видео хостинг.  Линия 517, увидите там разные хостинги. 

pupsik

У меня почему-то линия другая. Но внес. Пока в редактировании почему-то все равно не появилось видео, хотя при сохранении на фронте выводится. Не пойму что делают не так. В типографе в админке добавил сайт кинескопа.

Вы не можете отвечать в этой теме.
Войдите или зарегистрируйтесь, чтобы писать на форуме.

Похожие темы

Похожее в блогах

🍪Мы используем файлы cookie для работы сайта. Читать подробнее.