Здесь ниже виджет ввода файла kartik в update_form.
echo FileInput::widget(
[
'name' => 'BriefRequirements[requirement_value][]',
'attribute' => 'assets_file',
'id' => 'assets_file',
'options' => ['multiple' => true],
'pluginOptions' => [
'overwriteInitial' => false,
'initialPreview' => $image_url,
'deleteUrl' => ' site/delete',
'initialPreviewAsData' => true,
'initialPreviewFileType' => 'image' //'pdf'
]
]
);
ниже приведен код загрузки нескольких изображений,
foreach ($modelRequirements as $req) {
$image_url[] = Yii::$app->request->baseUrl
. '/theme/business_campaign_files/'
. $req['requirement_value'];
}
Мне нужна помощь с моими двумя вопросами:
Нужно показать все выбранные форматы файлов, такие как изображения, PDF, документы и т. Д. [Я пытался понравиться 'initialPreviewFileType'=>'any'
] не работает.
Я хочу передать выбранный идентификатор изображения в действие, чтобы удалить изображение? — 'deleteUrl' => ' site/delete'
,'id'=>12
, <— как это.
В приведенном ниже коде я получил результат для двух моих вопросов.
$initializeConfig = [];
$initializeConfig1 = [];
if ($modelRequirements) {
foreach ($modelRequirements as $req) {
$extension = substr(
$req['requirement_value'],
strrpos($req['requirement_value'], '.') + 1
);
$image_url[] = Yii::$app->request->baseUrl
. '/theme/business_campaign_files/'
. $req['requirement_value'];
$initializeConfig1['url'] = Url::toRoute('delete-requirement');
$initializeConfig1['key'] = $req['id'];
$initializeConfig1['type'] = $type;
array_push($initializeConfig, $initializeConfig1);
}
}
В приведенном выше коде я получил результат для двух моих вопросов.
Для удаления -> упомянутый URL я написал функцию удаления, также через параметр ключа я передал идентификатор.
Для просмотра всех файлов расширения вы должны отправить как «тип» $initializeConfig1['type'] = $type;
в переменной типа я получаю расширение изображения на основе расширения я устанавливаю формат файла like[pdf,xlsx,image]
,
EasyOne
Других решений пока нет …