Идем в /system/controllers/content/actions/item_edit.php
Ищем комментарий "// Если включены личные папки — получаем их список"
перед ним вставляем:
// Если этот контент можно создавать в группах (сообществах) то получаем список групп if ($ctype['is_in_groups'] || $ctype['is_in_groups_only']){ $groups_model = cmsCore::getModel('groups'); $groups = $groups_model->getUserGroups($user->id); if (!$groups && $ctype['is_in_groups_only']){ cmsUser::addSessionMessage(sprintf(LANG_CONTENT_IS_IN_GROUPS_ONLY, $ctype['labels']['many']), 'error'); $this->redirectBack(); } $groups_list = $groups_list + array_collection_to_list($groups, 'id', 'title'); }
$is_submitted = $this->request->has('submit');
if ($this->request->has('group_id') && $groups_list && !$is_submitted){ $item['parent_id'] = $this->request->get('group_id'); }
найти
$item['approved_by'] = null;
$group = $groups_model->getGroup($item['parent_id']); $item['parent_type'] = 'group'; $item['parent_title'] = $groups_list[$item['parent_id']]; $item['is_parent_hidden'] = $group['is_closed'] ? true : null;
в общем если хотим поменять надо кое что ещё изменить в /system/controllers/content/frontend.php
Код PHP:
if ($action == 'add' && $groups_list && $groups_list != array('0'=>'')){
делаем
Код PHP:
if ($groups_list && $groups_list != array('0'=>'')){
и ещё добавить в /system/controllers/content/actions/item_edit.php (без этого не поменяется url и заголовок группы, поменяется только привязка)
найти
Код PHP:
$item['approved_by'] = null;
и ниже добавить
Код PHP:
$group = $groups_model->getGroup($item['parent_id']);
$item['parent_type'] = 'group';
$item['parent_title'] = $groups_list[$item['parent_id']];
$item['parent_url'] = href_to_rel('groups', $item['parent_id'], array('content', $ctype_name));
$item['is_parent_hidden'] = $group['is_closed']? true: null;
При редактировании возможность изменить группу не появилась…