Изменение группы после создания записи

#1 17 августа 2014 в 14:15
Есть ли какая-нибудь возможность измененить группу после создания записи, а то бывает по ошибке создашь пост в другую группу, а в при редактировании уже нельзя ее изменить
#2 17 августа 2014 в 15:23
Через систему не знаю, но можно попробовать через базу данных. Необходимо исправить только id требуемой вам группы.
#3 17 августа 2014 в 20:29
Да, неудобно, поправил у себя сразу как обнаружил, поделиться файлами не могу, т.к. затрагивает и шаблон, а он у меня далеко не дефолтный
#4 17 августа 2014 в 20:40
Может все таки авторы движка сделают возможность менять группы после опубликования поста, тогда станет намного проще.
#5 17 августа 2014 в 20:57
И в "Тип контента" — "группа по умолчанию" тож удобно, пусть будет по умолчанию, юзаю — нравится
#6 17 августа 2014 в 21:16
PIN, А где в "Тип контента" ставится "группа по умолчанию"? Я ее вижу только в полях и все.
#7 17 августа 2014 в 22:09
Demet, по умолчанию нигде, а как сделать описал здесь
#8 17 августа 2014 в 22:20
Вспомнил, что форма для ADD и EDIT одна. Попробую ответить на основной вопрос.

Идем в /system/controllers/content/actions/item_edit.php
Ищем комментарий "// Если включены личные папки — получаем их список"
перед ним вставляем:
  1. // Если этот контент можно создавать в группах (сообществах) то получаем список групп
  2. $groups_list = array();
  3.  
  4. if ($ctype['is_in_groups'] || $ctype['is_in_groups_only']){
  5.  
  6. $groups_model = cmsCore::getModel('groups');
  7. $groups = $groups_model->getUserGroups($user->id);
  8.  
  9. if (!$groups && $ctype['is_in_groups_only']){
  10. cmsUser::addSessionMessage(sprintf(LANG_CONTENT_IS_IN_GROUPS_ONLY, $ctype['labels']['many']), 'error');
  11. $this->redirectBack();
  12. }
  13.  
  14. $groups_list = ($ctype['is_in_groups_only']) ? array() : array('0'=>'');
  15. $groups_list = $groups_list + array_collection_to_list($groups, 'id', 'title');
  16.  
  17. }
Далее ищем, в том же файле:
  1. $is_submitted = $this->request->has('submit');
и после этой сроки вставляем:
  1. if ($this->request->has('group_id') && $groups_list && !$is_submitted){
  2. $item['parent_id'] = $this->request->get('group_id');
  3. }
  4.  
Удачи.
#9 10 апреля 2015 в 12:02
в общем если хотим поменять надо кое что ещё изменить в /system/controllers/content/frontend.php
  1. if ($action == 'add' && $groups_list && $groups_list != array('0'=>'')){
делаем
  1. if ($groups_list && $groups_list != array('0'=>'')){
и ещё добавить в /system/controllers/content/actions/item_edit.php (без этого не поменяется url и заголовок группы, поменяется только привязка)

найти
  1. $item['approved_by'] = null;
и ниже добавить
  1. $group = $groups_model->getGroup($item['parent_id']);
  2. $item['parent_type'] = 'group';
  3. $item['parent_title'] = $groups_list[$item['parent_id']];
  4. $item['parent_url'] = href_to_rel('groups', $item['parent_id'], array('content', $ctype_name));
  5. $item['is_parent_hidden'] = $group['is_closed'] ? true : null;
#10 24 октября 2015 в 02:27
Господа, ни у кого рабочего решения нету для смены группы при редактировании записи?
#11 31 октября 2015 в 18:31
Да, поднимаю тему, решения нет. Использовал данный код

в общем если хотим поменять надо кое что ещё изменить в /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;

rookee

При редактировании возможность изменить группу не появилась…
#12 11 января 2016 в 01:20
Уважаемые, давай-таки решим вопрос со сменой групп, ну не работают приведённые выше коды, и на 2.4.0 так же тестировал
Вы не можете отвечать в этой теме.
Войдите или зарегистрируйтесь, чтобы писать на форуме.
Используя этот сайт, вы соглашаетесь с тем, что мы используем файлы cookie.