| Dayver |  | 
|---|---|
| #46306 Kabak: По большому счёту если тащить всё подобные изменения в коробку то она быстро превратится в очень сложную систему разобратся в которой будет черезвычайно сложно. А поскольку код движка из-за своей простоты является очень надёжным и быстрым то это путь в другую сторону. Но решать подобные задачи можно и нужно немного другим методом. 
 Опишу свой подход как бы решал эту конкретную задачу я в своих проектах. Допустим есть у вас сайт APC ... и нужно вам делать изменения конкретно под этот проект. Тогда создаём плагин с именем например apc и складываем в него все решения которые руки норовят запихнуть в код движка или стандартных модулей и расширений. Так же и с этой конкретной задачей - добавляете новый параметр в конфигурацию своего плагина apc. Дале используя хуки (конкретно по теме обсуждения подойдёт page.add.tags ) создаёте альтернативный тегу 'PAGEADD_FORM_TEXT' свой , например 'PAGEADD_FORM_TEXT_APC' и используете в шаблоне его вместо стандартного. Тогда обновление движка не спровоцирует ситуацию что все ваши внедрения в системные файлы пропадут, а сама настройка и генерация тега по прежнему будут работать из вашего сайто-плагина так как вы ожидаете. // в вашем случае вместо cot::$cfg['page']['minimaxieditor'] // сипользуйте конфигурацию из плагина cot::$cfg['plugin']['apc']['minimaxieditor'] При таком подходе все индивидуальные доработки под конкретно ваш сайт или задачи будут хранится в уникальном плагине ... если задачи от проекта к проекту однотипные то можете выделить сборник подобных решений в одном плагине (и загружать его во все свои сайты), а совсем уникальные задачи решать в индивидуальном сайтовом плагине. При таком подходе и движок не загромождается решениями которые возможно нужны будут только вам и процес обновления будет доступен в ваших проектах. Pavlo Tkachenko aka Dayver Dit bericht is bewerkt door Dayver (2023-04-03 10:44, 2 jaren ago) | 
| Kabak |  | 
|---|---|
| А чем утяжетит работу движка встроенная в админку настройка для поставляемго в базовоё версии CKEditor ? По-моему, писать плагин из-за каждого тумблера для админки - не выход, а как раз утяженение элементарных и удобных вещей. ( я просто высказываю мои мысли вслух. Это никого ни к чему не обязывает ) 
 Главное, что вы рассказали мне где что искать и менять. Буду решать на моё усмотрение... Есть ещё проще вариант - зайти в config.js от CKEditor и заменить все меню на те, которые хочешь видеть в любом разделе сайта... всего и делов-то. И плагин писать не нужно. | 
| Dayver |  | 
|---|---|
| #46322 Kabak: Конкретно эта доработка никак. Я в целом говорю что хотелок много может поступать и решение не каждой бывает простым. Я высказал общую концепцию почему движок до этого времени дожил таким шустрым и надёжным. #46322 Kabak: Так идею я как раз и высказал что не под каждый тумблер свой плагин, а один кастомный плагин под все не стандартные ... это немного по другому уже воспринимается. Pavlo Tkachenko aka Dayver | 
| Kabak |  | 
|---|---|
| Может кто знает как получить доступ к элементу code от CKEditor . Я хочу подсвечивать или где-то выводить имя языка программирования на котором примеры в блоках code ? 
 Можно это сделать во время генерации страницы - генерить какой-то класс для конкретного блока CKEditor code или какую-нибудь иную метку, чтобы в CSS это использовать и отображать ? Например 
 
 CKEditor для блоков кода генерит <pre class="brush:cpp;"> <pre class="brush:php;"> 
 без JS как-то можно обойтись ? Dit bericht is bewerkt door Kabak (2023-08-30 11:37, 2 jaren ago) | 
| Alex300 |  | 
|---|---|
| как вариант серез CSS создав правила для всех классов  Если используется SyntaxHighlighter то он генерит такие дивы:  Есть миры, не здесь, там, где небеса горят, и моря засыпают, и реки дремлют; люди сделаны из дыма, а города – из песен. Где-то опасность, где-то несправедливость, даже где-то остыл чай. Идем Эйс, у нас много работы!... ...Sorry for my english... Бесплатные расширения для Cotonti: https://lily-software.com/free-scripts/ Dit bericht is bewerkt door Alex300 (2023-08-30 16:14, 2 jaren ago) | 
| Kort |  | 
|---|---|
| #47045 Alex300: А почему не CSS: 
div.syntaxhighlighter.php        { background: #eee; position: relative; }
div.syntaxhighlighter.php:before { content: 'PHP'; background: #ddd; position: absolute; top: 0; left: 0; }и далее по тексту? SED.by - создание сайтов, разработка плагинов и тем для Котонти Dit bericht is bewerkt door Kort (2023-08-30 17:54, 2 jaren ago) | 
| Kabak |  | 
|---|---|
| Да, просто добавил в CSS
 
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 дней спустя: Почему-то не всегда высвечивается с первого раза. Открываю отладчик в браузере и тогда появляются надписи. В чём может быть косяк ? Не до конца загрузилась страница или в кэше браузера сидит старая страница ? Dit bericht is bewerkt door Kabak (2023-09-06 08:51, 2 jaren ago) | 
| 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'а. SED.by - создание сайтов, разработка плагинов и тем для Котонти Dit bericht is bewerkt door Kort (2023-09-06 12:53, 2 jaren ago) | 
| Alex300 |  | 
|---|---|
| 
 Отладчик страницы отключает кеш браузера. Возможно браузер закешировал старую версию CSS-ки Есть миры, не здесь, там, где небеса горят, и моря засыпают, и реки дремлют; люди сделаны из дыма, а города – из песен. Где-то опасность, где-то несправедливость, даже где-то остыл чай. Идем Эйс, у нас много работы!... ...Sorry for my english... Бесплатные расширения для Cotonti: https://lily-software.com/free-scripts/ | 
| Kabak |  | 
|---|---|
| Похоже дело было в кеше браузера. При отладке кеш браузера у меня отключается | 
| Kort |  | 
|---|---|
| #47058 Kort: Если подумать, то правильнее было бы так: 
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 должен перестать быть безымянным. SED.by - создание сайтов, разработка плагинов и тем для Котонти Dit bericht is bewerkt door Kort (2023-09-15 06:31, 2 jaren ago) | 
| Kabak |  | 
|---|---|
| #46319 Dayver:#46306 Kabak: 1) С какими характеристиками нужно создавать такой плагин ? hook global ? 2) Как именно следует переопределять переменные настрооек в своём плагине ? где почитать ? | 
| Kort |  | 
|---|---|
| 
 SED.by - создание сайтов, разработка плагинов и тем для Котонти | 
| Kabak |  | 
|---|---|
| Я обновілся до 0.9.24beta и слетели настройки или какие-то моменты которые я прописывал прямо в движке - в php или .js от плагінов. Безусловно решение от Dayver очень подойдёт хоятбы для того что можно запихнуть в cfg. | 
| Kort |  | 
|---|---|
| Ну это вряд ли Дайвер придумал. Я думаю, все так делают -- это ж логично. SED.by - создание сайтов, разработка плагинов и тем для Котонти |