true]); if (is_null($icon)) { $sett = Admin::pageSettings(); if (!is_null($sett['icon'])) { $icon = $sett['icon']; } else { $icon = !(preg_match('/.*(add|edit|form).*/i', Route::controllerMethod()) > 0); } } $data = [ 'mode' => 'start', 'title' => $title, 'icon' => $icon, 'attr' => $attr, 'link' => $link, 'fordev' => $fordev, ]; foreach ($data as $k => $v) { unset($opts[$k]); } $data['opts'] = $opts; return View::template('block', $data); } /** * Блок: закрытие * @return string */ public static function blockStop(): string { $data = [ 'mode' => 'stop', ]; return View::template('block', $data); } /** * Форма настроек * @param Module $controller * @param string|null $template * @param array $opts * @return \bff\tpl\admin\Form | \bff\tpl\admin\settings\Form */ public static function settingsForm(Module $controller, ?string $template = null, array $opts = []) { $opts['_create'] = function ($p) { return new SettingsForm($p['id'], $p['controller'], $p['action']); }; return Admin::form($controller, $template, $opts); } }