]> gitweb.erp-flowers.ru Git - erp24_rep/yii-erp24/.git/commitdiff
[ERP-231] выпиливаем json из matrix_erp_property, добавить во вью price и guid
authorAlexander Smirnov <fredeom@mail.ru>
Sat, 2 Nov 2024 13:20:22 +0000 (16:20 +0300)
committerAlexander Smirnov <fredeom@mail.ru>
Sat, 2 Nov 2024 13:51:17 +0000 (16:51 +0300)
erp24/controllers/MatrixErpController.php
erp24/controllers/MatrixErpPropertyController.php
erp24/migrations/m241031_123240_add_columns_to_table_matrix_erp_property.php
erp24/records/MatrixErp.php
erp24/records/MatrixErpProperty.php
erp24/views/matrix_erp/update.php
erp24/views/matrix_erp/view.php
erp24/views/matrix_erp_property/_form.php

index 2648c7f66ee09eea385e1a404afe6629b9c70568..fa0402197635fa46a644ef85cb15316344081554 100644 (file)
@@ -184,9 +184,6 @@ class MatrixErpController extends Controller
             $modelMatrixErpProperty = new MatrixErpProperty();
             $modelMatrixErpProperty->guid = $modelMatrixErp->guid;
             $modelMatrixErpProperty->save();
-        } else {
-            /* @var $modelMatrixErpProperty MatrixErpProperty */
-            $modelMatrixErpProperty->keyProperties = Json::decode($modelMatrixErpProperty->yandex_key_properties);
         }
 
         $filterModel = DynamicModel::validateData([
index b1d3e644d98f8b0adeaef9aee708f2f2159730e2..2b4a6c1ee14345eacc731db03d99153b74605e28 100644 (file)
@@ -140,9 +140,6 @@ class MatrixErpPropertyController extends Controller
                     if (Yii::$app->request->isPost) {
                         $postMatrixErpProperty = $this->request->post('MatrixErpProperty');
 
-                        $modelEdit->yandex_key_properties = Json::encode($postMatrixErpProperty['keyProperties'], JSON_UNESCAPED_UNICODE);
-                        $modelEdit->save();
-
                         $modelsMatrixErpMedia = MultipleModel::createMultipleModel(MatrixErpMedia::class,
                             'MatrixErpProperty', 'mediaFiles');
 
index a22cb89d18252471e83a86a1f48c53b9c600eae4..c37b788947a35b1640f37ce571547ba5038dedc6 100755 (executable)
@@ -23,11 +23,8 @@ class m241031_123240_add_columns_to_table_matrix_erp_property extends Migration
             ->after('product_url')->comment('Точное название категории в flowwow, будет ограничено селектом в интерфейсе'));
         $this->addColumn(self::TABLE_NAME, 'flowwow_subcategory', $this->string(100)->null()
             ->after('flowwow_category')->comment('Точное название подкатегории в flowwow, будет ограничено селектом в интерфейсе'));
-        $this->addColumn(self::TABLE_NAME, 'yandex_key_properties', $this->text()->null()
-            ->after('flowwow_subcategory')->comment('изначально это будет пустой json шаблон c характеристиками, который нужно будет заполнить'));
-//        $this->addColumn(self::TABLE_NAME, 'yandex_additional_properties', $this->text()->null()
-//            ->after('yandex_key_properties')->comment('изначально это будет пустой json шаблон c дополнительными характеристиками,
-//            который нужно будет заполнить, сюда же входят подробности о товаре'));
+        $this->addColumn(self::TABLE_NAME, 'yandex_category', $this->string(100)->null()
+            ->after('flowwow_subcategory')->comment('Точное название категории в yandex, будет ограничено селектом в интерфейсе'));
     }
 
     /**
@@ -35,8 +32,7 @@ class m241031_123240_add_columns_to_table_matrix_erp_property extends Migration
      */
     public function safeDown()
     {
-//        $this->dropColumn(self::TABLE_NAME, 'yandex_additional_properties');
-        $this->dropColumn(self::TABLE_NAME, 'yandex_key_properties');
+        $this->dropColumn(self::TABLE_NAME, 'yandex_category');
         $this->dropColumn(self::TABLE_NAME, 'flowwow_subcategory');
         $this->dropColumn(self::TABLE_NAME, 'flowwow_category');
         $this->dropColumn(self::TABLE_NAME, 'product_url');
index c7c184cd9a10e67f56b33993926b9b56011a3cc8..31f7e40afcf23dba2d3ada51c10193eee24f32c4 100644 (file)
@@ -78,6 +78,9 @@ class MatrixErp extends \yii\db\ActiveRecord
         ];
     }
 
