Поменять владельца контента

#1 25 июля 2016 в 10:34
Здравствуйте ребята. Скажите, что бы поменять владельца контента достаточна в _con_page на пример поменять user_id? joxi.ru/l2Z6Q3xh8qxbp2
Или надо еще где то что то сделать? scratch
#2 25 июля 2016 в 14:04
да scratchвроде этого достаточно!
#3 25 июля 2016 в 20:01

что бы поменять владельца контента достаточна

globator
Достаточно, только нужно указать id пользователя который присутствует в таблице БД cms_users. Иначе запись исчезнет из фронта и админки, останется только в БД.
Можно, конечно, заморочиться и в саму форму редактирования записи вывести список пользователей из нужных групп, для изменения авторства записи.
#4 25 июля 2016 в 20:22
Loadырь,
Даже заморачиваться не нужно. Просто делаем новое поле цифровое, после создания в базе меняем системное имя на user_id и вуаля, можно менять автора прямо из панели редактирования! laugh
#5 25 июля 2016 в 20:52

Даже заморачиваться не нужно.

Ris
Лентяй )))
#6 26 июля 2016 в 00:13

Лентяй )))

Loadырь
Чем не Лодырь, А? laugh
#7 26 июля 2016 в 07:59

Чем не Лодырь, А?

Олег Васильевич я
До "лодыря" ему ещё "работать" и "работать" надо. Сам с этого начинал laugh
#8 27 июля 2016 в 12:33

Даже заморачиваться не нужно.

Ris
"Лентяй" в хорошем смысле — это двигатель прогресса smile
А нельзя ли для бестолковых в виде готового решения? Компонентик какой. А то мы тут насоздаем… zst
#9 27 июля 2016 в 20:20

А нельзя ли для бестолковых в виде готового решения? Компонентик какой. А то мы тут насоздаем...

vikont
На самом деле Loadырь прав и дело предлагает.
Чтобы при замене автора был выбор только из реально существующих пользователей во избежании потери контента в недрах майэкуэля.
Не все же, как я, помнят наизусть user_id пользователей сайта.

А так в принципе всё просто и описано в моем посте выше.
Создаем в нужном типе контента новое поле с произвольным системным именем и типом число:

Все галки про показ снять. Зачем такое людям показывать? Доступ — только для админов.
Потом в базе меняем системное имя на user_id

Всё. Теперь при редактировании туда можно вбить номер пользователя, который достоин быть автором.

Теперь у статьи другой, хороший автор:

А вообще, не делайте так. Извращение это неправославное…
#10 2 февраля 2017 в 17:47


Все галки про показ снять. Зачем такое людям показывать? Доступ — только для админов. Потом в базе меняем системное имя на user_id

Ris

А куда в БД зайти чтобы сменить системное имя?
#11 2 февраля 2017 в 19:18
@keks, Зайти в phpmyadmin
потом ищем таблицу cms_con_СИСТЕМНОЕ ИМЯ ТИПА КОНТЕНТА_fields
там видим все поля
слева жмем на карандашик на нужном поле и меняем значения name

#12 3 февраля 2017 в 15:13
Создайте хук content_{content}_form

  1.  
  2. if (cmsUser::isAdmin()) {
  3.  
  4. $form->addField(4,
  5.  
  6. new fieldList('user_id', array(
  7. 'title' => 'Автор',
  8. 'default' => 1,
  9. 'rules' => array(
  10. array('required'),
  11. ),
  12. 'generator' => function($item){
  13.  
  14. $authors = cmsCore::getModel('users')->getUsers();
  15.  
  16. if($authors) {
  17.  
  18. foreach ($authors as $author) {
  19. $items[$author['id']] = $author['nickname'];
  20. }
  21.  
  22. return array('' => '') + $items;
  23.  
  24. }
  25.  
  26. }
  27. ))
  28.  
  29. );
  30. }
  31.  
Появится поле с выпадающим списком всех пользователей, которые есть на сайте, выбираете и радуетесь!
#13 3 февраля 2017 в 16:14
Спасибо, получилось. Кстати а почему сразу нельзя назвать новое поле user_id при создании, а нужно только переименовывать?
#14 3 февраля 2017 в 16:14
Вадим Нарочный,
Вот это правильный метод! v

Кстати а почему сразу нельзя назвать новое поле user_id при создании, а нужно только переименовывать?

@keks
А Вы попробуйте и узнаете. joke
#15 3 февраля 2017 в 17:01

Создайте хук content_{content}_form

Вадим Нарочный
Можно для бестолковых? Где создать и с каким именем файл?
Вы не можете отвечать в этой теме.
Войдите или зарегистрируйтесь, чтобы писать на форуме.
Используя этот сайт, вы соглашаетесь с тем, что мы используем файлы cookie.