Inheritance: extends skeeks\cms\relatedProperties\models\RelatedPropertyEnumModel
 public function init()
 {
     $this->name = "Управление значениями свойств";
     $this->modelShowAttribute = "value";
     $this->modelClassName = CmsContentPropertyEnum::className();
     parent::init();
 }
Example #2
0
 protected function _updateAdditionalProduct($product = [], ShopCmsContentElement $cmsContentElement)
 {
     if ($cmsContentElement->relatedPropertiesModel->hasAttribute('sku') && ArrayHelper::getValue($product, 'sku')) {
         $cmsContentElement->relatedPropertiesModel->setAttribute('sku', ArrayHelper::getValue($product, 'sku'));
     }
     if ($cmsContentElement->relatedPropertiesModel->hasAttribute('material') && ArrayHelper::getValue($product, 'material')) {
         $cmsContentElement->relatedPropertiesModel->setAttribute('material', ArrayHelper::getValue($product, 'material'));
     }
     if ($cmsContentElement->relatedPropertiesModel->hasAttribute('size') && ArrayHelper::getValue($product, 'razm')) {
         $cmsContentElement->relatedPropertiesModel->setAttribute('size', ArrayHelper::getValue($product, 'razm'));
     }
     if ($cmsContentElement->relatedPropertiesModel->hasAttribute('sizeBox') && ArrayHelper::getValue($product, 'razmer-upakovki')) {
         $cmsContentElement->relatedPropertiesModel->setAttribute('sizeBox', ArrayHelper::getValue($product, 'razmer-upakovki'));
     }
     if ($cmsContentElement->relatedPropertiesModel->hasAttribute('energy') && ArrayHelper::getValue($product, 'batareyki')) {
         $cmsContentElement->relatedPropertiesModel->setAttribute('energy', ArrayHelper::getValue($product, 'batareyki'));
     }
     if ($cmsContentElement->relatedPropertiesModel->hasAttribute('complect') && ArrayHelper::getValue($product, 'komplekt')) {
         $cmsContentElement->relatedPropertiesModel->setAttribute('complect', ArrayHelper::getValue($product, 'komplekt'));
     }
     if ($cmsContentElement->relatedPropertiesModel->hasAttribute('age') && ArrayHelper::getValue($product, 'vozrast')) {
         if ($property = $cmsContentElement->relatedPropertiesModel->getRelatedProperty('age')) {
             $age = ArrayHelper::getValue($product, 'vozrast');
             if ($enum = $property->getEnums()->andWhere(['value' => $age])->one()) {
             } else {
                 $enum = new CmsContentPropertyEnum();
                 $enum->value = (string) $age;
                 $enum->property_id = $property->id;
                 if ($enum->save()) {
                     $this->stdout("\tadded age enum '{$age}' to DB\n", Console::FG_GREEN);
                 } else {
                     $error = Json::encode($enum->getFirstErrors());
                     $this->stdout("\tNot added age enum '{$age}' to DB: {$error}\n", Console::FG_RED);
                 }
             }
             if ($enum && !$enum->isNewRecord) {
                 $cmsContentElement->relatedPropertiesModel->setAttribute('age', $enum->id);
             }
         }
     }
     $cmsContentElement->relatedPropertiesModel->setAttribute('brand', '12764');
     if ($cmsContentElement->relatedPropertiesModel->save()) {
         $this->stdout("\tSaved additionals\n", Console::FG_GREEN);
     } else {
         $error = Json::encode($cmsContentElement->relatedPropertiesModel->getFirstErrors());
         $this->stdout("\tNot saved additionals: {$error}\n", Console::FG_RED);
     }
 }
Example #3
0
 /**
  * @return \yii\db\ActiveQuery
  */
 public function getEnums()
 {
     return $this->hasMany(CmsContentPropertyEnum::className(), ['property_id' => 'id']);
 }