Forums / National / Russian / Тех. поддержка / Можно ли привязать к теме для Cotonti настроку для плагина syntaxhighlighter ?

Kabak
#1 2024-05-20 09:49

Привет !

Как можно реализовать,  если в системе установлен планиг syntaxhighlighter, чтобы при смене темы для Cotonti автоматически менялась тема - настройка Highlight color theme:  для  SyntaxHighlighter  ?

 

Подскажите идеи реализации, если такое возможно.

Благодарю

Kort
#2 2024-05-20 10:41

А разве тема этого плагина как-то связана с темой сайта?

SED.by - создание сайтов, разработка плагинов и тем для Котонти
Kabak
#3 2024-05-20 11:07

В том и дело, я хочу связать тему от плагина с темой на сайте. И автоматически переключать тему от плагина, если пользователь меняет тему на сайте.

1) При смене пользователем темы на сайте запускается какой-то плагин, который проверяет наличие плагина syntaxhighlighter и проверяет связку тема на сайте = тема от syntaxhighlighter. И если такая связка есть, устанавливает тему соответствующую тему для  syntaxhighlighter.  Связка имён проста : точное совпадение имени скина для Cotonti и имени темы для syntaxhighlighter.

 

Если у вас  есть иные варианты решения, то давайте обсудим.

 

У меня есть несколько тем для Cotonti и есть соответствующая темя для syntaxhighlighter.  Я устал переключать темы в двух местах при отладке... Хочу связать эти темы в связку.

Kort
#4 2024-05-20 19:36

Надо добавить хук в syntaxhighlighter.footer.php и подключиться туда кастомным плагином. А в нем уже в зависимости от выбранной темы переопределять переменную $shTheme

Примерно так:

...
$shTheme = !empty(Cot::$cfg['plugin']['syntaxhighlighter']['theme']) ? Cot::$cfg['plugin']['syntaxhighlighter']['theme'] : 'default';

/* === Hook === */
foreach (cot_getextplugins('syntaxhighlighter.footer') as $pl)
{
	include $pl;
}
/* ===== */

$shThemeUrl = shlThemeCssUrl($shTheme);
...

Я только не нашел репозитория с ним)

SED.by - создание сайтов, разработка плагинов и тем для Котонти
This post was edited by Kort (2024-05-20 19:48, 3 weeks ago)
Kabak
#5 2024-05-20 20:21
#48025 Kort:

...

Я только не нашел репозитория с ним)

GIT -> syntaxhighlighter

Kort
#6 2024-05-21 05:51

... после этого создаешь соответствующую часть "проектного плагина" примерно такого содержания:

<?php
/* ====================
[BEGIN_COT_EXT]
Hooks=syntaxhighlighter.footer
[END_COT_EXT]
==================== */

defined('COT_CODE') or die('Wrong URL');

if ($theme == 'theme1') {
    $shTheme = 'django';
} elseif ($theme == 'theme2') {
    $shTheme = 'eclipse';
}

Все имена вымышленные)

SED.by - создание сайтов, разработка плагинов и тем для Котонти