+    public function getPrice() {
+        return $this->hasOne(Prices::class, ['product_id' => 'guid']);
+    }
 
     public function getMatrixProperty(): ActiveQueryInterface
     {
index 9f792967e93b8ef4a304e2334b45f95c9c40b444..d69c8530cf98326e5753ce14fcdc0daf5ef7eb6f 100644 (file)
@@ -22,15 +22,11 @@ use Yii;
  * @property string|null $product_url Ссылка на карточку товара, например, выложенную без пароля по api2
  * @property string|null $flowwow_category Точное название категории в flowwow, будет ограничено селектом в интерфейсе
  * @property string|null $flowwow_subcategory Точное название подкатегории в flowwow, будет ограничено селектом в интерфейсе
- * @property string|null $yandex_key_properties изначально это будет пустой json шаблон c характеристиками, который нужно будет заполнить
- * property string|null $yandex_additional_properties изначально это будет пустой json шаблон c дополнительными характеристиками,
- *                                                     который нужно будет заполнить, сюда же входят подробности о товаре
  *
  */
 class MatrixErpProperty extends \yii\db\ActiveRecord
 {
     public $imageFile;
-    public $keyProperties;
 
     /**
      * {@inheritdoc}
@@ -47,7 +43,7 @@ class MatrixErpProperty extends \yii\db\ActiveRecord
     {
         return [
             [['guid', 'date'], 'required'],
-            [['description', 'yandex_key_properties'/*, 'yandex_additional_properties'*/], 'string'],
+            [['description'], 'string'],
             [['image_id', 'created_admin_id', 'updated_admin_id'], 'integer'],
             [
                 [
@@ -55,8 +51,7 @@ class MatrixErpProperty extends \yii\db\ActiveRecord
                 ],
                 'file', 'skipOnEmpty' => true, 'extensions' => 'png, jpg', 'checkExtensionByMimeType' => false
             ],
-            [['mediaFile', 'id', 'display_name', 'external_image_url', 'product_url', 'flowwow_category', 'flowwow_subcategory',
-                'yandex_key_properties'/*, 'yandex_additional_properties'*/], 'safe'],
+            [['mediaFile', 'id', 'display_name', 'external_image_url', 'product_url', 'flowwow_category', 'flowwow_subcategory',], 'safe'],
             [['guid', 'date', 'created_at', 'updated_at', 'display_name', 'external_image_url', 'product_url', 'flowwow_category', 'flowwow_subcategory'], 'string', 'max' => 100],
             [['url_link_video'], 'string', 'max' => 255],
         ];
@@ -79,12 +74,10 @@ class MatrixErpProperty extends \yii\db\ActiveRecord
             'updated_admin_id' => 'Updated Admin ID',
             'updated_at' => 'Updated At',
             'display_name' => 'Название на маркетплейсе',
-            'external_image_url' => 'Ссылка на изображение лежащее на внешнем ресурсу',
+            'external_image_url' => 'Ссылка на изображение лежащее на внешнем ресурсе',
             'product_url' => 'Ссылка на продуктовую карточку, лежащую предположительно на api2',
             'flowwow_category' => 'Категория в flowwow',
             'flowwow_subcategory' => 'Подкатегория в flowwow',
-            'yandex_key_properties' => 'Ключевые свойства на yandex marketplace',
-            //'yandex_additional_properties' => 'Дополнительные свойства на yandex marketplace'
         ];
     }
 
index 11c2954a6a28f9ff3d4581856a7f6ce1e377144a..a03672b757cd86cc15657929bb9d9e939a0aa7fc 100644 (file)
@@ -29,8 +29,10 @@ $this->params['breadcrumbs'][] = 'Update';
         'attributes' => [
 //            'id',
             'name',
+            'price.price',
             'group_name',
             'code',
+            'guid',
             'date_from',
             'date_to',
             'active',
@@ -72,7 +74,7 @@ $this->params['breadcrumbs'][] = 'Update';
 </div>
 <div class="matrix-erp-update m-5">
 
-    <h2>Свойства мтричного букета <?=$modelMatrixErp->name?></h2>
+    <h2>Свойства матричного букета <?=$modelMatrixErp->name?></h2>
 
     <?= $this->render('/matrix_erp_property/_form', [
         'filterModel' => $filterModel,
index b01a27c7f2efe974928e02c07738b4b5627356df..3c90162646f2e8c876a05195de92d22778f715e1 100644 (file)
@@ -29,7 +29,7 @@ $this->params['breadcrumbs'][] = $this->title;
         });
     });
 </script>
