Хук после обновления пользователя

 
Посетитель
small user social cms
Медаль
Сообщений: 519
Как мне выполнить какой-нибудь хук после обновления данных?
Например в своем компоненте?
Пользователь обновил данные и хук выполнился.
Посмотрел по cmsEventsManager::hook в юзерах там про обновление нет ничего... для удаления юзеров средств выполнения хуков полно.. а для обновления нет ничего... как быть?
Посетитель
small user social cms
МедальАвторитет форумаКубок зрительских симпатийПочетный донор проекта
Сообщений: 3282
Код PHP:
  1. $is_allowed = cmsEventsManager::hookAll('user_profile_update', $profile, true);
\system\controllers\users\actions\profile_edit.php 87-я строка
Реклама
cms
Посетитель
small user social cms
Медаль
Сообщений: 519
Спасибо! Опробую!
Посетитель
small user social cms
Медаль
Сообщений: 519
Код PHP:
  1.  
  2. <?php
  3.  
  4. class onUsersUserProfileUpdate extends cmsAction {
  5.  
  6. public function run($item){
  7.  
  8. // Группа в которую переносим
  9. $group_to_id = 4;
  10.  
  11. // Если автор еще не в нужной группе
  12. if (in_array($group_to_id, $item['groups']) === false ){
  13.  
  14. // Добавляем нужную группу
  15. $user['groups'][] = $group_to_id;
  16.  
  17. // Удаляем повторения в массиве
  18. $user['groups'] = array_unique($user['groups']);
  19.  
  20. // Обновляем группы в профиле автора
  21. $this->model->updateUser($item['id'], array(
  22. 'groups' => $user['groups'],
  23. 'date_group' => null
  24. ));
  25.  
  26. }
  27. return $item;
  28.  
  29. }
  30. }
  31.  
Не работает, точнее работает с ошибками...

Если return $item; выдает ошибку

Notice: Array to string conversion in templates/default/assets/ui/form_fields.tpl.php on line 93
Array

Но работу выполняет..
А если return; то ничего не происходит.

Что я делаю не так?
Редактировалось: 3 раз (Последний: 10 октября 2019 в 13:37)
Посетитель
small user social cms
Медаль
Сообщений: 519
И что, никто не может помочь в этом вопросе???
Что делать-то? Как мне при заполнении одного из обязательных полей перевести пользователя в другую группу?
Может есть решение другое, например стандартными методами???
Кстати неплохо бы было в "Профили пользователей" где переводы, типа зависимые от времени добавить фигню какую-нибудь... по заполнению каких-то полей или выполнению каких=то действий... Время это просто время, а вот стимул это выполнение действия.
Посетитель
small user social cms
МедальАвторитет форумаКубок зрительских симпатий
Сообщений: 3935
Рачей:
Что делать-то?
Смотреть почему в строке 93 у файла templates/default/assets/ui/form_fields.tpl.php приходит массив, а не строка
Посетитель
small user social cms
Медаль
Сообщений: 519
потому что там приходит массив картинок у аватарки. по идее должна приходить одна которая показывается..

Код PHP:
  1.  
  2. (
  3. [normal] => 000/u2/000/33aee11d.jpg
  4. [small] => 000/u2/000/3c70a9cb.jpg
  5. [micro] => 000/u2/000/5f9e66a8.jpg
  6. )
  7.  
А где копать почему вместо одной массив приходит я хз.. возможно это надо разработчиков просить найти где это?
Посетитель
small user social cms
МедальАвторитет форумаКубок зрительских симпатий
Сообщений: 3935
Рачей:
А где копать
Сначала надо определить, в каком хуке идет изменение данных. Для это надо по очереди отключать события в Админка - Компоненты - Управление событиями и смотреть на проявление ошибки. И начать надо со своих или измененных событий. После этого уже можно будет более детально разбираться в ситуации.
Посетитель
small user social cms
Медаль
Сообщений: 519
Loadырь:

Сначала надо определить, в каком хуке идет изменение данных. Для это надо по очереди отключать события в Админка - Компоненты - Управление событиями и смотреть на проявление ошибки. И начать надо со своих или измененных событий. После этого уже можно будет более детально разбираться в ситуации.
все стандартно, за исключением того что я написал выше. кроме этого хука ничего нет. значит надо искать в системных событиях?
Посетитель
small user social cms
Медаль
Сообщений: 519
В итоге у меня нифига не выходит. Я не понимаю в чем проблема.. Никто не может помочь. Звиздец какой-то... Моих знаний не хвататет что бы разобраться в этой канители.
И что вот теперь делать?
Посетитель
small user social cms
МедальАвторитет форумаКубок зрительских симпатийПочетный донор проекта
Сообщений: 3282
Рачей:
В итоге у меня нифига не выходит. Я не понимаю в чем проблема.. Никто не может помочь
Так Вы же скрываете, что хотите сделать.
Скажите открытым текстом, что должно произойти при обновлении пользователя и Вам сразу помогут.
Я например помогу.
Посетитель
small user social cms
Медаль
Сообщений: 519
Ris:
Так Вы же скрываете, что хотите сделать.
Как же скрываю-то? Я написал что после Заполнения определенного поля профиля его необходимо проверить это поле и при удачном ответе пользователь перейдёт в другую группу.

Изначально все пользователи в группе Новые. Если он добавит в поле информацию и она будет правильной, то его переведёт в группу Пользователи. Хук выше по идее должен это сделать.. Но что-то идёт не так.
Посетитель
small user social cms
МедальАвторитет форумаКубок зрительских симпатийПочетный донор проекта
Сообщений: 3282
Рачей,
Из вашего хука непонятно, при каком условии обновляется группа юзера.
Но всё равно, попробуйте так:
Спойлер
Посетитель
small user social cms
Медаль
Сообщений: 519
Да извиняюсь, переносится если заполнено поле "basecode" например! Ну или любое другое
Посетитель
small user social cms
Медаль
Сообщений: 519
Как обратить внимание разработчиков на эту проблему неработоспособности хука после обновления пользователя????
Вставьте туда что угодно и результата не будет.
В начало страницы
Предыдущая темаСледующая тема Перейти на форум:
Быстрый ответ
Чтобы писать на форуме, зарегистрируйтесь или авторизуйтесь.