Данный документ представляет собой полный справочник по глобальным переменным Cotonti, доступным разработчикам модулей, плагинов и шаблонов. Информация актуализирована для версии Cotonti Siena 0.9.26.
1. Cot Facade Class
Начиная с версии 0.9.15, глобальные переменные Cotonti доступны через facade-класс Cot. Это заменяет использование global.
Пример:
if (Cot::$cfg['plugin']['comments']['enabled']) {
// код при включённых комментариях
}
Доступные свойства через Cot::$...:
- $cache – объект системы кеширования.
- $cfg – массив конфигурации.
- $cot_extrafields – массив с описаниями экстраполей.
- $db – объект базы данных (CotDB).
- $db_x – префикс таблиц БД.
- $env – окружение текущего расширения.
- $L – массив языковых строк.
- $out – массив глобальных выходных переменных.
- $R – массив с ресурсами (HTML-шаблоны).
- $structure – дерево структуры сайта.
- $sys – системные переменные.
- $usr – текущий пользователь.
2. Текущий пользователь ($usr)
Массив $usr описывает текущего пользователя.
Основные ключи:
- $usr['id'] – ID пользователя (0 = гость).
- $usr['name'] – логин пользователя.
- $usr['maingrp'] – ID основной группы.
- $usr['ip'] – IP пользователя.
- $usr['lang'] – язык пользователя.
- $usr['theme'] – тема оформления.
- $usr['scheme'] – цветовая схема.
- $usr['timezone'] – смещение временной зоны.
- $usr['timezonename'] – название временной зоны.
- $usr['lastvisit'] – последняя активность.
- $usr['lastlog'] – последний вход.
- $usr['level'] – уровень основной группы.
Профиль пользователя:
Все поля таблицы users доступны в $usr['profile']. Стандартные:
$usr['profile']['user_birthdate']$usr['profile']['user_country']$usr['profile']['user_email']$usr['profile']['user_gender']$usr['profile']['user_hideemail']$usr['profile']['user_logcount']$usr['profile']['user_regdate']$usr['profile']['user_text']
Если добавлены экстраполя, то к ним доступ по префиксу user_. Пример:
$usr['profile']['user_first_name']
3. Настройки текущего пользователя
- $lang – язык пользователя.
- $theme – тема.
- $scheme – цветовая схема.
4. Конфигурация ($cfg)
- $cfg['option'] – системные настройки.
- $cfg['module']['option'] – настройки модулей.
- $cfg['plugin']['plugin_name']['option'] – настройки плагинов.
5. Окружение расширений ($env)
- $env['type'] –
module или plug. - $env['ext'] – код расширения (например
forums). - $env['location'] – текстовое описание местоположения (например,
Home page). - $env['status'] – HTTP-статус (например,
200 OK).
6. Системные переменные ($sys)
- $sys['now'] – текущий timestamp (UTC).
- $sys['site_id'] – уникальный идентификатор сайта.
- $sys['parser'] – текущий парсер.
- $sys['xk'] – CSRF-токен.
- $sys['noindex'] – запрет индексации.
Переменные URL:
- $sys['scheme'] – http/https.
- $sys['secure'] – true, если https.
- $sys['host'] – полный хост.
- $sys['domain'] – домен второго уровня.
- $sys['port'] – порт, если не стандартный.
- $sys['site_uri'] – относительный путь до корня.
- $sys['abs_url'] – абсолютный путь.
- $sys['canonical_url'] – канонический URL.
- $sys['uri_curr'] – текущий URI.
7. Глобальные выходные переменные ($out)
Используются в шаблонах для отображения.
Примеры:
- $out['uri'] – URI текущей страницы.
- $out['notices_array'] – массив уведомлений.
- $out['copyright'] – «Powered by Cotonti».
- $out['meta_contenttype'] – MIME тип.
- $out['logstatus'] – статус входа.
- $out['userlist'] – список онлайн пользователей.
- $out['subtitle'] – подзаголовок страницы.
- $out['meta_desc'] – meta description.
- $out['meta_keywords'] – meta keywords.
- $out['meta_lastmod'] – дата последнего изменения.
- $out['adminpanel'] – ссылка на админку.
- $out['loginout_url'] – URL для выхода.
- $out['profile'] – ссылка на профиль.
- $out['guest_register'] – ссылка на регистрацию.
8. Дерево структуры ($structure)
Пример:
$structure['page']['articles']
Доступные ключи:
- path – путь кодов.
- tpath – путь названий.
- rpath – «сырой» путь.
- id – ID категории.
- title – название.
- desc – описание.
- icon – иконка.
- locked – закрыта ли категория.
- count – количество элементов.
Экстраполя доступны как:
$structure['page']['articles']['specialty']
9. Работа с БД и кешем
- $db – объект
CotDB, используется для SQL-запросов. - $cache – объект
Cache, API кеша.
10. Другие глобальные коллекции
- $cot_groups – информация о группах.
- $cot_captcha – список функций для капчи.
- $cot_hash_funcs – массив доступных хэшей (
md5, sha1, sha256). - $cot_import_filters – массив фильтров
cot_import(). - $cot_mail_senders – список функций отправки почты.
- $cot_parsers – список парсеров.
- $cot_url_appendix – параметры, которые автоматически добавляются в URL.
- $cot_plugins_active – список активных плагинов.
- $cot_modules – список активных модулей.
Использование в шаблонах
Пример: вывести аватар текущего пользователя:
<img src="{PHP.usr.profile.user_avatar}" alt="avatar">
Пример: вывести тему пользователя:
{PHP.usr.theme}
3 минут чтения Sodium Carbonate