Доработка плагина

ЕСТЬ РЕШЕНИЕ ЗАКРЫТО

не могу получить данные из переменной $article

#1 21 марта 2014 в 15:35
Добрый день!

Помогите, уже мозг сломал. В общем, написал плагин что бы при обновлении профиля пользователя данные шли не только в таблицу cms_user_profiles но и в нужную мне cms_user_param. Непосредственно нужны данные из переменной $article я получил ($article['formsdata']), и все успешно заносится в таблицу, НО никак не могу получить id юзера, данные которого обновляются т.е. $article['id'] и $article['user_id'] пустые. Как выкрутиться?

основной код плагина

  1.  
  2. public function execute($event='', $article=array()){
  3.  
  4. parent::execute();
  5. $this->addToDb($article);
  6. return $article;
  7.  
  8. }
  9.  
  10. // ==================================================================== //
  11.  
  12. private function addToDb($article){
  13.  
  14.  
  15.  
  16. $sql = "INSERT INTO cms_user_param (`user_id`, `p_date`,`parameters`) VALUES ('{$article['user_id']}' , NOW() , '{$article['formsdata']}')";
  17. $this->inDB->query($sql);
  18.  
  19. return true;
  20.  
#2 21 марта 2014 в 16:31
Да, тут системная недоработка
откройте файл frontend.php компонента users и эту строчку
  1. $inDB->update('cms_user_profiles', cmsCore::callEvent('UPDATE_USER_PROFILES', $profiles), $usr['pid']);
замените например на
  1. $inDB->update('cms_user_profiles', cmsCore::callEvent('UPDATE_USER_PROFILES', array_merge(array('id'=>$usr['pid'], 'user_id'=>$usr['id']), $profiles)), $usr['pid']);
где id — это id записи в таблице cms_user_profiles, user_id — id пользователя
#3 21 марта 2014 в 16:58
Огромное спасибо! Все работает!
Используя этот сайт, вы соглашаетесь с тем, что мы используем файлы cookie.