/** * @param WidgetsCrud $nextModel * @return string */ public function generateWidgetActiveField($nextModel) { $controllerName = explode(' ', BaseInflector::camel2words(str_replace('Controller', '', StringHelper::basename($this->controllerClass)))); $controller = ''; $module = $this->moduleID ? "/{$this->moduleID}" : ''; foreach ($controllerName as $item) { $controller .= (strlen($controller) ? '-' : '') . strtolower($item); } $nextModel->pathName = $nextModel->pathName ?: '_widgets'; return str_replace(['{controller}', '{module}'], [$controller, $module], $this->render("views/{$nextModel->pathName}/_{$nextModel->widgetType}Input.php")); }