"Index36" - основной шаблон сайта для Cotonti. Руководство по установке
Инструкция по установке темы "Index36" на сайт Cotonti Siena CMF. Удачной установки и красивого сайта на Cotonti! Если у вас возникнут проблемы с конкретными ошибками, не стесняйтесь обращаться на форум и описывать проблему — я помогу разобраться.
однако нормальное замечание.
активация темы действительно выполняется через файл конфига.
а в админке мы форсируем применение шаблона/темы указанной в админке для каждого пользователя.
Почему так? - это чисто особенность движка, исторически в прошлых версиях и сейчас теоретически, каждый пользователь мог в настройках профиля выбрать для себя свой шаблон, если их есть несколько. Также при регистрации, в определенное поле - user_theme таблицы cot_users БД пишется код шаблона, который вставляется из глобального значения Cot::$cfg['defaulttheme'] при выполнении функции cot_add_user, которая вызывается при успешной регистрации. Но это не единственный сценарий. Поэтому, что бы переопрделить значение user_theme у каждого пользователя, при установке новой темы, мы должны принудительно переопределить это значение, если у пользователя там устаревшие записи названия темы сайта.
Зачем это нужно?
Котонти, любому зарегистрированному пользователю шаблон показывает исходя из глобальной переменной $usr['theme'] а она получает свое значение вот так
$usr['theme'] = $cfg['forcedefaulttheme'] ? $cfg['defaulttheme'] : $row['user_theme'];Мы в панели администратора, в разделе конфигурации, принудительно ставим установку темы по умолчанию для всех пользователей. Таким образом, мы пишем 1 (единицу) в глобальный массив $cfg['forcedefaulttheme']
запись строки кода выше проверяет условие $cfg['forcedefaulttheme'] есть истина или ложь, который хранится в глобальном массиве настроек $cfg.
Если 1, то берётся значение из $cfg['defaulttheme'] (тема оформления по умолчанию в нашем файле конфигурации).
Если флаг равен false (выключен, 0, пусто) то уже берётся значение из $row['user_theme'] (персональная тема, которую выбрал конкретный пользователь, хранящаяся в массиве данных $row), а нам как раз этого нужно избежать.
Поэтому что бы $usr['theme'] был всегда равен $cfg['defaulttheme'] мы идем в админку и форсируем тему, устанавливая нашу единицу в $cfg['forcedefaulttheme'].
надеюсь разобрались с вопросом ))
#565 timorphey:
ничего себе нюансы...
Не забивайте дурным голову. на уровне администратора сайта вам знать эти детали не обязательно. достаточно просто однажды понять “так надо по инструкции” - поставили и забыли! Может аналогия грубая, но понятная, прошу без обид. Судья за рулем электромобиля должен знать принцип контроллеров электроники? куда и сколько вольт? - вот так и здесь, - что-то для слесаря важно, а пользователю оно и на … не нужно и не важно!
🧙♂️ Радуйся, странниче добрый и честный! Не понапрасну привела тя стезя в земли сии. Зде бо мужи мудры и искусники дела писменнаго и численнаго, что куют словеса и плетут узоры кода, тайны разгадывают и знанием делятся, летописи множа и ремесло цифровое творя.
⬅️ Аще налево пойдеши — обрящеши грамоты древния, писания старинныя и свитки учения. ⬆️ Аще прямо — слово мудрое и совет от мужей разумеющих, что в деле кодописном искусны, получиши. ➡️ Аще направо — сам в писцы и летописцы внидеши, и в ремесло цифровое, где строки и знаки в дело живое обращаются, слово свое в память веков вложиши.
📝 Не медли же — нареки имя свое, и вниди в чин наш, и стань с нами в братстве, где код есть магия, а строки — заклятия живыя, числом и буквою слово едины суть.
🏰 Не тайно есть собрание сие, и не инициации в нем, но многое сокрыто от пришлых и ступалого, понеже не всякому открывается знание, но токмо ищущим и пребывающим в деле сем.