-<div class="matrix-erp-view">
+<div class="matrix-erp-view m-5">
 
     <h1><?= Html::encode($this->title) ?></h1>
 
@@ -48,6 +48,8 @@ $this->params['breadcrumbs'][] = $this->title;
             'date_from',
             'date_to',
             'code',
+            'guid',
+            'price.price'
         ],
     ]) ?>
 
@@ -81,29 +83,14 @@ $this->params['breadcrumbs'][] = $this->title;
 //            'id',
             'date',
 //            'guid',
+            'display_name',
             'description:ntext',
 //            'created_admin_id',
 //            'created_at',
 //            'updated_admin_id',
 //            'updated_at',
 //            'image_id',
-'display_name', 'external_image_url', 'product_url', 'flowwow_category', 'flowwow_subcategory',
-            [
-                'attribute' => 'yandex_key_properties',
-                'format' => 'raw',
-                'value' => function ($model) {
-                    try {
-                        $keyProperties = \yii\helpers\Json::decode($model->yandex_key_properties);
-                        $res = '';
-                        foreach ($keyProperties as $prop) {
-                            $res .= '<tr><td>' . $prop['name'] . '</td><td>' . $prop['value'] . '</td><td>' . $prop['valueId'] . '</td><td>' . $prop['parameterId'] . '</td></tr>';
-                        }
-                        return '<table><thead><tr><th>Название</th><th>Значение</th><th>ЗначениеId</th><th>ПараметрId</th></tr></thead><tbody>' . $res . '</tbody></table>';
-                    } catch (\Exception $ex) {
-                        return '<span style="color: red">неверный формат json</span>';
-                    }
-                }
-            ],
+            'external_image_url', 'product_url', 'flowwow_category', 'flowwow_subcategory',
             [
                 'attribute' => 'url_link_video',
                 'format' => 'raw',
index 17fc70a7cb1f30e983564cb397b1b71ff34f38d5..25e0d9551d98a2173f564e241ebdfdeccefdb7e7 100644 (file)
@@ -39,6 +39,8 @@ $this->registerJs(
     <?= $form->field($modelMatrixErp, 'id')->hiddenInput()->label(false) ?>
     <?= $form->field($modelMatrixErpProperty, 'guid')->hiddenInput()->label(false) ?>
 
+    <?= $form->field($modelMatrixErpProperty, 'display_name')->textInput() ?>
+
     <?= $form->field($modelMatrixErpProperty, 'description')->textarea(['rows' => 6]) ?>
 
     <?= $form->field($modelMatrixErpProperty, 'url_link_video')->textInput() ?>
@@ -58,8 +60,6 @@ $this->registerJs(
     <?= $form->field($modelMatrixErpProperty, 'imageFile')->fileInput(['accept' => 'image/*', 'extension' => ['png','jpg']])->label(false) ?>
     </div>
 
-    <?= $form->field($modelMatrixErpProperty, 'display_name')->textInput() ?>
-
     <?= $form->field($modelMatrixErpProperty, 'external_image_url')->textInput() ?>
 
     <?= $form->field($modelMatrixErpProperty, 'product_url')->textInput() ?>
@@ -69,43 +69,6 @@ $this->registerJs(
 
     <?= $form->field($modelMatrixErpProperty, 'flowwow_subcategory')->dropDownList([]) ?>
 
-    <div class="form-group">
-        <?= $form->field($modelMatrixErpProperty, 'keyProperties')->widget(MultipleInput::class, [
-            'min' => 0,
-            'max' => 100,
-            'columns' => [
-                [
-                    'name'  => 'name',
-                    'type'  => 'textInput',
-                    'title' => 'Название',
-
-                ],
-                [
-                    'name'  => 'value',
-                    'type'  => 'textInput',
-                    'title' => 'Значение',
-                ],
-                [
-                    'name'  => 'valueId',
-                    'type'  => 'textInput',
-                    'title' => 'ЗначениеID',
-                ],
-                [
-                    'name'  => 'parameterId',
-                    'type'  => 'textInput',
-                    'title' => 'parameterId',
-                ],
-            ],
-            'addButtonPosition' => MultipleInput::POS_FOOTER,
-            'addButtonOptions' => [
-                'class' => 'btn btn-success visible-md',
-                'style' => 'display:block; width: 250px;',
-
-            ],
-            'iconSource'=> 'fa',
-        ])->label(false);?>
-    </div>
-
     <div class="form-group">
         <?= $form->field($modelMatrixErpProperty, 'mediaFiles')->widget(MultipleInput::className(), [
             'min' => 0,