Вызов:
[!FormLister?
&formid=`basic`
&attachments=`ufile`
&rules=`{
"name":{
"required":"Обязательно введите имя"
}
}`
&fileRules=`{
"ufile":{
"required":"Фото забыл",
"allowed":{
"params": [ ["jpg","jpeg"] ],
"message": "Разрешены только фотки"
}
}
}`
&formTpl=`@CODE:
<div class="row">
<div class="col-md-8 col-md-offset-2">
<div class="well">
<form class="form-horizontal" method="post" enctype="multipart/form-data">
[+form.messages+]
<input type="hidden" name="formid" value="basic">
<div class="form-group[+name.errorClass+][+name.requiredClass+]">
<label for="name" class="col-sm-2 control-label">* Имя</label>
<div class="col-sm-10">
<input type="text" class="form-control" id="name" placeholder="Имя" name="name" value="[+name.value+]">
[+name.error+]
</div>
</div>
<div class="form-group[+ufile.errorClass+][+ufile.requiredClass+]">
<label for="first" class="col-sm-2 control-label">* Приложите фоточку</label>
<div class="col-sm-10">
<input type="file" class="form-control" name="ufile">
[+ufile.error+]
</div>
</div>
<div class="form-group">
<div class="col-sm-offset-2 col-sm-10">
<button type="submit" class="btn btn-primary"><i class="glyphicon glyphicon-envelope"></i> Отправить</button>
</div>
</div>
</form>
</div>
</div>
</div>`
&errorClass=` has-error`
&noemail=`1`
&requiredClass=` has-warning`
&messagesOuterTpl=`@CODE:<div class="alert alert-danger" role="alert">[+messages+]</div>`
&errorTpl=`@CODE:<span class="help-block">[+message+]</span>`
&prepareAfterProcess=`prepareUpload`
!]
Сниппет prepareUpload:
<?php
$files = $FormLister->getFormData('files');
if (isset($files['ufile']) && $files['ufile']['error'] === 0) {
$dir = 'assets/images/';
$filename = $FormLister->fs->takeFileName($files['ufile']['name']);
$ext = $FormLister->fs->takeFileExt($files['ufile']['name']);
$filename = $modx->stripAlias($filename).'.'.$ext;
$filename = $FormLister->fs->getInexistantFilename($dir.$filename,true);
if ($FormLister->fs->makeDir($dir) && move_uploaded_file($files['ufile']['tmp_name'],$filename)) {
return $data;
}
}
Марина Жукова 24.04.2021 16:18 #
Ирина 26.04.2021 11:07 #
Алексей Либер 04.05.2021 14:40 #
Я и сам ставил минусы, но в каждом конкретном случае объяснял почему. А вот те, кто Андрею минуса влипил можете сформулировать что не так в статье, без относительно авторства? Судя по всему — нет.
А в целом, Андрюх, если это не статья ради статьи (сам такое писал, ничего против не имею=)), лучше все же подобные решения записывать в личку, а здесь выкладывать все же новости и статьи, чтобы у недоброжелателей не было аргументов поставить минус) Хотя, когда кого это останавливало)
Андрей Казунин 04.05.2021 17:37 #
Не было бы повода, не писал бы. Да вон на днях в чатике как раз паренёк искал. Собственно, ему в том числе и было написано.
А насчёт минусов — так это наш тру-разработчик спутников Настенька старается.
Алексей Либер 04.05.2021 22:49 #
Андрей Казунин 06.05.2021 08:38 #
Детально я и на 40 минут могу. Ну ты в курсе =)
Сергей 21.07.2021 22:23 #
Нужно получить от пользователя сразу 5 фото.
Пробовал клонировать сниппет (с изменением ufile на ufile2...) но форма в таком случае вообще не отправляется.
Спасибо!
Anna 30.01.2022 01:42 #