Скачка файла с задержкой для гостей — различия между версиями

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