Самый простой способ создать свою тему для Cotonti - взять уже существующую тему , переименовать её и начать её редактировать.
1) Темы хранятся в каталоге движка ../themes
../themes/admin - тема админ-панели самого движка ( тема панели управления движка ) Видна администраторам.
../themes/имя_каталога = имя_темы
т.е. имя каталога и есть имя темы которую должен видеть движок в списке доступных тем для применения к вашему сайту.
для наглядности приведу конкретный пример имени темы :../themes/Day_Light
Day_Light - имя темы которую мы хотим создать.
1.1) Имя темы не должно содержать пробелы !!!
1.2) Заглавные буквы в имени имеют значение !!!
1.3) Каталог содержащий тему должен обязательно содержать следующие файлы и подкаталоги
Day_Light.en.lang.php - файл с переменными для локализации английского языка
Day_Light.ru.lang.php - файл с переменными для локализации русского языка
и так для каждого языка который планируется поддерживать на сайте.
пример содержимого файла Day_Light.en.lang.php
<?php /** * User English Language File for Day Light Skin * * @package Cotonti * @copyright (c) Имя автора * @license */ defined('COT_CODE') or die('Wrong URL.'); /** * Put your theme-specific language strings here */ $L['Contact'] = 'Contact'; $L['Follow_Twitter'] = 'Follow us on Twitter!'; $L['Sitemap'] = 'Sitemap';
пример содержимого файла Day_Light.ru.lang.php
<?php /** * User English Language File for Day Light * * @package Cotonti * @copyright (c) имя автора * @license какая лицензия и где получить */ defined('COT_CODE') or die('Wrong URL.'); /** * Put your theme-specific language strings here */ $L['Contact'] = 'Контакт'; $L['Follow_Twitter'] = 'Мы в Твиттере!'; $L['Sitemap'] = 'Карта сайта';
Day_Light.php - главный файл описания темы
пример содержимого файла Day_Light.php
<?php /* ==================== [BEGIN_COT_THEME] Name=Day_Light Version=1.0.0 Schemes=default:Default [END_COT_THEME] ==================== */ /** * Cotonti Model Theme * * @package Cotonti * @copyright (c) имя автора * @license */ defined('COT_CODE') or die('Wrong URL');
Разберём по частям содержимое Day_Light.php
[BEGIN_COT_THEME] - Тег начала описания темы
Name=Day_Light - имя темы отображаемое в меню для выбора темы ( должно совпадать с каталогом в папке ../themes/
Version=1.0.0 - версия темы. Для отслеживания обновлений и версий
Schemes=default:Default
[END_COT_THEME] - Тег окончания описания темы
Day_Light.rc.php - файл с подключаемыми CSS и JS для темы
в нём указывается путь и имена всех CSS и JS которые использует тема.
пример Day_Light.rc.php :
<?php /** * JavaScript and CSS loader for Day Light theme * * @package Cotonti * @copyright (c) имя автора * @license */ defined('COT_CODE') or die('Wrong URL.'); Resources::addFile($cfg['themes_dir'].'/'.$usr['theme'].'/css/main.css'); Resources::addFile($cfg['themes_dir'].'/'.$usr['theme'].'/css/flex_blocks.css'); Resources::addFile($cfg['themes_dir'].'/'.$usr['theme'].'/css/buttons.css'); Resources::addFile($cfg['themes_dir'].'/'.$usr['theme'].'/css/div.css'); Resources::addFile($cfg['themes_dir'].'/'.$usr['theme'].'/css/navigation.css'); Resources::addFile($cfg['themes_dir'].'/'.$usr['theme'].'/css/tables.css'); Resources::addFile($cfg['themes_dir'].'/'.$usr['theme'].'/js/js.js');
в каталоге ../themes/css хранятся CSS которые использует тема
в каталоге ../themes/img хранятся изображения которые использует тема
в каталоге ../themes/inc хранятся дополнительные *.tpl которые использует тема
в каталоге ../themes/js хранятся JavaScrypt *.js которые использует тема
в каталоге ../themes/modules хранятся каталоги с именем модулей для которых ваша тема подменяет внешний вид = использует свои *.tpl файлы внешнего вида
например : ../themes/modules/forums/forums.editpost.tpl - файл от модуля forums движка с именем forums.editpost.tpl котрый будет отображаться вместо штатного файла с именем forums.editpost.tpl хранящегося в каталоге от модуля forum по адресу .../modules/forums/tpl/forums.editpost.tpl
точно так же для плагинов
в каталоге ../themes/plugins/имя_плагина/имя_файла.tpl хранятся *.tpl которые будут отображаться вместо оригинальных *.tpl находящихся в каталогах плагинов ../plugins/имя_плагина/tpl/имя.tpl
т.е. все файлы которые тема замещает своими вы переопределяете в своей теме
для плагинов : ../themes/plugins/имя_плагина/имя_файла.tpl или
для модулей : ../themes/modules/имя_модуля/имя_файла.tpl.
Файлы которые вы не создаёте в каталогах темы берутся и отображаются по умолчанию из модулей и плагинов по их месту нахождения
для плагинов ../plugins/имя_плагина/tpl/имя.tpl
для модулей ../modules/имя_модуля/tpl/имя.tpl .