cotonti.com : CKEditor Как его настраивать ? https://www.cotonti.com Последние сообщения в теме Cotonti en Thu, 09 Oct 2025 10:17:11 -0000 Alex300 На этом сайте версия из master ветки репозитория. Отключается сообщение в конфиге: https://github.com/Cotonti/Cotonti/blob/37a02cdcce284b72aa9f53c582fc59abdf55c4e5/plugins/ckeditor/lib/config.js#L11

]]>
пн, 22 июл 2024 09:03:57 -0000
Kabak А на этом сайте какая вресия CKEditor ?  На этом сайте это сообщение не появляется.  На GIT вроде как 4.22.1

 

Можно как-то отключить это сообщение ?

]]>
вс, 21 июл 2024 11:05:55 -0000
Alex300 Я не проверял. Но, по идее, должен. Ничего такого я в него не вносил.

]]>
ср, 03 июл 2024 17:06:13 -0000
Kabak

This CKEditor 4.22.1 version is not secure. Consider upgrading to the latest one, 4.24.0-lts.

 

Поддерживает ли Cotonti 0.9.24.2 новую версию плагина CKEditor  или нужно что-то модифицировать ?

]]>
ср, 03 июл 2024 12:25:35 -0000
Alex300

2) И каким образом он связавается с SyntaxHighlighter

Этот планин для CKEditor'а написан специально для SyntaxHighlighter. Связывается просто  добавляет текст в контейнере, который потом подхватывается SyntaxHighlighter'ом.

На стороне редактора вся магия происходит тут: plugins/ckeditor/lib/plugins/syntaxhighlight/dialogs/syntaxhighlight.js. В "коробке" файл минифицирован. Его исходник на гитхабе: https://github.com/dbrain/ckeditor-syntaxhighlight и на сайте CKEditor'а: https://ckeditor.com/cke4/addon/syntaxhighlight

]]>
вт, 25 июн 2024 04:55:38 -0000
Kabak #48064 Kort:

С голландским языком не было экспериментов в последнее время?)))

Если только вы здесь что-то изменили.  Я не менял в моём профиле ничего

]]>
пт, 14 июн 2024 10:27:14 -0000
Kort С голландским языком не было экспериментов в последнее время?)))

]]>
пт, 14 июн 2024 09:54:19 -0000
Kabak На мобиле перестал нормально работать выбор блока текста. Появляется какая-то урезанная по функционалу менюшка.

3 maanden later toegevoegd:   -   ЭТО ЧТО ?

1) Где расположен список языков которые поддерживает CKEditor ?

2) И каким образом он связавается с SyntaxHighlighter ?

Пытаюсь записать в этот список другой язык и связать его с соответствующей подсветкой в SyntaxHighlighter. 

]]>
пн, 26 фев 2024 13:19:49 -0000
Kopusha МОжно ж поискать в гугле что это и посмотреть там демку

Added 1 minute later:

#47785 Alex300:

Я с ним не знаком и не уверен насчет замены CKEditor'а. Но вот сделать отдельным плагином как альтернативный редактор - вполне можно. А там видно будет.

Там Эдвард уже большинство работы сделал. ЦКЕ ну совсем бедовый, правда я новый не видел признаюсь.

]]>
вс, 11 фев 2024 13:25:06 -0000
Kabak #47783 Kopusha:

нет желания editorjs довести до полного кайфа? все таки cke такая срань)

Added 59 seconds later:

выложу сегодня свои настройки для cke с расшифровкой - долго бился как то пока все сделал, там ад адский - мож кому поможет

Чем он лучше CKEditor ?

]]>
сб, 10 фев 2024 19:40:56 -0000
Alex300 Я с ним не знаком и не уверен насчет замены CKEditor'а. Но вот сделать отдельным плагином как альтернативный редактор - вполне можно. А там видно будет.

]]>
сб, 10 фев 2024 14:41:46 -0000
Kopusha нет желания editorjs довести до полного кайфа? все таки cke такая срань)

Added 59 seconds later:

