Начисления и выплаты, возможно было бы логичнее разместить в одной таблице, а суммы даже в одной колоноке (просто с разным знаком). Это позволит, во-первых, делать меньше запросов к БД, а во-второых, некоторые расчеты осуществлять силами SQL и самой БД.
По шагу 6:
Да, отдельные шаблоны как правило удобнее для поддержки. Тем не менее, особенно если плагин не большой, можно иметь один шаблон с несколькими блоками:
где в переменной `$mode` у нас находится название текущей страницы (режима в котором работает плагин). См. об этом подробнее в комментарии к шагу 8.
Если мы работает с блоком `MAIN`, его название можно опускать. Кроме этого вызовы функций шаблонизатора можно увязывать в цепочку:
XML/XHTML
1
$plugin_body = $t_salas->parse()->text();
(не забываем сделать парсинг нужного блока перед выводом)
По шаблонам, логика такая (если код шаблона вызывается по хуку `standalone`) — если определен шаблон `имя_плагина.php` или `plugin.имя_плагина.php`, то он будет загружен автоматически в переменную `$t` (тогда можно использовать вариант с несколькими блоками, см. выше. Блок `MAIN` будет обработан автоматически). Иначе грузится стандартный шаблон `plugin.php` (обычно находится в папке с темой оформления).
Если хочется использовать свой (например отдельный для кождого раздела), то есть 2 варианта:
а). загрузить шаблон в отдельную переменную (как описано у тебя) и потом делать вывод в переменную `$plugin_body`.
б). грузить свой шаблон «напрямую», переопределяя переменную `$t`. (В таком случае блок `MAIN` будет обработан автоматически).
Кеширование шаблонов зависит от разных параметров. И в большинствеслучаев страницы обновляются при изменении шаблона.
Если все же кеширование надо отключить — не надо отключать всю систему кеширования `$cfg['cache'] `. Достаточно сделать это только для $cfg['xtpl_cache']. Более того для тестовых целей можно использовать параметры инициализации шаблонизатора, не отключая кеширование на всем сайте:
PHP
1
2
3
if($cfg['debug_mode']) XTemplate::init(array('cache'=> false )); // временно отключаем
$plug_tpl= newXTemplate(…); // инициализируем наш шаблон
XTemplate::init(array( 'cache'=> $cfg['xtpl_cache'] )); // возвращаем значения заданные для сайта
По шагу 8:
переменная «s» в некоторых модулях используется системой для переключения режима сортировки выводимой информации. Поэтому, чтобы не было путаницы лучше изменить на что-то другое. И лучще если это будет более осмысленное название, например «mode».
Строку 4 с проверкой на не пустое значение для большей безопасности лучше дополнить проверкой на допустимые значения — `&& in_array('addsotr', 'outsotr', …)`
В фрейморке уже есть некоторый код облегчающий загрузку частей кода в зависимости от выбранного режима. Если файлы `salazarp.addsotr.php` и прочие `salazarp.*.php` расположить в папке `/inc` своего расшрирения, то вызов нужной (строка 6) сведется к следующему: