254], [['PARSER_FIELD_SIGN'], 'string', 'max' => 1], // [['price_date_update'], 'string', 'max' => 15], [['code'], 'unique'], [['name'], 'unique'] ]; } /** * @inheritdoc */ public function attributeLabels() { return [ 'id' =>'ID', 'code' => 'Код', 'name' => 'Название', 'name_price' => 'Прайс лист', 'currency_id' => 'Валюта', 'delivery' => 'Ожидаемый срок, дн.', 'email' => 'E-mail', 'info' => 'Комментарий к поставщику', 'active' => 'Активность', 'PARSER_IS_ACTIVE' => 'Активность авто колонок', 'PARSER_COLUMN_COUNT' => 'Количество колонок (только загрузка с почты)', 'PARSER_FIELD_BRAND' => '№ колонки с брендом', 'PARSER_FIELD_ARTICLE' => '№ колонки с артикулом', 'PARSER_FIELD_ARTICLE_PREFIX' => 'Колонка с префиксом?', 'PARSER_FIELD_PRICE' => '№ колонки с ценой', 'PARSER_FIELD_DESCR' => '№ колонки с наименованием', 'PARSER_FIELD_BOX' => '№ колонки с количеством', 'PARSER_FIELD_ADD_BOX' => '№ колонки с удалённым наличием', 'PARSER_FIELD_GROUP_RG' => '№ колонки с группой RG', 'PARSER_FIELD_SIGN' => 'Операция с ценой', 'PARSER_FIELD_MULTIPLIER' => 'Значение операции', 'price_date_update' => Yii::t('app', 'Price Date Update'), ]; } public function getKeys () { // возьмем только поля описанные в fields() - там как раз наши настройки парсера $arr = $this->toArray(); // отсортируем по ключам с учетом преобразования в число asort($arr, SORT_NUMERIC); // уберем нулевые колонки $arr = array_filter($arr, function($val){ return $val <> '0'; }); // нам нужны именно ключи $arr = array_keys($arr); return $arr; } public function getMultiply () { $arr['sign'] = $this->PARSER_FIELD_SIGN; $arr['multiplier'] = $this->PARSER_FIELD_MULTIPLIER; return $arr; } public function fields() { return [ 'BRAND' => 'PARSER_FIELD_BRAND', 'ARTICLE' => 'PARSER_FIELD_ARTICLE', 'PRICE' => 'PARSER_FIELD_PRICE', 'DESCR' => 'PARSER_FIELD_DESCR', 'BOX' => 'PARSER_FIELD_BOX', 'ADD_BOX' => 'PARSER_FIELD_ADD_BOX', 'GROUP_RG' => 'PARSER_FIELD_GROUP_RG' ]; } }