Forums / National / Russian / Сборка «Фриланс-биржа» / Загрузка документа

yourmaze
#1 2016-06-26 09:27

Здравствуйте! Такая задача: требуется сделать возможность для пользователя загрузить на сервер какой-либо документ(pdf,doc,png и тд.).

Создал плагин, в контроллере в tpl файл передаю 

'DOCVERIFICATION_FORM_FILE' => cot_inputbox('file', 'verific-file', '', '') 

В tpl файле создал форму, в которой добавлен {DOCVERIFICATION_FORM_FILE}

Но не понимаю как обработать полученный файл. Обработчик ничего не выводит 

print_r(cot_import('verific-file','P','HTM'));

 

Macik
#2 2016-06-27 15:33

Если вам нужна загрузка файлов, то Вы используете не те инструменты:

`cot_inputbox()` — генерит код обычного текстового поля, смотрите функцию `cot_filebox()`.

Аналогично `cot_import('verific-file','P','HTM')` это функция для импорта текстового значения (фильтр HTM по суте только обрезает пробелы по краям).  Для импорта файлов можно воспользоваться стандартными средствами PHP. 

 

Кроме того, для упрощения можно воспользоваться API экстаполей —

  1. либо вообще отказаться от плагина, еслизадача стоит только в загурзке файлов и этот файл можно однозначно привязать к какой-либо внутренней структуре данных. Например таблице пользователи. Тогда через админку создаем экстраполе типа файл и выводим его в профиле пользователя. В этом случае и поле и испорт будут автоматическими, вам надо будет тольк в соотв. шаблон вставить тег экстраполя (для моего примера в users.profile.tpl)
  2. Можно использовать API экстраполей в своем плагине — таким образом сократив код по обработке.  Смотри ф-и:
    `cot_build_extrafields()` — для создания поля загрузки
    `cot_import_extrafields()` — для импорта 
    и дополнительные `cot_extrafield_movefiles()`,  `cot_import_filesarray()`, cot_extrafield_unlinkfiles().

 


 

https://github.com/macik
правильный хостинг — https://goo.gl/fjCa1F