Скачка файла с задержкой для гостей — различия между версиями
Материал из Umicms
Kirill (обсуждение | вклад) (Новая страница: «'''Скачка файла с задержкой для гостей 2.8.*''' В папке "\tpls\filemanager\" нужно внести изменения в ша…») |
Velross (обсуждение | вклад) |
||
(не показано 6 промежуточных версий этого же участника) | |||
Строка 1: | Строка 1: | ||
− | + | Актуально для 2.9.6 | |
+ | ---- | ||
+ | |||
+ | |||
+ | '''Задача:''' показать ссылку для скачивания незарегистрированному пользователю с определенной задержкой. | ||
+ | |||
+ | '''Решение:''' | ||
+ | Данное решение применимо для шаблонизатора 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 секунд. Чтобы не ждать - зарегистрируйтесь'; |
− | + | 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== | + | |
+ | ''PS: Запись ''if (i==337)'' указывает на ID пользователя "Гость" и у вас может отличаться.'' | ||
+ | |||
+ | [[Категория:Написание кастомных макросов]][[Категория:Вопросы и уроки разработки сайтов на UMI.CMS]] |
Текущая версия на 09:59, 30 апреля 2014
Актуально для 2.9.6
Задача: показать ссылку для скачивания незарегистрированному пользователю с определенной задержкой.
Решение: Данное решение применимо для шаблонизатора 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 секунд. Чтобы не ждать - зарегистрируйтесь';
window.setTimeout('timerDownload()', 60000);
} else {
document.getElementById('download_guest').innerHTML='Если закачивание файла не начнется через 10 сек, кликните <a href="%download_link%">по этой ссылке</a>'
}
</script>
END;
PS: Запись if (i==337) указывает на ID пользователя "Гость" и у вас может отличаться.