/** * Возвращает массив объектов с информацией об открытых для импортирования столбцах таблицы */ public function getAvailableColumns($table) { //var_dump(ShopProducts::model()->attributes);die; $schema = ShopProducts::model()->tableSchema; $tech_columns = array('id' => 'id', 'category_id' => 'category_id', 'created_at' => 'created_at', 'created_by' => 'created_by', 'modified_at' => 'modified_at', 'modified_by' => 'modified_by'); $columns = array_values(array_diff_key($schema->columns, $tech_columns)); $firstLine = array_map(function ($element) { return $element->comment; }, $columns); $exampleLine = array_map(function ($element) { return $element->name; }, $columns); $exampleLine = array_flip($exampleLine); var_dump($firstLine + $exampleLine); var_dump($firstLine); //die; var_dump($exampleLine); //die; var_dump($columns); die; return $columns; }
public function actionUploadFromUrl($id) { if (Yii::app()->request->isPostRequest && Yii::app()->request->isAjaxRequest) { $params = Yii::app()->request->getPost('RemoteFileForm'); if (!$params) { echo CJSON::encode(array('error' => Yii::t('app', 'Не удается выполнить операцию. Обновите страницу и попробуйте ещё раз.'))); Yii::app()->end(); } $product = ShopProducts::model()->findByPk($id); if (!$product) { echo CJSON::encode(array('error' => Yii::t('app', 'Не удается найти товар.'))); Yii::app()->end(); } $model = new ShopProductsImages(); $model->product_id = $id; $attributes = $model->uploadImageFromUrl($params['remotefile']); if (isset($attributes['error'])) { echo CJSON::encode(array('error' => $attributes['error'])); Yii::app()->end(); } //var_dump($attributes)die; $model->attributes = $attributes; if (!$model->save()) { echo CJSON::encode(array('error' => Yii::t('app', 'Ошибка при сохранении данных.'))); Yii::app()->end(); } echo CJSON::encode(array('error' => false)); Yii::app()->end(); } echo CJSON::encode(array('error' => Yii::t('app', 'Некорректный запрос.'))); Yii::app()->end(); }
<?php $this->widget('zii.widgets.grid.CGridView', array('id' => 'products-grid', 'dataProvider' => $model->search(), 'filter' => $model, 'ajaxUpdate' => true, 'ajaxUrl' => Yii::app()->createUrl('/admin/shop/products/index'), 'enableSorting' => array('id', 'article', 'title', 'price'), 'pager' => array('nextPageLabel' => '<i class="fa fa-angle-right"></i>', 'prevPageLabel' => '<i class="fa fa-angle-left"></i>', 'header' => '', 'htmlOptions' => array('class' => 'pagination')), 'htmlOptions' => array(), 'columns' => array(array('name' => 'id', 'value' => '$data->id', 'filter' => false), array('name' => '_main_mage_file_name', 'value' => '$data->imageThumbUrl ? CHtml::link(CHtml::image($data->imageThumbUrl, $data->title, array("class"=>"w75")), $data->imageUrl) : CHtml::image(Yii::app()->theme->baseUrl . "/public/admin/img/no-photo/300x200.png", "", array("class"=>"w75"))', 'type' => 'html', 'filter' => false), array('name' => 'article', 'value' => '$data->article'), array('name' => 'title', 'value' => '$data->title'), array('name' => 'price', 'value' => '$data->price', 'filter' => false), array('name' => 'category_id', 'value' => '$data->category->title'), array('name' => 'is_show', 'value' => 'ShopProducts::gridIsShowItem($data->is_show)', 'filter' => ShopProducts::gridIsShowItems()), array('header' => 'Операции', 'class' => 'EButtonColumnWithClearFilters', 'label' => 'Сбросить все фильтры', 'template' => '{view}{update}{delete}', 'updateButtonUrl' => 'Yii::app()->controller->createUrl("products/edit", array("id" => $data->primaryKey))', 'deleteButtonUrl' => 'Yii::app()->controller->createUrl("products/delete", array("id" => $data->primaryKey))'))));