From: Alexander Smirnov Date: Sat, 2 Nov 2024 13:20:22 +0000 (+0300) Subject: [ERP-231] выпиливаем json из matrix_erp_property, добавить во вью price и guid X-Git-Tag: 1.6~20^2~3 X-Git-Url: https://gitweb.erp-flowers.ru/?a=commitdiff_plain;h=894b1728a807d1d59fbb958c8e83d0234580c34d;p=erp24_rep%2Fyii-erp24%2F.git [ERP-231] выпиливаем json из matrix_erp_property, добавить во вью price и guid --- diff --git a/erp24/controllers/MatrixErpController.php b/erp24/controllers/MatrixErpController.php index 2648c7f6..fa040219 100644 --- a/erp24/controllers/MatrixErpController.php +++ b/erp24/controllers/MatrixErpController.php @@ -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([ diff --git a/erp24/controllers/MatrixErpPropertyController.php b/erp24/controllers/MatrixErpPropertyController.php index b1d3e644..2b4a6c1e 100644 --- a/erp24/controllers/MatrixErpPropertyController.php +++ b/erp24/controllers/MatrixErpPropertyController.php @@ -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'); diff --git a/erp24/migrations/m241031_123240_add_columns_to_table_matrix_erp_property.php b/erp24/migrations/m241031_123240_add_columns_to_table_matrix_erp_property.php index a22cb89d..c37b7889 100755 --- a/erp24/migrations/m241031_123240_add_columns_to_table_matrix_erp_property.php +++ b/erp24/migrations/m241031_123240_add_columns_to_table_matrix_erp_property.php @@ -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'); diff --git a/erp24/records/MatrixErp.php b/erp24/records/MatrixErp.php index c7c184cd..31f7e40a 100644 --- a/erp24/records/MatrixErp.php +++ b/erp24/records/MatrixErp.php @@ -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 { diff --git a/erp24/records/MatrixErpProperty.php b/erp24/records/MatrixErpProperty.php index 9f792967..d69c8530 100644 --- a/erp24/records/MatrixErpProperty.php +++ b/erp24/records/MatrixErpProperty.php @@ -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' ]; } diff --git a/erp24/views/matrix_erp/update.php b/erp24/views/matrix_erp/update.php index 11c2954a..a03672b7 100644 --- a/erp24/views/matrix_erp/update.php +++ b/erp24/views/matrix_erp/update.php @@ -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';
-

Свойства мтричного букета name?>

+

Свойства матричного букета name?>

render('/matrix_erp_property/_form', [ 'filterModel' => $filterModel, diff --git a/erp24/views/matrix_erp/view.php b/erp24/views/matrix_erp/view.php index b01a27c7..3c901626 100644 --- a/erp24/views/matrix_erp/view.php +++ b/erp24/views/matrix_erp/view.php @@ -29,7 +29,7 @@ $this->params['breadcrumbs'][] = $this->title; }); }); -
+

title) ?>

@@ -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 .= '' . $prop['name'] . '' . $prop['value'] . '' . $prop['valueId'] . '' . $prop['parameterId'] . ''; - } - return '' . $res . '
НазваниеЗначениеЗначениеIdПараметрId
'; - } catch (\Exception $ex) { - return 'неверный формат json'; - } - } - ], + 'external_image_url', 'product_url', 'flowwow_category', 'flowwow_subcategory', [ 'attribute' => 'url_link_video', 'format' => 'raw', diff --git a/erp24/views/matrix_erp_property/_form.php b/erp24/views/matrix_erp_property/_form.php index 17fc70a7..25e0d955 100644 --- a/erp24/views/matrix_erp_property/_form.php +++ b/erp24/views/matrix_erp_property/_form.php @@ -39,6 +39,8 @@ $this->registerJs( field($modelMatrixErp, 'id')->hiddenInput()->label(false) ?> field($modelMatrixErpProperty, 'guid')->hiddenInput()->label(false) ?> + field($modelMatrixErpProperty, 'display_name')->textInput() ?> + field($modelMatrixErpProperty, 'description')->textarea(['rows' => 6]) ?> field($modelMatrixErpProperty, 'url_link_video')->textInput() ?> @@ -58,8 +60,6 @@ $this->registerJs( field($modelMatrixErpProperty, 'imageFile')->fileInput(['accept' => 'image/*', 'extension' => ['png','jpg']])->label(false) ?>
- field($modelMatrixErpProperty, 'display_name')->textInput() ?> - field($modelMatrixErpProperty, 'external_image_url')->textInput() ?> field($modelMatrixErpProperty, 'product_url')->textInput() ?> @@ -69,43 +69,6 @@ $this->registerJs( field($modelMatrixErpProperty, 'flowwow_subcategory')->dropDownList([]) ?> -
- 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);?> -
-
field($modelMatrixErpProperty, 'mediaFiles')->widget(MultipleInput::className(), [ 'min' => 0,