2016-08-14 53 views
0

我想在yii2-fileinput-widget中添加更多按钮。如何添加一个按钮到yii2-widget-fileinput?

我当前的代码是这样的:

$allPics = \common\models\Picture::getPictures($album->id); 
$images = []; 
$imagesOptions = []; 
if($allPics){ 
    foreach ($allPics as $pic){ 
     $key = $pic->id; 
     $url = Url::to(['set-pic-status', 'id'=>$key, 'pid'=>$model->id, 'do'=>'remove']); 
     $images[] = Yii::$app->urlManagerFront->createAbsoluteUrl(['image/index', 'id'=>$pic->id, 'width'=>300, 'height'=>300]); 
     $imagesOptions[] = ['caption' => $pic->name, 'size' => $pic->size , 'url'=>$url, 'key'=>$key]; 
    } 
} 
echo FileInput::widget([ 
    'name' => 'pic', 
    'language'=>'fa', 
    'options'=>[ 
     'multiple'=>true 
    ], 
    'pluginOptions' => [ 
     'uploadUrl' => Url::to(['pic-upload', 'id'=>$model->id]), 
     'initialPreview'=>$images, 
     'initialPreviewAsData'=>true, 
     'initialCaption'=>"تصاویر محصول", 
     'initialPreviewConfig' => $imagesOptions, 
     'overwriteInitial'=>false, 
     'maxFileSize'=>2800, 
    ] 
]); 

和顶部代码的结果是: enter image description here

现在我需要添加一个按钮附近删除按钮,发送一些数据到服务器,并将选择图片作为封面或更改数据库中的图片状态。

我该怎么做?

+0

您是否检查Kartik网站?也许那里有些东西。 –

+0

@EdvinTenovimas是的,我做到了。我发现了一些东西,但它的文档不清楚。 – Amin

回答

0

试试这个:

$initialPreview = []; 
 
$initialPreviewConfig = []; 
 
foreach($model->images as $image){ 
 
$initialPreview[] = Html::img($image->imagePath,['width' =>200]); 
 
$initialPreviewConfig[] = [ 
 
    'url' => \yii\helpers\Url::to(['/admin/portfolio/portfolio/image-delete']), 
 
    'key' => $image->ID, 
 

 
]; 
 
} 
 

 
?> 
 
<br> 
 
<div class="row"> 
 
    <div class="col-md-12"> 
 
     <?php 
 
     echo FileInput::widget([ 
 
      'name' => 'ProductImages[]', 
 
      'options'=>['accept'=>'image/*','multiple' => true], 
 
      'pluginOptions' => [ 
 
       'otherActionButtons' => '<button class="set-main" type="button" {dataKey} ><i class="glyphicon glyphicon-star"></i></button>', 
 
       'overwriteInitial'=>false, 
 
       'maxFileSize'=>2800, 
 
       'fileActionSettings' => [ 
 
        'fileActionSettings' => [ 
 
         'showZoom' => false, 
 
         'showDelete' => true, 
 
        ], 
 
       ], 
 
       'browseClass' => 'btn btn-success', 
 
       'uploadClass' => 'btn btn-info', 
 
       'removeClass' => 'btn btn-danger', 
 
       'showRemove' => false, 
 
       'showUpload' => false, 
 
       'initialPreview' => $initialPreview, 
 
       'initialPreviewConfig' => $initialPreviewConfig, 
 

 
      ], 
 

 
     ]); 
 
     $this->registerJs(" 
 
    
 
      $('.set-main').on('click',function(){ 
 
       $.get('" . \yii\helpers\Url::to(['/admin/portfolio/portfolio/set-main-image/']) . "', {id:$(this).attr('data-key')}); 
 
       
 
       }); 
 
    "); 
 
     ?> 
 

 
    </div></div> 
 
<div>

'otherActionButtons'=> '...';

相关问题