Скачка файла с задержкой для гостей — различия между версиями
Материал из Umicms
Kirill (обсуждение | вклад) (Новая страница: «'''Скачка файла с задержкой для гостей 2.8.*''' В папке "\tpls\filemanager\" нужно внести изменения в ша…») |
Velross (обсуждение | вклад) |
||
| Строка 1: | Строка 1: | ||
| − | '''Скачка файла с задержкой для гостей | + | '''Скачка файла с задержкой для гостей (TPL)''' |
| + | Задача: показать ссылку для скачивания незарегистрированному пользователю с определенной задержкой. | ||
| + | |||
| + | Решение: | ||
| + | Задержку отображения ссылки для скачивания мы можем организовать при помощи JS. | ||
В папке "\tpls\filemanager\" нужно внести изменения в шаблон default.tpl | В папке "\tpls\filemanager\" нужно внести изменения в шаблон default.tpl | ||
| − | < | + | <source lang="javascript"> |
| − | $FORMS['shared_file'] = <<<END | + | $FORMS['shared_file'] = <<<END |
| − | + | Имя файла: %file_name% <br /> | |
Размер файла: %file_size% Kb<br /><br /> | Размер файла: %file_size% Kb<br /><br /> | ||
%current_user_id% | %current_user_id% | ||
| − | + | <div id='download_guest'></div> | |
| − | + | <script languge="text/javascript"> | |
| − | var i=%current_user_id%; | + | var i=%current_user_id%; |
| − | function | + | function timerDownload() { |
| − | { | + | document.getElementById('download_guest').innerHTML+='Ваша ссылка на скачивание <a href="%download_link%">по этой ссылке</a>'; |
| − | document.getElementById(' | + | } |
| − | href="%download_link%">по этой ссылке</a>'; | + | if (i==337) { |
| − | } | + | document.getElementById('download_guest').innerHTML='Скачивание начнётся через 60 секунд. Чтобы не ждать - зарегистрируйтесь'+setInterval(time()); |
| − | + | window.setTimeout('timerDownload()', 60000); | |
| − | + | } else { | |
| − | + | document.getElementById('download_guest').innerHTML='Если закачивание файла не начнется через 10 сек, кликните <a href="%download_link%">по этой ссылке</a>' | |
| − | начнётся через 60 секунд. Чтобы не ждать - зарегистрируйтесь'; | + | } |
| − | + | </script> | |
| − | |||
| − | |||
| − | |||
| − | |||
| − | закачивание файла не начнется через 10 сек, кликните <a | ||
| − | href="%download_link%">по этой ссылке</a>' | ||
| − | |||
| − | |||
END; | END; | ||
| − | </ | + | </source> |
| − | ''PS: Запись ''if (i==2373)'' указывает на ID | + | |
| + | ''PS: Запись ''if (i==2373)'' указывает на ID пользователя "Гость" и у вас может отличаться.'' | ||
| + | |||
| + | [[Категория:Написание кастомных макросов]][[Категория:Вопросы и уроки разработки сайтов на UMI.CMS]] | ||
Версия 09:19, 11 апреля 2014
Скачка файла с задержкой для гостей (TPL)
Задача: показать ссылку для скачивания незарегистрированному пользователю с определенной задержкой.
Решение: Задержку отображения ссылки для скачивания мы можем организовать при помощи JS. В папке "\tpls\filemanager\" нужно внести изменения в шаблон default.tpl
$FORMS['shared_file'] = <<<END
Имя файла: %file_name% <br />
Размер файла: %file_size% Kb<br /><br />
%current_user_id%
<div id='download_guest'></div>
<script languge="text/javascript">
var i=%current_user_id%;
function timerDownload() {
document.getElementById('download_guest').innerHTML+='Ваша ссылка на скачивание <a href="%download_link%">по этой ссылке</a>';
}
if (i==337) {
document.getElementById('download_guest').innerHTML='Скачивание начнётся через 60 секунд. Чтобы не ждать - зарегистрируйтесь'+setInterval(time());
window.setTimeout('timerDownload()', 60000);
} else {
document.getElementById('download_guest').innerHTML='Если закачивание файла не начнется через 10 сек, кликните <a href="%download_link%">по этой ссылке</a>'
}
</script>
END;
PS: Запись if (i==2373) указывает на ID пользователя "Гость" и у вас может отличаться.