2013-11-06 3 views
0

Я загружаю изображение и оставляю пустое сообщение. Помоги мне, пожалуйста!CActiveForm Yii пустые данные

public function actionUpdate() 
     { 
      if(isset($_GET['TemplateId'])) 
      { 
       $TemplateId = $_GET['TemplateId']; 
      }else{ 
       $this->setFlash('error', 'Undefined template!'); 
       $this->render('update');die(); 
      } 
      $model = Store::model()->findByPk($this->module->getStoreId()); 
      //exit($model->image_logo2); 
      //$model = AccountTemplate::model()->findByAttributes(array('account' => $account, 'template' => $TemplateId)); 
      if($TemplateId==1) 
      { 
       $last_image = $model->image_logo1; 
      }else{ 
       $last_image = $model->image_logo2; 
      } 
      if(isset($_POST['Store'])) 
      { 
        echo "<pre>";print_r($_POST['Store']);die(); 
        if($TemplateId==1) 
        { 
         $uploader = CUploadedFile::getInstance($model,'image_logo1'); 
        }else{ 
         $uploader = \CUploadedFile::getInstance($model,'image_logo2'); 
        } 
        $sourcePath = pathinfo($uploader->getName()); 

        $fileName = uniqid().'.'.$sourcePath['extension']; 

        if($sourcePath['extension']!="jpg" && $sourcePath['extension']!="png") 
        { 
         $this->setFlash('error', 'Only jpg or png files!'); 
        }else{ 
         if($TemplateId==1) 
         { 
          $model->image_logo1 = $fileName; 
          echo "<pre>";print_r($model->image_logo1);die(); 
         }else{ 
          $model->image_logo2 = $fileName; 
          echo "<pre>";print_r($model->image_logo2);die(); 
         } 
         if($model->save()) { 
          $uploader->saveAs('uploads/'.$fileName); 
          if(file_exists('uploads/'.$last_image)) 
          { 
           //unlink('uploads/'.$last_image); 
          } 
          $this->setFlash('success', 'New logo upload success'); 
         }else{ 
          $this->setFlash('error', 'New logo not upload!'); 
         } 
        } 
      } 
      $this->render('update', array('model'=>$model, 'TemplateId' => $TemplateId)); 
     } 



    <?php 
if(!isset($model)) 
{ 

}else{ 
$form = $this->beginWidget(
    'CActiveForm', 
    array(
     'id' => 'upload-form', 
     'enableAjaxValidation' => false, 
     'htmlOptions' => array('enctype' => 'multipart/form-data'), 
    ) 
); 
// ...<img src='/uploads/products/10e83ff7ae580b7e198a38cf9133ff32.jpg'> 
// ... 
// ... 
if($TemplateId==1) 
{ 
    echo $form->labelEx($model, "Logo image"); 
    echo $form->fileField($model, 'image_logo1'); 
    echo $form->error($model, 'image_logo1'); 
}else{ 
    echo $form->labelEx($model, "Logo image"); 
    echo $form->fileField($model, 'image_logo2'); 
    echo $form->error($model, 'image_logo2'); 
} 
echo CHtml::button('Update', array('submit' => array("Template/update/?TemplateId=$TemplateId"))); 
// ... 
$this->endWidget(); 
} 
?> 

Мои взгляды

<?php 
if(!isset($model)) 
{ 

}else{ 
$form = $this->beginWidget(
    'CActiveForm', 
    array(
     'id' => 'upload-form', 
     'enableAjaxValidation' => false, 
     'htmlOptions' => array('enctype' => 'multipart/form-data'), 
    ) 
); 
// ...<img src='/uploads/products/10e83ff7ae580b7e198a38cf9133ff32.jpg'> 
// ... 
// ... 
if($TemplateId==1) 
{ 
    echo $form->labelEx($model, "Logo image"); 
    echo $form->fileField($model, 'image_logo1'); 
    echo $form->error($model, 'image_logo1'); 
}else{ 
    echo $form->labelEx($model, "Logo image"); 
    echo $form->fileField($model, 'image_logo2'); 
    echo $form->error($model, 'image_logo2'); 
} 
echo CHtml::button('Update', array('submit' => array("Template/update/?TemplateId=$TemplateId"))); 
// ... 
$this->endWidget(); 
} 
?> 

выход POST

Array 
(
    [image_logo1] => 
) 
+0

Я загружаю изображение и оставляю пустое сообщение. –

+0

И большой большой код, мужчины! –

+1

Не должно ли изображение попадать в '$ _FILES' вместо' $ _POST'? –

ответ

0

Спасибо всем за помощь, ребята! Эта ошибка произошла, потому что я не пишу атрибутLabels в моей модели. Магазин

public function attributeLabels() 
    { 
     return array(
      ..... 
      'image_logo' => 'Icon', 
      'image_logo1' => 'Icon', 
      'image_logo2' => 'Icon', 
     ); 
    } 
Смежные вопросы