رتبه موضوع:
  • 0 رای - 0 میانگین
  • 1
  • 2
  • 3
  • 4
  • 5
مشکل ویرایش تصویر در پروژه ی گالری عکس
#1
سلام خسته نباشید
در پروژه ی گالری عکس قسمت 11 آموزش ویرایش تصویر رو گذاشتید که موقعی که مدیر بخواد تصویر قبلی تغییر نکنه ولی مثلا عنوانش تغییر کنه با اررور زیر مواجه میشه

خطای 500

Trying to get property of non-object

و حتما باید مدیر واسه ی ویرایش یک عکس جدید هم انتخاب کنه
اگه راهنمایی کنید ممون میشم
پاسخ
تشکر شده توسط:
#2
توی فیلم هم همینطوره؟ کدتون رو بگذارین. منظورم ویو و اکشن مربوط به ویرایش عکسه.
پاسخ
تشکر شده توسط:
#3
(08-03-1394، 11:49 ب.ظ)ADMIN نوشته: توی فیلم هم همینطوره؟ کدتون رو بگذارین. منظورم ویو و اکشن مربوط به ویرایش عکسه.

توی فیلم شما تست نکردید که عکس جدید اضافه نکنیم آیا ویرایش انجام میشه یا نه. منم تو پروژه ی خودم متوجه شدم که برگشتم به فیلم و فایل گالری رو تست کردم دقیقا همین مشکلو داره

این اکشن تو پروژه ی خودتون

public function actionEdit($id)
    {
        if(!($model = Photos::model()->findByPk($id))) {
            throw new CHttpException(404, 'تصویر موردنظر یافت نشد.');
        }
        if(isset($_POST['Photos'])) {
            $model->attributes = $_POST['Photos'];
            $model->likes = 0;
            $model->dislikes = 0;
            $model->visits = 0;
            if($model->save()) {
                $photo = CUploadedFile::getInstance($model, 'photo');
                if($photo->error == 0 && $photo->size <= 1048576 && $photo->type == 'image/jpeg') {
                    unlink(Yii::app()->basePath . '/../photos/' . $model->id . '.jpg');
                    unlink(Yii::app()->basePath . '/../photos/' . $model->id . '_t.jpg');
                    Image::safeUpload($photo->tempName, $model->id);
                }
                $this->redirect(array('index'));
            }
        }
        $this->render('edit',compact('model'));
    }

اینم ویو

<?php $form = $this->beginWidget('CActiveForm', array(
    'id'=>'photos-form',
    'enableClientValidation'=>true,
    'focus'=>array($model,'category_id'),
    'htmlOptions'=>array(
        'class'=>'form-horizontal alert alert-warning',
        'enctype'=>'multipart/form-data',
    )
)); ?>
<h2><span class="fa fa-edit"></span> ویرایش تصویر شماره <?php echo $model->id; ?></h2>
<hr />
<?php echo CHtml::hiddenField('MAX_FILE_SIZE', 1048576); ?>
<div class="form-group">
    <?php echo $form->labelEx($model, 'category_id', array('class'=>'col-sm-3 control-label')); ?>
    <div class="col-sm-5">
        <?php echo $form->dropDownList($model, 'category_id', $model->categoryOptions, array('class'=>'form-control')); ?>
    </div>
</div>
<div class="form-group">
    <div class="col-sm-5 col-sm-offset-3 text-danger">
        <?php echo $form->error($model, 'category_id'); ?>
    </div>
</div>
<div class="form-group">
    <label class="col-sm-3 control-label"> تصویر قبلی</label>
    <div class="col-sm-5">
        <img alt="<?php echo CHtml::encode($model->title); ?>" class="img-thumbnail" src="<?php echo Yii::app()->homeUrl; ?>photos/<?php echo $model->id; ?>_t.jpg" />
    </div>
</div>
<div class="form-group">
    <label class="col-sm-3 control-label" for="Photos_photo"> تصویر جدید</label>
    <div class="col-sm-5">
        <?php echo $form->fileField($model, 'photo'); ?>
    </div>
</div>
<div class="form-group">
    <?php echo $form->labelEx($model, 'title', array('class'=>'col-sm-3 control-label')); ?>
    <div class="col-sm-5">
        <?php echo $form->textField($model, 'title', array('class'=>'form-control')); ?>
    </div>
</div>
<div class="form-group">
    <div class="col-sm-5 col-sm-offset-3 text-danger">
        <?php echo $form->error($model, 'title'); ?>
    </div>
</div>
<div class="form-group">
    <?php echo $form->labelEx($model, 'description', array('class'=>'col-sm-3 control-label')); ?>
    <div class="col-sm-5">
        <?php echo $form->textArea($model, 'description', array('class'=>'form-control','style'=>'resize:none;')); ?>
    </div>
</div>
<div class="form-group">
    <div class="col-sm-5 col-sm-offset-3 text-danger">
        <?php echo $form->error($model, 'description'); ?>
    </div>
</div>
<div class="form-group">
    <?php echo $form->labelEx($model, 'confirmed', array('class'=>'col-sm-3 control-label')); ?>
    <div class="col-sm-1">
        <?php echo $form->checkBox($model, 'confirmed', array('class'=>'form-control')); ?>
    </div>
</div>
<div class="form-group">
    <div class="col-sm-5 col-sm-offset-3 text-danger">
        <?php echo $form->error($model, 'confirmed'); ?>
    </div>
</div>
<div class="form-group">
    <div class="col-sm-5 col-sm-offset-3">
        <?php echo CHtml::submitButton('ویرایش', array('class'=>'btn btn-warning btn-block')); ?>
    </div>
</div>
<?php $this->endWidget(); ?>


هرچی هست مشکل از این قسمته

$photo = CUploadedFile::getInstance($model, 'photo');
                if($photo->error == 0 && $photo->size <= 1048576 && $photo->type == 'image/jpeg') {
                    unlink(Yii::app()->basePath . '/../photos/' . $model->id . '.jpg');
                    unlink(Yii::app()->basePath . '/../photos/' . $model->id . '_t.jpg');
                    Image::safeUpload($photo->tempName, $model->id);
                }
پاسخ
تشکر شده توسط:
#4
شرط if رو اینطوری اصلاح کنید:
if($photo && $photo->error == 0 && $photo->size <= 1048576 && $photo->type == 'image/jpeg') {
پاسخ
تشکر شده توسط: peca




کاربران در حال بازدید این موضوع: 1 مهمان