Yii EMarkitupWidget에서 이미지를로드하려고합니다. 따라서 multipart/form-data
form
의 모달 창을 열고 이미지를 업로드하고 이미지 URL이있는 컨트롤러에서 콜백을 받으려고합니다. 그런 다음 업로드 된 이미지 URL을 마 이릿 업 창에 붙여 넣어야합니다.Yii Markitup 위젯의 이미지로드
어떻게하면됩니까? 나는 이것을 시도하고있다 :
<?php $this->beginWidget('zii.widgets.jui.CJuiDialog', array(
'id'=>'mymodal',
'options'=>array(
'title'=>'Image Upload',
'width'=>400,
'height'=>200,
'autoOpen'=>false,
'resizable'=>false,
'modal'=>true,
'closeOnEscape' => true,
),
)); ?>
<?php $model=new ImageForm();
$this->renderPartial('application.views.site.image',array('model'=>$model));
?>
<?php $this->endWidget('zii.widgets.jui.CJuiDialog'); ?>
양식 :
class ImageForm extends CFormModel {
public $image;
// другие свойства
public function rules(){
return array(
// устанавливаем правила для файла, позволяющие загружать
// только картинки!
array('image', 'file', 'types'=>'jpg, gif, png'),
);
}
}
폼보기 양식
function markitupimageupload(){
$('#mymodal').dialog('open');
}
모달 창
set.js: {name:'Picture', key:'P', call: 'markitupimageupload'},
이 기능은 모달 창을 엽니 다 :
<div class="form">
<?php $form=$this->beginWidget('CActiveForm', array(
'id'=>'image-upload-form',
'action'=>array('/image/uploadnew'),
'enableClientValidation'=>true,
'clientOptions'=>array(
'validateOnSubmit'=>true,
),
'htmlOptions'=>array('enctype'=>'multipart/form-data'),
)); ?>
<?php echo CHtml::errorSummary($model); ?>
<div class="row">
<?php echo $form->labelEx($model,'image'); ?>
<?php echo CHtml::activeFileField($model,'image'); ?>
<?php echo CHtml::error($model,'image'); ?>
</div>
<div class="row buttons">
<?php echo CHtml::ajaxSubmitButton('Upload','/websnippets/image/uploadnew',
array('type' => 'POST',
'success' => 'function(){ $("#mymodal").dialog("close");}',));
//echo CHtml::submitButton('Upload');
?>
</div>
<?php $this->endWidget(); ?>
</div><!-- form -->
문제점 : 그런 다음 CHtml :: submitButton ('업로드')을 사용하여 파일이 업로드되고 있습니다. 하지만 파일 이름 URL을 가져와야합니다. 그렇다면 CHtml :: ajaxSubmitButton을 사용하여 Json 응답을받을 수 있지만 파일이로드되지 않습니다. 어떻게 해결할 수 있을까요?