$modelMatrixErpProperty = new MatrixErpProperty();
$modelMatrixErpProperty->guid = $modelMatrixErp->guid;
$modelMatrixErpProperty->save();
- } else {
- /* @var $modelMatrixErpProperty MatrixErpProperty */
- $modelMatrixErpProperty->keyProperties = Json::decode($modelMatrixErpProperty->yandex_key_properties);
}
$filterModel = DynamicModel::validateData([
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');
->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, будет ограничено селектом в интерфейсе'));
}
/**
*/
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');
];
}
+ public function getPrice() {
+ return $this->hasOne(Prices::class, ['product_id' => 'guid']);
+ }
public function getMatrixProperty(): ActiveQueryInterface
{
* @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}
{
return [
[['guid', 'date'], 'required'],
- [['description', 'yandex_key_properties'/*, 'yandex_additional_properties'*/], 'string'],
+ [['description'], 'string'],
[['image_id', 'created_admin_id', 'updated_admin_id'], 'integer'],
[
[
],
'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],
];
'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'
];
}
'attributes' => [
// 'id',
'name',
+ 'price.price',
'group_name',
'code',
+ 'guid',
'date_from',
'date_to',
'active',
</div>
<div class="matrix-erp-update m-5">
- <h2>Свойства мтричного букета <?=$modelMatrixErp->name?></h2>
+ <h2>Свойства матричного букета <?=$modelMatrixErp->name?></h2>
<?= $this->render('/matrix_erp_property/_form', [
'filterModel' => $filterModel,
});
});
</script>
-<div class="matrix-erp-view">
+<div class="matrix-erp-view m-5">
<h1><?= Html::encode($this->title) ?></h1>
'date_from',
'date_to',
'code',
+ 'guid',
+ 'price.price'
],
]) ?>
// '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',
<?= $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() ?>
<?= $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() ?>
<?= $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,