private function showDisksBySize($id, $construct = null) { $criteria = new CDbCriteria(); $criteria->condition = 't.id = :id'; $criteria->params = array(':id' => $id); $model = DiskSizes::model()->find($criteria); $this->addComment($model->disk); #throw new CHttpException(400,'Такой страницы нет'); $this->render('disks/size', array('model' => $model, 'construct' => $construct)); }
echo $form->labelEx($diskSelection, 'PCD'); ?> <?php echo $form->dropDownList($diskSelection, 'PCD', CHtml::listData(DiskSizes::model()->inSight()->findAll(array('select' => 'CONCAT(PCD_screws, "x", PCD_diameter) as PCD0', 'group' => 'PCD0')), 'PCD0', 'PCD0'), array('empty' => '')); ?> <?php echo $form->error($diskSelection, 'PCD'); ?> </div> <div class="row"> <?php echo $form->labelEx($diskSelection, 'ET'); ?> <?php echo $form->dropDownList($diskSelection, 'ET', CHtml::listData(DiskSizes::model()->inSight()->findAll(array('group' => 'ET')), 'ET', 'ET'), array('empty' => '')); ?> <?php echo $form->error($diskSelection, 'ET'); ?> </div> <div class="row buttons"> <?php echo CHtml::submitButton('Найти'); ?> </div> <?php $this->endWidget(); ?>
/** * 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 = DiskSizes::model()->findByPk((int) $id); if ($model === null) { throw new CHttpException(404, 'Запрашиваемая страница не существует.'); } return $model; }
public function actionIndex() { ini_set('memory_limit', '650M'); set_time_limit(0); $form = new ImportForm(); $result = array(); if (isset($_POST['ImportForm'])) { $form->attributes = $_POST['ImportForm']; if ($form->validate()) { # Вот тут начинается импорт /* Первая страница * 1. CAI * 2. J * 3. R * 4. / * 5. X * 6. ET * 7. Ø * 8. Модель * 9. Производитель * 10.Кол-во (ОПТ) * 11.Цена (ОПТ) * 12.Кол-во (ИМ) * 13.Цена (ИМ) */ DiskSizes::model()->updateAll(array('rest' => 0, 'price' => 0)); $sheet = 1; $uploaded = Yii::app()->file->set('ImportForm[file]'); Yii::app()->file->set(Yii::getPathOfAlias('webroot.files.' . $this->id . '.' . $this->action->id))->createDir(); $newfile = $uploaded->copy(strtolower(Yii::getPathOfAlias('webroot.files.' . $this->id . '.' . $this->action->id)) . '/' . $uploaded->basename); $newfile->filename = $newfile->filename . '.' . date('YmdHis'); Yii::import('ext.phpexcelreader.EPhpExcelReader'); $data = new EPhpExcelReader($newfile->realpath, false); $rowcount = $data->rowcount($sheet); $result['rowcount'] = $rowcount; $result['count'] = 0; #$colcount = $data->colcount(); #$rowcount = 5; $r = 2; while ($r <= $rowcount) { $cai = $data->val($r, 1, $sheet); if ($size = DiskSizes::model()->find('code=:code', array(':code' => $cai))) { $size->price = $data->val($r, 13, $sheet); if (!empty($form->margin)) { $size->price += $size->price * ($form->margin / 100); } $rest10 = $data->val($r, 10, $sheet); $rest12 = $data->val($r, 12, $sheet); if (is_int($rest12) && is_int($rest10)) { if ($rest12 > $rest10) { $size->rest = $rest12; } else { $size->rest = $rest10; } } elseif (!is_int($rest12) && is_int($rest10)) { $size->rest = 10; } elseif (is_int($rest12) && !is_int($rest10)) { $size->rest = 20; } else { $size->rest = 20; } if (!$size->save()) { $result['errors']['size:' . $data->val($r, 1, $sheet)] = $size->errors; } $result['count']++; } else { echo '<p>' . $cai . ' ' . $data->val($r, 9, $sheet) . ' ' . $data->val($r, 8, $sheet) . ' not found</p>'; } $r++; } #$this->redirect(array('view','id'=>$model->id)); } } $this->render('index', array('model' => $form, 'results' => $result)); }
public function actionDisks() { $sizes = array(); $form = $_GET; $selection = new DiskSelectionForm(); $pages = null; if (!empty($form)) { $selection->attributes = $form; if ($selection->validate()) { #d($tyreSelection->attributes); $criteria = new CDbCriteria(); if (!empty($selection->producers)) { $crit0 = new CDbCriteria(); $crit0->with = array('producer'); $crit0->compare('producer.alias', $selection->producers); // Собираю шины производителей подходящих под условия фильтра $disks = CHtml::listData(Disk::model()->findAll($crit0), 'id', 'id'); $criteria->compare('disk_id', $disks); } #$criteria->compare('code',$this->code,true); $criteria->compare('width', $selection->width); $criteria->compare('diameter', $selection->diameter); $criteria->compare('ET', $selection->ET, true); $pcd_screws = $pcd_diameter = null; if ($selection->PCD) { list($pcd_screws, $pcd_diameter) = preg_split('/x/i', $selection->PCD); } $criteria->compare('PCD_screws', $pcd_screws); $criteria->compare('PCD_diameter', $pcd_diameter, true); $criteria->compare('price', '>=' . $selection->price_from, false); $criteria->compare('price', '<=' . $selection->price_until, false); $criteria->compare('price', '<>0'); $criteria->mergeWith(DiskSizes::model()->inSight()->getDbCriteria()); $data = new CActiveDataProvider('DiskSizes', array('criteria' => $criteria, 'pagination' => array('pageSize' => Yii::app()->params['selection.resultsPerPage']))); } } $this->render('disks', array('selection' => $selection, 'data' => $data)); }