public function actionIndex() { $model = new ProductSearch('search'); $model->unsetAttributes(); $model->attributes = Yii::app()->getRequest()->getParam('ProductSearch'); $this->render('/productBackend/_link_form', ['searchModel' => $model, 'product' => new Product()]); }
/** * Редактирование товара. * @param integer $id the ID of the model to be updated */ public function actionUpdate($id) { $model = $this->loadModel($id); if (Yii::app()->getRequest()->getIsPostRequest() && Yii::app()->getRequest()->getPost('Product')) { $attributes = Yii::app()->getRequest()->getPost('Product'); $typeAttributes = Yii::app()->getRequest()->getPost('Attribute', []); $variants = Yii::app()->getRequest()->getPost('ProductVariant', []); $categories = Yii::app()->getRequest()->getPost('categories', []); if ($model->saveData($attributes, $typeAttributes, $variants, $categories)) { $this->updateProductImages($model); Yii::app()->getUser()->setFlash(yupe\widgets\YFlashMessages::SUCCESS_MESSAGE, Yii::t('StoreModule.store', 'Record was updated!')); if (!isset($_POST['submit-type'])) { $this->redirect(['update', 'id' => $model->id]); } else { $this->redirect([$_POST['submit-type']]); } } else { Yii::app()->getUser()->setFlash(yupe\widgets\YFlashMessages::ERROR_MESSAGE, Yii::t('StoreModule.store', 'Failed to save product!')); } } $searchModel = new ProductSearch('search'); $searchModel->unsetAttributes(); $this->render('update', ['model' => $model, 'searchModel' => $searchModel]); }
/** * Returns the data model based on the primary key given in the GET variable. * If the data model is not found, an HTTP exception will be raised. * @param integer the ID of the model to be loaded */ public function loadModel($id) { $model = ProductSearch::model()->findByPk($id); if ($model === null) { throw new CHttpException(404, 'The requested page does not exist.'); } return $model; }
<?php /* @var $searchModel ProductSearch */ /* @var $product Product */ if (!isset($searchModel)) { $searchModel = new ProductSearch('search'); $searchModel->unsetAttributes(); } $linkTypes = ProductLinkType::getFormattedList(); ?> <?php if (isset($product)) { ?> <div class="row"> <div class="col-sm-12"> <h3><?php echo Yii::t('StoreModule.store', 'Products related with "{name}"', ['{name}' => $product->name]); ?> </h3> <?php $linked = new ProductLink('search'); $linked->setAttributes(Yii::app()->getRequest()->getParam('ProductLink')); $linked->product_id = $product->id; $this->widget('yupe\\widgets\\CustomGridView', ['id' => 'linked-product-grid', 'type' => 'condensed', 'dataProvider' => $linked->search(), 'filter' => $linked, 'actionsButtons' => false, 'bulkActions' => [false], 'ajaxUrl' => ['/store/productBackend/update', 'id' => $product->id], 'columns' => [['type' => 'raw', 'value' => function ($data) { return CHtml::link(CHtml::image($data->linkedProduct->getImageUrl(40, 40), "", ["class" => "img-thumbnail"]), ["/store/productBackend/update", "id" => $data->linkedProduct->id]); }], ['header' => Yii::t('StoreModule.store', 'Name'), 'type' => 'raw', 'value' => function ($data) { return CHtml::link($data->linkedProduct->name, ["/store/productBackend/update", "id" => $data->linkedProduct->id]); }], ['header' => Yii::t('StoreModule.product', 'SKU'), 'type' => 'raw', 'value' => function ($data) { return CHtml::link($data->linkedProduct->sku, ["/store/productBackend/update", "id" => $data->linkedProduct->id]); }], ['header' => Yii::t('StoreModule.product', 'Price'), 'type' => 'raw', 'value' => function ($data) {