выложу сегодня свои настройки для cke с расшифровкой - долго бился как то пока все сделал, там ад адский - мож кому поможет

]]>
сб, 10 фев 2024 09:45:52 -0000
Alex300 В мастер ветке исправлено. В Siena 0.9.25 постараемся перейти на 5-ю версию. Сделал бы и раньше, но различия уж слишком существенные.

]]>
пт, 09 фев 2024 19:21:40 -0000
Kabak Как указать для блока CKEditor в котором вводим текст height не меньше нужного размера ?  там путь огромный до конечного элемента ))) 

сам элемент :

div#cke_1_contents.cke_contents.cke_reset
{ 
min-height: 300px;
}

 

Это где-то настраивается в CKEditor ?

Добавлено 4 месяца спустя:

 

Начало писать на сайтах Cotonti 0.9.24

]]>
ср, 27 сен 2023 18:28:53 -0000
Kort Ну это вряд ли Дайвер придумал. Я думаю, все так делают -- это ж логично.

]]>
ср, 27 сен 2023 17:40:59 -0000
Kabak Я обновілся до 0.9.24beta и слетели настройки или какие-то моменты которые я прописывал прямо в движке - в php или .js от плагінов.  Безусловно решение от Dayver очень подойдёт хоятбы для того что можно запихнуть в cfg.

]]>
ср, 27 сен 2023 16:24:57 -0000
Kort
  • Можно и global, но если речь только о локациях добавления и правки страницы, то это Hooks=page.add.tags, page.edit.tags
  • https://www.cotonti.com/ru/docs/ext/extensions/configvalues
  • ]]>
    ср, 27 сен 2023 13:11:35 -0000
    Kabak #46319 Dayver:
    #46306 Kabak:

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

    А можно внести такую настройку в следующий выпуск Cotonti ?    Чтобы можно было выбрать в меню админки как именно выглядит CKEditor в разных разделах сайта ?

    По большому счёту если тащить всё подобные изменения в коробку то она быстро превратится в очень сложную систему разобратся в которой будет черезвычайно сложно. А поскольку код движка из-за своей простоты является очень надёжным и быстрым то это путь в другую сторону. Но решать подобные задачи можно и нужно немного другим методом.

     

    Опишу свой подход как бы решал эту конкретную задачу я в своих проектах. Допустим есть у вас сайт APC ... и нужно вам делать изменения конкретно под этот проект. Тогда создаём плагин с именем например apc и складываем в него все решения которые руки норовят запихнуть в код движка или стандартных модулей и расширений. Так же и с этой конкретной задачей - добавляете новый параметр в конфигурацию своего плагина apc. Дале используя хуки (конкретно по теме обсуждения подойдёт page.add.tags ) создаёте альтернативный тегу 'PAGEADD_FORM_TEXT' свой , например 'PAGEADD_FORM_TEXT_APC' и используете в шаблоне его вместо стандартного. Тогда обновление движка не спровоцирует ситуацию что все ваши внедрения в системные файлы пропадут, а сама настройка и генерация тега по прежнему будут работать из вашего сайто-плагина так как вы ожидаете.

    
    // в вашем случае вместо
    cot::$cfg['page']['minimaxieditor']
    // сипользуйте конфигурацию из плагина
    cot::$cfg['plugin']['apc']['minimaxieditor']
    
    

    При таком подходе все индивидуальные доработки под конкретно ваш сайт или задачи будут хранится в уникальном плагине ... если задачи от проекта к проекту однотипные то можете выделить сборник подобных решений в одном плагине (и загружать его во все свои сайты), а совсем уникальные задачи решать в индивидуальном сайтовом плагине.

    При таком подходе и движок не загромождается решениями которые возможно нужны будут только вам и процес обновления будет доступен в ваших проектах.

    1) С какими характеристиками нужно создавать такой плагин ?    hook global ?

    2) Как именно следует переопределять переменные настрооек в своём плагине ?

    где почитать ?

    ]]>
    ср, 27 сен 2023 12:46:58 -0000
    Kort #47058 Kort:
    div.syntaxhighlighter               { position: relative; }
      div.syntaxhighlighter:before      { color: @white; padding: 0 .5rem; background: @black; position: absolute; top: 0; left: 0; z-index: 1; }
      div.syntaxhighlighter.php:before	{ content: 'PHP'; }
      div.syntaxhighlighter.xml:before	{ content: 'XML'; }

    С такими стилями у меня работает в Mozilla, Chrome и Edge и сразу и после перезагрузки страницы. Посмотри что в консоли, для очистки совести отключи кэш Cotonti и почисти кэш браузера.

    Если на странице эти стили не прогрузились, посмотри в отладчике как и где загрузился css-файл с ними, на месте ли стили div'а.

    Если подумать, то правильнее было бы так:

    div:has(> div.syntaxhighlighter)            { position: relative; }
    div:has(> div.syntaxhighlighter):before     { position: absolute; top: 0; right: 0; z-index: 1; }
    div:has(> div.syntaxhighlighter.css):before { content: 'CSS/LESS'; }
    div:has(> div.syntaxhighlighter.php):before { content: 'PHP'; }
    div:has(> div.syntaxhighlighter.xml):before { content: 'XML'; }

    Псевдокласс :before() должен применяться для непосредственного родительского элемента .syntaxhighlighter, иначе при горизонтальной прокрутке "лэйба" будет тоже скролиться. Но в Mozilla работать не будет -- псевдокласс :has() в нем пока что не реализован. В остальных браузерах все ок.

    P.S. Или этот самый безымянный родительский div должен перестать быть безымянным.

    ]]>
    пт, 15 сен 2023 05:57:00 -0000
    Kabak Похоже дело было в кеше браузера.  При отладке кеш браузера у меня отключается

    ]]>
    ср, 06 сен 2023 15:23:17 -0000
    Alex300

    Открываю отладчик в браузере и тогда появляются надписи.  В чём может быть косяк ?  Не до конца загрузилась страница или в кэше браузера сидит старая страница ?

    Отладчик страницы отключает кеш браузера. Возможно браузер закешировал старую версию CSS-ки

    ]]>
    ср, 06 сен 2023 14:04:41 -0000
    Kort div.syntaxhighlighter               { position: relative; } div.syntaxhighlighter:before      { color: @white; padding: 0 .5rem; background: @black; position: absolute; top: 0; left: 0; z-index: 1; } div.syntaxhighlighter.php:before { content: 'PHP'; } div.syntaxhighlighter.xml:before { content: 'XML'; }

    С такими стилями у меня работает в Mozilla, Chrome и Edge и сразу и после перезагрузки страницы. Посмотри что в консоли, для очистки совести отключи кэш Cotonti и почисти кэш браузера.

    Если на странице эти стили не прогрузились, посмотри в отладчике как и где загрузился css-файл с ними, на месте ли стили div'а.

    ]]>
    ср, 06 сен 2023 12:09:59 -0000
    Kabak div.syntaxhighlighter.php:before { content: 'PHP'; background: #f70a0a; border :#f70a0a solid 1px; border-radius : 3px; position: absolute; top: 0px; left: 55px; } div.syntaxhighlighter.cpp:before { content: 'CPP'; background: #0285ff; border :#0285ff solid 1px; border-radius : 3px; position: absolute; top: 0px; left: 55px; }

     

     

    Благодарю за помощь. Осталось красиво сделать.

    Добавлено 6 дней спустя:

    Почему-то не всегда высвечивается с первого раза.  Открываю отладчик в браузере и тогда появляются надписи.  В чём может быть косяк ?  Не до конца загрузилась страница или в кэше браузера сидит старая страница ?

    ]]>
    ср, 30 авг 2023 18:41:02 -0000
    Kort #47045 Alex300:

    как вариант серез CSS создав правила для всех классов brush:*;

    Если используется SyntaxHighlighter то он генерит такие дивы: <div id="highlighter_288027" class="syntaxhighlighter  php">...</div>. Принцип тот-же. Но на мой взгляд для того чтобы получить надпись с названием языка - проще использовать JS.

    А почему не CSS:

    div.syntaxhighlighter.php        { background: #eee; position: relative; }
    div.syntaxhighlighter.php:before { content: 'PHP'; background: #ddd; position: absolute; top: 0; left: 0; }

    и далее по тексту?

    ]]>
    ср, 30 авг 2023 17:48:23 -0000
    Alex300 как вариант серез CSS создав правила для всех классов brush:*;

    Если используется SyntaxHighlighter то он генерит такие дивы: <div id="highlighter_288027" class="syntaxhighlighter  php">...</div>. Принцип тот-же. Но на мой взгляд для того чтобы получить надпись с названием языка - проще использовать JS.

    ]]>
    ср, 30 авг 2023 16:08:55 -0000
    Kabak Может кто знает как получить доступ к элементу code от CKEditor .   Я хочу подсвечивать или где-то выводить имя языка программирования на котором примеры в блоках code  ?

     

    Можно это сделать во время генерации страницы - генерить какой-то класс для конкретного блока CKEditor code или какую-нибудь иную метку, чтобы в CSS это использовать и отображать ?

    Например

     

    CKEditor для блоков кода генерит 

    <pre class="brush:cpp;">
    <pre class="brush:php;">

     

    без JS как-то можно обойтись ? 

    ]]>
    ср, 30 авг 2023 11:11:34 -0000
    Dayver #46322 Kabak:

    А чем утяжетит работу движка встроенная в админку настройка для поставляемго в базовоё версии CKEditor ?   

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

    #46322 Kabak:

    По-моему,  писать плагин из-за каждого тумблера для админки - не выход, а как раз утяженение элементарных и удобных вещей. ( я просто высказываю мои мысли вслух. Это никого ни к чему не обязывает ) 

    Так идею я как раз и высказал что не под каждый тумблер свой плагин, а один кастомный плагин под все не стандартные ... это немного по другому уже воспринимается.

    ]]>
    пн, 03 апр 2023 11:32:46 -0000
    Kabak А чем утяжетит работу движка встроенная в админку настройка для поставляемго в базовоё версии CKEditor ?   

    По-моему,  писать плагин из-за каждого тумблера для админки - не выход, а как раз утяженение элементарных и удобных вещей. ( я просто высказываю мои мысли вслух. Это никого ни к чему не обязывает ) 

     

    Главное, что вы рассказали мне где что искать и менять.  Буду решать на моё усмотрение...

    Есть ещё проще вариант - зайти в config.js от CKEditor и заменить все меню на те, которые хочешь видеть в любом разделе сайта... всего и делов-то. И плагин писать не нужно.

    ]]>
    пн, 03 апр 2023 11:10:26 -0000
    Dayver #46306 Kabak:

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

    А можно внести такую настройку в следующий выпуск Cotonti ?    Чтобы можно было выбрать в меню админки как именно выглядит CKEditor в разных разделах сайта ?

    По большому счёту если тащить всё подобные изменения в коробку то она быстро превратится в очень сложную систему разобратся в которой будет черезвычайно сложно. А поскольку код движка из-за своей простоты является очень надёжным и быстрым то это путь в другую сторону. Но решать подобные задачи можно и нужно немного другим методом.

     

    Опишу свой подход как бы решал эту конкретную задачу я в своих проектах. Допустим есть у вас сайт APC ... и нужно вам делать изменения конкретно под этот проект. Тогда создаём плагин с именем например apc и складываем в него все решения которые руки норовят запихнуть в код движка или стандартных модулей и расширений. Так же и с этой конкретной задачей - добавляете новый параметр в конфигурацию своего плагина apc. Дале используя хуки (конкретно по теме обсуждения подойдёт page.add.tags ) создаёте альтернативный тегу 'PAGEADD_FORM_TEXT' свой , например 'PAGEADD_FORM_TEXT_APC' и используете в шаблоне его вместо стандартного. Тогда обновление движка не спровоцирует ситуацию что все ваши внедрения в системные файлы пропадут, а сама настройка и генерация тега по прежнему будут работать из вашего сайто-плагина так как вы ожидаете.

    
    // в вашем случае вместо
    cot::$cfg['page']['minimaxieditor']
    // сипользуйте конфигурацию из плагина
    cot::$cfg['plugin']['apc']['minimaxieditor']
    
    

    При таком подходе все индивидуальные доработки под конкретно ваш сайт или задачи будут хранится в уникальном плагине ... если задачи от проекта к проекту однотипные то можете выделить сборник подобных решений в одном плагине (и загружать его во все свои сайты), а совсем уникальные задачи решать в индивидуальном сайтовом плагине.

    При таком подходе и движок не загромождается решениями которые возможно нужны будут только вам и процес обновления будет доступен в ваших проектах.

    ]]>
    пн, 03 апр 2023 10:34:07 -0000
    webitproff #46306 Kabak:

    Я не могу удалить и установить модуль заново - пропадут все созданные страницы

    А можно внести такую настройку в следующий выпуск Cotonti ?    Чтобы можно было выбрать в меню админки как именно выглядит CKEditor в разных разделах сайта ?

    удалять и не нужно.

    насчет внести - создайте заявку

     

    распишу по порядку, чисто по аналогигии с модулем форумов.

    1. в файл /modules/page/page.setup.php

    после

    parser=02:callback:cot_get_parsers():none:

    дописываем

    minimaxieditor=03:select:minieditor,medieditor,editor:medieditor:

    2. в файл modules/page/inc/page.functions.php в самый конец дописываем

    $minimaxieditor = null;
    if (cot::$cfg['page']['markup'] == 1) {
      $minimaxieditor = cot::$cfg['page']['minimaxieditor'];
    }

    3. в файл modules/page/lang/page.ru.lang.php добавить

    $L['cfg_minimaxieditor'] = 'Выбор конфигурации визуального редактора';
    $L['cfg_minimaxieditor_params'] = 'Минимальный набор кнопок,Стандартный набор кнопок,Расширенный набор кнопок'; 

    4. в файле modules/page/inc/page.add.php меняем

    'PAGEADD_FORM_TEXT' => cot_textarea('rpagetext', $rpage['page_text'], 24, 120, '', 'input_textarea_editor'),
    

    меняем на

    'PAGEADD_FORM_TEXT' => cot_textarea('rpagetext', $rpage['page_text'], 24, 120, '', 'input_textarea_'.$minimaxieditor),

    5. Идем в админку https://мойсайе.ру/admin/extensions?a=details&mod=page

    находим ссылку или кнопку "обновить" - жмем ёё

    Получаем результат на скриншоте

     

    ]]>
    сб, 01 апр 2023 06:29:35 -0000
    Kabak Я не могу удалить и установить модуль заново - пропадут все созданные страницы

     

    методика понятна.  попробую проверить на голом движке

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

    А можно внести такую настройку в следующий выпуск Cotonti ?    Чтобы можно было выбрать в меню админки как именно выглядит CKEditor в разных разделах сайта ?

    ]]>
    сб, 01 апр 2023 05:15:42 -0000
    webitproff #46304 Kabak:

    для модуля не прокатывает обновить кнопкой, для плагина работает

    так что вовсе не заработало?

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

    просто у меня работает, в настройках конфигурации модуля page селект работает и подключается к редактированию страниц как нужно

    ]]>
    сб, 01 апр 2023 05:03:28 -0000
    Kabak для модуля не прокатывает обновить кнопкой, для плагина работает

    ]]>
    сб, 01 апр 2023 04:44:11 -0000
    webitproff #46301 Kabak:

    Чтобы это заработало, модуль придётся удалить, а потом установить ?

    нет. просто кнопкой "обновить"

    ]]>
    сб, 01 апр 2023 00:53:42 -0000
    Kabak Чтобы это заработало, модуль придётся удалить, а потом установить ?

    ]]>
    пт, 31 мар 2023 12:29:13 -0000
    webitproff #46142 Kabak:

     

     

     

    	'PAGEADD_FORM_TEXT' => cot_textarea('rpagetext', $rpage['page_text'], 24, 120, '', 'input_textarea_editor'),

    для минимального варианта CKEditor на форме редактирования страницы следует указать 

    'PAGEADD_FORM_TEXT' => cot_textarea('rpagetext', $rpage['page_text'], 24, 120, '', 'input_textarea_minieditor'),

     

    можно проще.

    в page.setup.php

     * parser=02:callback:cot_get_parsers():html:* 
    * pageededitor=15:select:disable,minieditor,medieditor,editor:medieditor:

    в page.add.php

    "PAGEADD_FORM_TEXT" => cot_textarea('rpagetext', $rpage['page_text'], 10, 60, ($pageededitor && $pageededitor != 'disable') ? 'input_textarea_'.$pageededitor : ''),

     B page.functions.php

    if ($cfg['page']['markup'] == 1){
      $pageededitor = $cfg['page']['pageededitor'];
    }

     

    Добавлено 59 секунд спустя:

    обязательно обновить модуль в админке

    Добавлено 26 секунд спустя:

    опечатку исправил

    ]]>
    пт, 31 мар 2023 10:37:47 -0000
    Kabak  

    1)Теперь выбор цвета встроен в CKEditor ? плагин colorbutton больше не подключается ?

    2) Где изменить набор цветов для 'TextColor','BGColor' ?

    Добавлено 4 часа спустя:

    Где необходимо выбирать в каком варианте будет показываться плагин в разных разделах сайта : форумы, комментарии , личка ?

    Добавлено 5 дней спустя:

    Если кому-то нужна своя палитра цветов, то нужно вставить строку с вашей палитрой в CKEditor->lib->config.js
    например :

    	config.colorButton_colors = 
    	'ffff,000000,404040,808080,c0c0c0,ff0000,' +
    	'ED3E3E,fff200,2aff00,93FF61,1ABBB4,00FBFF,' +
    	'00BFF3,0054A6,000CFF,0076A3,8493CA,8493CA,' +
    	'FF009D,F06EA9,D03166,F6989D,790000,827B00,' +
    	'004B80,EAD39C,DEA99B,CC8D73,B37C83,695254,' +
    	'6C3730,D8C1B7,2C2026,FD5308,FB9902,FEFE33,' +
    	'66B032,0392CE,0247FE,3D01A4,8601AF,A7194B,' +
    	'406128,57A3E1,34649F,ACD39F,476D5C,524A33б' +
    	'FDECA3,FDECA3,FDECA3,FDECA3,FDECA3,FDECA3,';

    цвета расположены группами по 6 в ряд.  и пишутся в формате #xxxxxx (RGB)  но без сімвола #

    Так же в этом файле можно настроить своё меню в 3-х вариантах для разных раздесов вашего сайта.

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

    Для того чтобы в нужном разделе вашего сайта появлялся конкретный блок CKEditor нужно в нужном php указать какой именно создавать ТЕГ,

    есть  три варианта  :

    полный = 'input_textarea_editor' ,

    средний = 'input_textarea_medieditor' ,

    маленький = 'input_textarea_minieditor' 

    ( эти блоки настраиваются в CKEditor->lib->config.js )

    функция которая создаёт нужный ТЕГ называется cot_textarea(...)

    например в модуле PAGE ( файл page.edit.php ) это делается так 
     

    	'PAGEADD_FORM_TEXT' => cot_textarea('rpagetext', $rpage['page_text'], 24, 120, '', 'input_textarea_editor'),

    для минимального варианта CKEditor на форме редактирования страницы следует указать 

    'PAGEADD_FORM_TEXT' => cot_textarea('rpagetext', $rpage['page_text'], 24, 120, '', 'input_textarea_minieditor'),

     

    ]]>
    сб, 25 мар 2023 11:01:05 -0000
    webitproff #46105 Kort:

    Takes two to tango

    всмысле тема закрыта? или вы себе на заметку ? я хохол и по не-русски не очень понимаю cool

    ]]>
    чт, 23 мар 2023 03:49:52 -0000
    Kort Takes two to tango

    ]]>
    ср, 22 мар 2023 09:01:50 -0000
    Alex300

    главное чистить кеш на каждом шаге разработки sad

    На этапе разработки его вообще лучше выключить, чтобы не мешал. Кеш в движке отключается в config.php, в браузере можно отключить при открытой панели разработчика.

     

    а дрова фронтэнда середины 2010 годов как "nemesis" и "symisun-03" для выпуклых ламповых 15-дюймовых мониторов так и остануться в коробке

    Уйдут как только руки до них доберутся

    ]]>
    ср, 22 мар 2023 05:04:51 -0000