Тут показані розбіжності між вибраною ревізією та поточною версією сторінки.
Наступна ревізія | Попередня ревізія | ||
stigma [2022/09/24 14:39] 127.0.0.1 зовнішнє редагування |
stigma [2023/11/04 13:10] (поточний) nightfly [Типи рендерингу] |
||
---|---|---|---|
Рядок 2: | Рядок 2: | ||
- | В Ubilling начиная со стабильного релиза 1.2.0 появилась возможность использовать в ваших модулях | + | В Ubilling |
- | Проще всего, объяснить работу | + | Найпростіше пояснити роботу |
<code ini userbuyrouter.ini> | <code ini userbuyrouter.ini> | ||
[stigmasettings] | [stigmasettings] | ||
TYPE=radiolist | TYPE=radiolist | ||
+ | BASECLASS=dashtask | ||
ACTIVECLASS=todaysig | ACTIVECLASS=todaysig | ||
ANIMATION=1 | ANIMATION=1 | ||
+ | RENDERER=iconic | ||
[buy] | [buy] | ||
Рядок 25: | Рядок 27: | ||
- | ===== Коротко о формате конфига ===== | + | ===== Коротко |
- | Секция " | + | Секція " |
- | Дальше | + | Далі всі секції, які |
- | Кроме всего этого, реализована механика подгрузки | + | Крім усього цього, реалізовано механіку підвантаження |
- | ===== Практическое использование в коде ===== | + | ===== Практичне використання в коді ===== |
- | Возвращаясь к изначальной задаче, мы хотим ловить GET параметром логин какого-то пользователя | + | Повертаючись до початкової |
<code php> | <code php> | ||
Рядок 42: | Рядок 44: | ||
$userLogin = ubRouting:: | $userLogin = ubRouting:: | ||
| | ||
- | //создаем инстанс | + | //створюємо інстанс |
$userRouter = new Stigma(' | $userRouter = new Stigma(' | ||
- | //зовем обработчик фоновых коллбеков на случай если | + | //викличемо обробник фонових коллбеків на випадок, якщо |
$userRouter-> | $userRouter-> | ||
- | // | + | // |
show_window(__(' | show_window(__(' | ||
} | } | ||
Рядок 52: | Рядок 54: | ||
- | Ну и собственно сразу | + | Ну і власне одразу отримуємо результат |
{{: | {{: | ||
- | А может хотим панельку | + | А може хочемо меншу |
<code php> | <code php> | ||
Рядок 62: | Рядок 64: | ||
</ | </ | ||
- | типа такой? | + | типу такої? |
{{: | {{: | ||
- | А может хотим read-only панельку для администраторов без | + | А може хочемо read-only панельку для адміністраторів без |
<code php> | <code php> | ||
Рядок 82: | Рядок 84: | ||
</ | </ | ||
- | А если | + | А якщо |
<code php> | <code php> | ||
Рядок 88: | Рядок 90: | ||
</ | </ | ||
- | типа так | + | типу так |
{{:: | {{:: | ||
- | или вообще | + | чи взагалі |
<code php> | <code php> | ||
Рядок 100: | Рядок 102: | ||
</ | </ | ||
- | А еще мы можем | + | А ще ми можемо |
<code php> | <code php> | ||
$userRouter = new Stigma(' | $userRouter = new Stigma(' | ||
Рядок 108: | Рядок 110: | ||
</ | </ | ||
- | Короче все настолько прямолинейно | + | Коротше все настільки прямолінійно |
- | ===== О оптимизации быстродействия | + | ===== Про |
- | В примере | + | У прикладі |
<code php> | <code php> | ||
Рядок 119: | Рядок 121: | ||
</ | </ | ||
- | Что в свою очередь | + | Що зі свого боку |
<code php> | <code php> | ||
Рядок 143: | Рядок 145: | ||
- | но в нашем первом примере, логично было бы загружать из БД только состояние одного конкретного, | + | але |
<code php> | <code php> | ||
Рядок 149: | Рядок 151: | ||
</ | </ | ||
- | что приведет к загрузке данных о состояниях только для айтема $userLogin | + | що призведе |
+ | |||
+ | |||
+ | ===== Логування змін станів ===== | ||
+ | |||
+ | Базово, | ||
+ | |||
+ | * TASKMAN: | ||
+ | * SYSTEM: | ||
+ | * CUSTOM: | ||
+ | |||
+ | Для логування до довільної таблиці, | ||
+ | |||
+ | <code sql> | ||
+ | CREATE TABLE IF NOT EXISTS `somecustomlog` ( | ||
+ | `id` INT(11) NOT NULL AUTO_INCREMENT, | ||
+ | `date` datetime NOT NULL, | ||
+ | `admin` VARCHAR(64) DEFAULT NULL, | ||
+ | `scope` VARCHAR(64) DEFAULT NULL, | ||
+ | `itemid` VARCHAR(128) NOT NULL, | ||
+ | `action` VARCHAR(32) DEFAULT NULL, | ||
+ | `state` VARCHAR(255) DEFAULT NULL, | ||
+ | | ||
+ | KEY `scope` (`scope`), | ||
+ | KEY `itemid` (`itemid`) | ||
+ | ) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=1; | ||
+ | </ | ||
+ | |||
+ | |||
+ | Логування TASKMAN: ви не використовуватимете з ймовірністю 99%, з логуванням SYSTEM: | ||
+ | |||
+ | <code php> | ||
+ | | ||
+ | </ | ||
+ | |||
+ | в системному лозі з'являтимуться записи наступного вигляду | ||
+ | |||
+ | < | ||
+ | STIGMA [поточний_SCOPE] CHANGE [ідентифікатор_айтема] `[якийсь_стан]` ON `[ідентифікатор_стану]` | ||
+ | </ | ||
+ | |||
+ | Чим буде заповнюватись табличка somecustomlog при логуванні CUSTOM: | ||
+ | |||
+ | <code php> | ||
+ | | ||
+ | </ | ||
+ | |||
+ | теж доволі зрозуміло з іменування її полів. | ||
+ | |||
+ | ===== Типи рендерингу ===== | ||
+ | |||
+ | Починаючи з Ubilling 1.4.1 в секції конфігурації [stigmasettings] | ||
+ | |||
+ | Можливі значення опції на даний момент: | ||
+ | |||
+ | * iconic | ||
+ | * selector - просто стандартний селектор у вигляді " | ||
+ | * textlink - зображає всі наявні стани в скоупі у вигляді простих текстових посилань. | ||
+ | * imagelink - зображає всі наявні стани в скоупі у вигляді простих текстових посилань з маленькими іконками станів. | ||
+ |