Pages, Articles & News
Tools & Plugins
Example / Placeholder Title


Description as an example placeholder. Sample text content for further customization of the "Index36" template.

You are free to edit and customize the template however you like. If you don’t have time or enough knowledge — you can always order template adaptation by contacting me via GitHub or private messages on the digital goods marketplace.

Шаблон сайта и тема сайта: Разъяснение терминов и правильное использование в контексте Cotonti Siena

0 Published Filed under: Cotonti Siena CMF Темы и шаблоны Cotonti CMS. Документация.
Шаблон сайта и тема сайта: Разъяснение терминов и правильное использование в контексте Cotonti Siena

В Cotonti Siena (версия 0.9.26 и близкие релизы) термины тема и шаблон имеют чёткое, но не всегда интуитивно очевидное для новичков разграничение. Это фактическое руководство на основе структуры и терминологии системы (документация cotonti.com, исходный код, стандартные дистрибутивы).

1. Основные понятия и правильная терминология

  • Тема (theme) Полный комплект оформления сайта. Физически — это папка внутри директории /themes/. Примеры стандартных тем в дистрибутиве: nemesis, paradise, havens и др. Тема включает:

    • все .tpl файлы (шаблоны),
    • CSS-файлы,
    • изображения,
    • JavaScript,
    • иногда языковые файлы и ресурсы для конкретного стиля.

    Тема выбирается в админке: Configuration → Main → Themes → выпадающий список всех папок из /themes/.

  • Шаблон (template) Конкретный файл с расширением .tpl, написанный на языке CoTemplate (собственный движок Cotonti, основанный на идеях XTemplate). Шаблоны лежат внутри папки темы, обычно в подкаталогах или прямо в корне темы. Примеры файлов-шаблонов:

    • index.tpl — главная страница
    • page.tpl — обычная страница
    • users.profile.tpl — профиль пользователя
    • forums.posts.tpl — сообщения форума
    • admin/admin.tpl — основной шаблон админки

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

Правильное употребление в профессиональной среде Cotonti:

  • «Установи тему Nemesis»
  • «Отредактируй шаблон page.tpl в теме paradise»
  • «Создай свою тему на основе стандартной»
  • «В шаблоне header.tpl добавь тег {HEADER_META}»

Неправильно / вводит в заблуждение:

  • «Установи шаблон Nemesis» → неверно, Nemesis — это тема
  • «Тема page.tpl» → неверно, page.tpl — это шаблон внутри темы

2. Аналогии для ясного понимания

АналогияТема (theme)Шаблон (template / .tpl)
ОдеждаПолный костюм (пиджак + брюки + рубашка + галстук)Только пиджак
АвтомобильМарка и модель (BMW X5 M Sport)Конкретная деталь (передний бампер)
КухняПолный гарнитур + столешница + техникаТолько фасад одной дверцы шкафа
КнигаИздание книги (оформление, шрифт, обложка)Одна глава или страница
WordPress (для сравнения)Theme (Twenty Twenty-Four)Template file (single.php, page.php)
 
 

В Cotonti тема ≈ WordPress theme, а шаблон ≈ template file внутри темы.

3. Структура директорий (фактическая, по дистрибутиву 0.9.x)

text


/themes/
  ├── nemesis/                  ← это тема
  │   ├── css/
  │   │   └── style.css
  │   ├── images/
  │   ├── js/
  │   ├── header.tpl            ← шаблон
  │   ├── footer.tpl            ← шаблон
  │   ├── index.tpl
  │   ├── page.tpl
  │   ├── users.profile.tpl
  │   └── ...
  ├── paradise/
  │   └── ... (аналогично)
  └── your_custom_theme/        ← ваша новая тема — просто копируете и переименовываете папку
 
 

Админ-панель имеет отдельные темы, обычно в /themes/admin/ или /themes/youradmin/.

4. Как Cotonti собирает страницу (процесс рендеринга)

  1. Система определяет текущую тему из конфига $cfg['defaulttheme'] или пользовательского выбора.
  2. Определяет, какой шаблон нужен для текущего действия (например, page → page.tpl, users → users.details.tpl).
  3. Загружает .tpl файл из папки текущей темы.
  4. CoTemplate парсит файл:
    • заменяет теги {PAGE_TITLE} → реальное значение
    • обрабатывает блоки <!-- BEGIN: MAIN --> тело шаблона <!-- END: MAIN -->
      в нем может быть 
      <!-- IF {INDEX_NEWS} -->
          {INDEX_NEWS}
      <!-- ENDIF -->
      а внутри него может лежать 
      <!-- BEGIN: SOME_BLOCK --> блок списка новостей <!-- END: SOME_BLOCK -->
    • выполняет условия <!-- IF {SOME_TAG} -->
    • вызывает функции {PHP|cot_plugin_active('recentitems')}
  5. Вставляет результат в основной layout ( в header.tpl / index.tpl / footer.tpl).

5. Почему важно различать термины при разработке и поддержке

  • При общении в сообществе / на форуме cotonti.com: «Сломался вывод в шаблоне forums.tpl темы havens» — все сразу понимают проблему.
  • При создании плагинов / модулей: Расширение должно поддерживать тему, а не конкретный шаблон. Правильно: «Плагин добавляет теги в шаблоны темы». Неправильно: «Плагин добавляет теги в тему».
  • При продаже/распространении оформления: Продаётся тема (папка целиком). Никогда не пишут «продаю шаблон Nemesis» — это вводит в заблуждение.

6. Рекомендации по созданию собственной темы (чек-лист)

  1. Скопируйте самую простую стандартную тему (чаще всего nemesis).
  2. Переименуйте папку → mycompany2026.
  3. Отредактируйте файлы .tpl → меняйте структуру, добавляйте свои классы.
  4. Положите свои стили в css/style.css (или отдельные файлы).
  5. В админке выберите новую тему → Configuration → Main → Themes.
  6. Проверьте все основные страницы: index, page, list, users, forums, pfs, admin.
  7. Используйте debug-режим CoTemplate ($cfg['debugmode'] = true) для просмотра доступных тегов и блоков прямо на странице.

Итоговая таблица правильной терминологии Cotonti Siena

Что вы имеете в видуКак правильно говоритьПример фразы
Папка с оформлениемТемаАктивировал тему paradise
Конкретный .tpl файлШаблонИсправил ошибку в шаблоне users.profile.tpl
Всё оформление целикомТемаРазработал новую тему под корпоративный стиль
Один .tpl файлШаблонДобавил блок в шаблон header.tpl
Движок обработки .tplCoTemplateCoTemplate поддерживает вложенные функции
 
 

Соблюдая эту терминологию, вы избегаете 90% недопонимания при работе с разработчиками, темоделами и в сообществе Cotonti.

 

No comments yet
Only registered users can post new comments
Account