Event::handler('Layer.isshow', function (&$layer) { //tpl depricated if (is_string(@$layer['tpl']) && @$layer['tplcheck']) { //Мы не можем делать проверку пока другой плагин не подменит tpl $res = Load::loadTEXT($layer['tpl']); if (!$res) { return false; } } }, 'tplcheck:is'); Event::handler('Layer.isshow', function (&$layer) { //tpl depricated if (Layer::pop($layer, 'onlyclient')) { return; } return Tpl::jsoncheck($layer); }, 'jsoncheck:is'); Run::runAddKeys('childs'); Run::runAddList('child'); Event::handler('Layer.oninit', function () { $root = Crumb::getInstance(); if (!$root->is) { throw new \Exception('Crumb нужно инициализировать до запуска контроллера'); } Sequence::set(Template::$scope, Sequence::right('infra.Crumb.query'), $root->query); Sequence::set(Template::$scope, Sequence::right('infra.Crumb.params'), Crumb::$params); Sequence::set(Template::$scope, Sequence::right('infra.Crumb.get'), Crumb::$get); $cl = function ($mix = null) { return ext\Crumb::getInstance($mix); }; Sequence::set(Template::$scope, Sequence::right('infra.Crumb.getInstance'), $cl);
public static function jsoncheck(&$layer) { if (@$layer['data'] && !is_null(@$layer['jsoncheck'])) { $data =& Tpl::getData($layer); if (@$layer['jsoncheck']) { //Если true значит да только если данные есть if (!$data || !is_null($data['result']) && !$data['result']) { return false; } } elseif (@(!$layer['jsoncheck'])) { //Если false Значит да только если данных нет if (!$data || !$data['result']) { return; } else { return false; } } } }