вопрос по файлу который записывает количестово товара shopProductStocksLog.model.php Есть решение

есть такое выражение или функция

public static function setContext($type, $description = ' ', $params = array())
{
self::$description = $description;
self::$transaction_type = $type;
self::$params = $params;
}

подскажите как правильно добавить переменную в $description = ' ' в кавычки например $description = '$wa_contact_name изменил на $data['diff_count'] '

хочу сделать так

public static function setContext($type, $description = '$wa_contact_name изменил на $data['diff_count'] ', $params = array())
{
self::$description = $description;
self::$transaction_type = $type;
self::$params = $params;
}

6 ответов

  • 1
    Петр 26 мая 2016 16:35 #

    или у кого хватит силенок сделать плагин https://experts.webasyst.ru/12312/sdelat-plagin---...

  • 1
    Петр 27 мая 2016 12:16 #

    вот так правильно будет ?

    public static function setContext($type, $description = $wa_contact_name.' изменил на '.$data['diff_count'], $params = array())
    {
    self::$description = $description;
    self::$transaction_type = $type;
    self::$params = $params;
    }

    • +2
      Виктор Ерофеев Виктор Ерофеев 24 ноября 2016 14:03 #

      Оставь эту функцию в покое.

      Меняй следующую в этом модуле

      public function insert($data, $type = 0) {
              $data['datetime'] = date('Y-m-d H:i:s');
               if(self::$description==""){
          $data['description'] = wa()->getUser()->getName()." изменил на ".$data['diff_count']; //self::$description;
          }else{
           $data['description']=self::$description;
      
          }
              $data['type'] = self::$transaction_type;
              if (self::$params) {
                  foreach (self::$params as $key => $val) {
                      if (!array_key_exists($key, $data)) {
                          $data[$key] = $val;
                      }
                  }
              }
              return parent::insert($data, $type);
          }
      
      • +1
        Петр Петр 24 ноября 2016 14:45 #

        спасибо огромное но я уже сделал так

            public static function setContext($type, $description = '', $params = array())
            {
        		if (empty($description)){
        			$id = wa()->getUser()->getId();
        			$username = wa()->getUser()->getName();
        			$description = 'Обновлен пользователем: (<a href="/webasyst/contacts/#/contact/'.$id.'/">'.$username.'</a>)';
        		}
        		
                self::$description = $description;
                self::$transaction_type = $type;
                self::$params = $params;
            }

        только одна проблема когда пользователь редактирует товар в списках количество, то эта функция не применяется и в описание опять пустота, я так полагаю нужно редактировать еще какой-то ява скрипт

        обязательно попробую ваш вариант

      • +1
        Петр Петр 25 ноября 2016 11:11 #

        еще раз спасибо вам огромное этот вариант лучше, записывает даже если редактируешь товар из списков

  • 1
    Петр 25 ноября 2016 11:56 # Решение

    сделал так, теперь интереснее, все как положено пользователь списывает и добавляет товар на складе

        public function insert($data, $type = 0) {
            $data['datetime'] = date('Y-m-d H:i:s');
    		if(self::$description==''){
    			if ($data['diff_count']) {
    				if ($data['diff_count'] > 0){
    					$data['description'] = 'Пользователь: (<a href="/webasyst/contacts/#/contact/'.wa()->getUser()->getId().'/">'.wa()->getUser()->getName().'</a>) добавил '.$data['diff_count'];
    					}else{
    					$data['description'] = 'Пользователь: (<a href="/webasyst/contacts/#/contact/'.wa()->getUser()->getId().'/">'.wa()->getUser()->getName().'</a>) списал '.$data['diff_count'];
    					}
    				}else{
    				$data['description'] = '(<a href="/webasyst/contacts/#/contact/'.wa()->getUser()->getId().'/">'.wa()->getUser()->getName().'</a>) добавил склад';
    				}
    			}else{
    			$data['description']=self::$description;
    			}
            $data['type'] = self::$transaction_type;
            if (self::$params) {
                if (isset(self::$params['order_id'])) {
                    $data['order_id'] = self::$params['order_id'];
                }
            }
            return parent::insert($data, $type);
        }

Добавить ответ

Чтобы добавить комментарий, зарегистрируйтесь или войдите