Закачка файла посетителем на странице сайта — различия между версиями
Stexe (обсуждение | вклад) м (переименовал «Как можно реализовать возможность закачивать пользователям файлы на сервер с фронтенда?» в «[[Закачка файла посетителем н) |
Stexe (обсуждение | вклад) |
||
(не показаны 4 промежуточные версии этого же участника) | |||
Строка 1: | Строка 1: | ||
− | [[Категория:Верстка в TPL]][[Категория: | + | [[Категория:Верстка в TPL]][[Категория: Вопросы и уроки разработки сайтов на UMI.CMS]] |
'''Актуально для версии 2.9.6'''<br/><br/> | '''Актуально для версии 2.9.6'''<br/><br/> | ||
− | '''Задача:''' <br/><br/> | + | '''Задача:''' Дать возможность закачки файла посетителям сайта<br/><br/> |
'''Реализация:''' | '''Реализация:''' | ||
+ | В типе данных страниц, на которых будет располагаться форма закачки файла, в модуле "Шаблоны данных" добавим поле типа "Файл" c идентификатором "fs_file". | ||
+ | Если типом данных страниц является тип "Скачиваемый файл", то в нем уже присутствует описанное выше поле. Для того, чтобы посетители сайта имели возможность закачать файл для страниц, необходимо установить группе "Все" права на их (страниц) редактирование (секция "Права доступа").<br/><br/> | ||
+ | В шаблон вывода этих страниц добавим вызов макроса %filemanager shared_file()%: | ||
+ | <source lang="html4strict"> | ||
+ | %filemanager shared_file('upload')% | ||
+ | </source> | ||
+ | Создадим файл tpls\filemanager\upload.tpl и добавим в него следующее содержимое: | ||
+ | <source lang="html4strict"> | ||
+ | <?php | ||
− | + | $FORMS['shared_file'] = <<<END | |
− | + | Имя файла: %file_name% <br /> | |
− | + | Размер файла: %file_size% Kb <br /> | |
− | + | Если закачивание файла не начнется через 10 сек, кликните | |
− | + | <a href="%download_link%">по этой ссылке</a> | |
− | + | <script languge="text/javascript"> | |
− | + | window.setTimeout('document.location.href="%download_link%";', 10000); | |
− | |||
− | Если закачивание файла не начнется через 10 сек, | ||
− | |||
− | <script languge="text/javascript"> | ||
− | window.setTimeout('document.location.href="% download_link%";', 10000); | ||
</script> | </script> | ||
− | |||
END; | END; | ||
− | + | ||
$FORMS['upload_file'] = <<<END | $FORMS['upload_file'] = <<<END | ||
− | <form method="post" enctype="multipart/form-data" action=""> | + | <form method="post" enctype="multipart/form-data" action=""> |
− | <input type="file" name="shared_files[upload]" /> <input type="submit" value="Закачать" /> | + | <input type="file" name="shared_files[upload]" /> |
− | </form> | + | <input type="submit" value="Закачать" /> |
+ | </form> | ||
END; | END; | ||
− | + | ||
$FORMS['broken_file'] = <<<END | $FORMS['broken_file'] = <<<END | ||
− | + | Файл не существует. | |
− | + | %upload_file% | |
END; | END; | ||
− | + | ||
?> | ?> | ||
+ | </source> | ||
− | + | Если файл еще не был закачен, то будет выведена форма для его закачки, или ссылка для его скачивания в ином случае. | |
− | |||
− | |||
− | |||
− | |||
− | |||
− |
Текущая версия на 09:03, 11 апреля 2014
Актуально для версии 2.9.6
Задача: Дать возможность закачки файла посетителям сайта
Реализация:
В типе данных страниц, на которых будет располагаться форма закачки файла, в модуле "Шаблоны данных" добавим поле типа "Файл" c идентификатором "fs_file".
Если типом данных страниц является тип "Скачиваемый файл", то в нем уже присутствует описанное выше поле. Для того, чтобы посетители сайта имели возможность закачать файл для страниц, необходимо установить группе "Все" права на их (страниц) редактирование (секция "Права доступа").
В шаблон вывода этих страниц добавим вызов макроса %filemanager shared_file()%:
%filemanager shared_file('upload')%
Создадим файл tpls\filemanager\upload.tpl и добавим в него следующее содержимое:
<?php
$FORMS['shared_file'] = <<<END
Имя файла: %file_name% <br />
Размер файла: %file_size% Kb <br />
Если закачивание файла не начнется через 10 сек, кликните
<a href="%download_link%">по этой ссылке</a>
<script languge="text/javascript">
window.setTimeout('document.location.href="%download_link%";', 10000);
</script>
END;
$FORMS['upload_file'] = <<<END
<form method="post" enctype="multipart/form-data" action="">
<input type="file" name="shared_files[upload]" />
<input type="submit" value="Закачать" />
</form>
END;
$FORMS['broken_file'] = <<<END
Файл не существует.
%upload_file%
END;
?>
Если файл еще не был закачен, то будет выведена форма для его закачки, или ссылка для его скачивания в ином случае.