示例#1
0
 /**
  * Возвращает массив объектов с информацией об открытых для импортирования столбцах таблицы
  */
 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();
 }
示例#3
0
<?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))'))));