S
Seditio.CMS
Developer Guide

Анатомия Seditio:
Пишем свой первый плагин

Зачем платить студии 100 000₽, если можно написать функционал самому за вечер? Разбираем систему хуков (Hooks) и тегов.

Главная проблема большинства CMS — сложность кастомизации. Чтобы добавить кнопку в админку WordPress, нужно изучить API. Чтобы изменить логику в Bitrix — сдать экзамен на сертификат. В Seditio все работает на простой логике PHP + TPL.

Как работает система расширений?

В Seditio используется система Хуков (Hooks). Это специальные "крючки" в коде ядра, к которым вы можете прицепить свой код, не изменяя системные файлы.

Примеры популярных хуков:

  • index.tags Выполняется на главной странице перед выводом шаблона.
  • users.register.add.done Срабатывает сразу после регистрации пользователя (можно отправить письмо или начислить бонус).
  • header.main Позволяет подключить свои CSS или JS файлы в шапке.

Пишем плагин "Курс валют" за 5 минут

Задача: Вывести текущий курс доллара в шапке сайта.

Шаг 1: Файл установки (setup)

Создаем файл plugins/cbr/cbr.setup.php. Здесь мы описываем плагин.

[BEGIN_SED]
Code=cbr
Name=CBR Rate
Description=Вывод курса валют ЦБ РФ
Version=1.0
Date=2026-01-20
Author=YourName
Copyright=GPL
Notes=
SQL=
Auth_guests=R
Lock_guests=W12345
Auth_members=R
Lock_members=W12345
[END_SED]

[BEGIN_SED_EXTPLUGIN]
Code=cbr
Part=main
File=cbr
Hooks=header.tags
Tags=header.tpl:{PLUGIN_CBR_USD}
Order=10
[END_SED_EXTPLUGIN]
                

Шаг 2: PHP код логики

Создаем файл plugins/cbr/cbr.php. Здесь мы получаем данные и создаем тег.

<?php
defined('SED_CODE') or die('Wrong URL');

// Простая логика (в реальности лучше кешировать)
$usd_rate = "98.50"; 

// Регистрируем тег для шаблона header.tpl
$t->assign("PLUGIN_CBR_USD", $usd_rate);
?>
                

Шаг 3: Вывод в шаблоне

Открываем skins/default/header.tpl и вставляем тег в нужное место:

<div class="currency">
    USD: {PLUGIN_CBR_USD} руб.
</div>
                

Всё! Заходим в админку, жмем "Установить" напротив плагина CBR, и курс появляется на сайте.

Почему это лучше, чем хардкод?

Многие новички пишут PHP-код прямо в файлах ядра (`system/core/...`). Это фатальная ошибка.

  • Обновления: При обновлении CMS ваши правки в ядре затрутся. Плагины останутся.
  • Отключение: Плагин можно отключить одним кликом, если он вызвал ошибку.
  • Переносимость: Вы можете скопировать папку плагина на другой сайт.

Структура базы данных

Если вашему плагину нужна своя таблица (например, для хранения заявок), Seditio позволяет создать её автоматически при установке. Просто пропишите SQL-запрос в setup-файле.

Для работы с БД используйте встроенный класс sed_sql_query(). Он защищает от инъекций.

Станьте Seditio-разработчиком

На форуме сотни заказов на доработку. Изучите API за выходные и начните зарабатывать.