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]);
}