BackendController::actionModulesettings PHP Method

actionModulesettings() public method

Экшен отображения настроек модуля:
public actionModulesettings ( string $module ) : void
$module string - id-модуля
return void
    public function actionModulesettings($module)
    {
        if (!($module = Yii::app()->getModule($module))) {
            throw new CHttpException(404, Yii::t('YupeModule.yupe', 'Setting page for this module is not available!'));
        }
        $editableParams = $module->getEditableParams();
        $paramGroups = $module->getEditableParamsGroups();
        $groups = [];
        foreach ($paramGroups as $name => $group) {
            $title = isset($group['label']) ? $group['label'] : $name;
            $groups[$title] = [];
            if (isset($group['items'])) {
                foreach ((array) $group['items'] as $item) {
                    /*удаляем элементы, которые были в группах*/
                    if (($key = array_search($item, $editableParams)) !== false) {
                        unset($editableParams[$key]);
                    } else {
                        unset($editableParams['item']);
                    }
                    unset($editableParams[$item]);
                    $groups[$title][] = $this->getModuleParamRow($module, $item);
                }
            }
        }
        /* если остались параметры без групп, то засунем их в одну группу */
        if ($editableParams) {
            $title = Yii::t('YupeModule.yupe', 'Other');
            $groups[$title] = [];
            foreach ((array) $editableParams as $key => $params) {
                /* из-за формата настроек параметров название атрибута будет или ключом, или значением */
                $groups[$title][] = $this->getModuleParamRow($module, is_string($key) ? $key : $params);
            }
        }
        $this->render('modulesettings', ['module' => $module, 'groups' => $groups]);
    }