Закачка файла посетителем на странице сайта — различия между версиями
Stexe (обсуждение | вклад) |
Stexe (обсуждение | вклад) |
||
Строка 39: | Строка 39: | ||
?> | ?> | ||
</source> | </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;
?>
Если файл еще не был закачен, то будет выведена форма для его закачки, или ссылка для его скачивания в ином случае.