ExpressionEngine SAEF Загрузка файла на конкретную директой - PullRequest
0 голосов
/ 09 июня 2011

Я использую expressionsengine 2.x и пытаюсь создать форму загрузки файла для внешнего пользователя, где загруженный файл будет сохранен в папке, названной в честь зарегистрированного идентификатора пользователя.Можем ли мы сделать это с помощью Saef или Safecracker.Если нет, есть ли другие варианты.

Ответы [ 2 ]

1 голос
/ 09 июня 2011

В этом случае, поскольку SafeCracker не имеет каких-либо расширений, и я не знаю каких-либо надстроек, которые бы допускали такое специфическое поведение, я бы сделал копию файла SafeCracker и изменил бы ее, чтобы добавить эту функциональность. В противном случае вы просто начинаете с нуля со своим собственным типом поля «загрузить файл».

Вы захотите просмотреть строку 148 в ft.safecracker_file.php и добавить небольшой кусочек кода, чтобы проверить, существует ли каталог с отображаемым именем вошедшего в систему пользователя или что у вас ( посмотрите, как получить это здесь ), создайте его, если это не так, затем добавьте это имя каталога к пути загрузки:

$data = $this->EE->filemanager->upload_file($this->settings['safecracker_upload_dir'].'/'.$users_directory_name, $field_name);

Думаю, это должно помочь тебе начать.

1 голос
/ 09 июня 2011

SafeCracker поставляется в комплекте с типом поля, SafeCracker File , для создания полей загрузки файлов.Этот тип поля использует любые каталоги для загрузки файлов , созданные вами на панели управления.

По умолчанию все загруженные файлы будут сохраняться в каталоге, указанном в настройках каталога загрузки файлов.

Чтобы файлы SafeCracker загружались в подпапку , названную по имени зарегистрированного идентификатора пользователя , вы можете разработать собственное дополнение или использовать совместимый тип поля, который работает с SafeCracker. - если он существует в соответствии с вашими потребностями.

Альтернативой SafeCracker может быть использование Solspace Freeform Module .Однако даже при этом все загруженные вами файлы будут сохраняться в том же месте назначения загрузки файлов, а не вложенными в подпапки.

...