Супербыстрый хостинг на SSD от 165р в месяц   •   Реклама
3 628 просм
33 комм
Поделиться:

Анимированная кнопка «Скачать» для DLE

Сегодня на нашем сайте пополнение – новая работа для DataLife Engine – стильная кнопка «Скачать» с анимацией.

Анимированная кнопка «Скачать» для DLE

Что можно отметить в этой кнопке?

  1. Приятный дизайн.
  2. Красивая анимация, которая продумана до мелочей.

Поэтому, не раздумывая, ставьте ее на свои проекты и делитесь ею с друзьями!

Установка

Итак, для установки необходимо проделать несколько несложных шагов, которые включают в себя замену и изменение участков кода движка.

1. Подключитесь к вашему сайту по FTP.

2. Откройте файл attachment.tpl в папке /templates/artem_malcov/ (то, что подчеркнуто – папка вашей темы) и все содержимое файла замените на:

[allow-download]

	<div class="attachment_position">
	
		<a href="{link}" title="Скачиваний: {count}">
		
			<div class="attachment_main"></div>
			
			<div class="attachment_block">
			
				<div class="attachment_block_2">
				
					<div class="attachment_block_3">

						<div class="attachment_file">
							<span>Скачать сейчас</span>
							Расширение: {extension}
						</div>

						<div class="attachment_size">
							{size}
						</div>

						<div class="attachment_border"></div>

					</div>
					
				</div>

				<div class="icon_attachment"></div>
				
			</div>
			
		</a>
		
	</div>
	
[/allow-download]

<script>

	$(".attachment_position").on({

		mouseenter: function () {

			var attachment_target = $(this);

			$(attachment_target).addClass('attachment_active');

			setTimeout(function() {
			
				$(".attachment_active .attachment_block_2").css({
					"margin": "6px 0 0 0"
				});

				$(".attachment_active .attachment_block_3").css({
					"margin": "0 0 0 -17px"
				});

				setTimeout(function() {
				
					$(".attachment_active .icon_attachment").css({
						"opacity": "1",
						"visibility": "visible",
						"-webkit-transform": "translateY(0)",
						"-moz-transform": "translateY(0)",
						"-ms-transform": "translateY(0)",
						"transform": "translateY(0)"
					});
					
				}, 400);
				
			}, 400);

		}, mouseleave: function () {

			var attachment_target = $(this);

			setTimeout(function() {
			
				$(".attachment_active .attachment_block_2").css({
					"margin": "6px 0 0 37px"
				});

				$(".attachment_active .attachment_block_3").css({
					"margin": "0 0 0 4px"
				});

				$(attachment_target).removeClass('attachment_active');
				
			}, 400);

			setTimeout(function() {
			
				$(".attachment_active .icon_attachment").css({
					"opacity": "0",
					"visibility": "hidden",
					"-webkit-transform": "translateY(-20%)",
					"-moz-transform": "translateY(-20%)",
					"-ms-transform": "translateY(-20%)",
					"transform": "translateY(-20%)"
				});
				
			}, 0);

			setTimeout(function() {
			
				$(".attachment_active .icon_attachment").css({
					"opacity": "0",
					"visibility": "hidden",
					"-webkit-transform": "translateY(-20%)",
					"-moz-transform": "translateY(-20%)",
					"-ms-transform": "translateY(-20%)",
					"transform": "translateY(-20%)"
				});
				
			}, 800);
    	
		}
		
	});
	
</script>

Сохраните изменения и отправьте файл обратно на сайт.

3. В секцию HEAD, перед закрывающим ее тегом (чаще всего она находится в файле main.tpl), подключите шрифт:

<link href="https://fonts.googleapis.com/css?family=Open+Sans+Condensed:300" rel="stylesheet">

4. Далее в файл ваших стилей, в самый низ, вставьте:

/** © 2017 Artem Malcov | https://www.pandoge.com/moduli-i-skripty/animirovannaya-knopka-skachat-dlya-dle **/

.attachment_position * {
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
}

.attachment_position *:before, .attachment_position *:after {
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
}

.attachment_position {
	position: relative;
	height: 72px;
	width: 330px;
	margin: 0 auto;
}

.attachment_main {
	background: url("../img/pattern_4.png");
	height: 72px;
	width: 330px;
	border-radius: 99px;
	position: absolute;
	transition: .3s;
	z-index: 99;
	top: 0;
	left: 0;
	opacity: 0;
	box-shadow: 0px 1px 1px 0px rgba(0, 0, 0, .1) inset;
}

.attachment_position:hover .attachment_main {
	opacity: 1;
	transition: .3s;
}

.attachment_block {
	background: url("../img/pattern.png");
	width: 290px;
	height: 64px;
	border-radius: 99px;
	float: right;
	margin: 4px 4px 0 0;
	position: absolute;
	top: 0;
	right: 0;
	z-index: 999;
}

.attachment_block_2 {
	width: 215px;
	height: 52px;
	background: url("../img/pattern_2.png");
	border-radius: 99px;
	border-bottom: 1px solid #3a9bbd;
	box-shadow: 0px 2px 2px 0px rgba(0, 0, 0, .2) inset;
	margin: 6px 0 0 37px;
	padding: 4px 0 0 0;
	transition: .3s;
}

.icon_attachment {
	width: 50px;
	height: 39px;
	background: url("../img/download.png") no-repeat center center;
	opacity: 0;
	margin: 16px 13px 0 0;
	-webkit-transform: translateY(-20%);
	-moz-transform: translateY(-20%);
	-ms-transform: translateY(-20%);
	transform: translateY(-20%);
	visibility: hidden;
	position: absolute;
	top: 0;
	right: 0;
	transition: .3s;
}

.attachment_block_3 {
	width: 207px;
	height: 44px;
	background: url("../img/pattern_3.png");
	border-radius: 99px;
	margin: 0 0 0 4px;
	box-shadow: 0px 1px 1px 0px rgba(0, 0, 0, .4);
	border-top: 1px solid #53616f;
	transition: .3s;
}

.stop_animation {
	opacity: 0 !important;
	-webkit-transform: translateY(-20%) !important;
	-moz-transform: translateY(-20%) !important;
	-ms-transform: translateY(-20%) !important;
	transform: translateY(-20%) !important;
	visibility: hidden !important;
}

.attachment_file {
	font-family: "Open Sans Condensed", sans-serif;
	color: #fff;
	font-size: 12px;
	text-transform: uppercase;
	padding: 1px 0 0 18px;
	float: left;
}

.attachment_file span {
	font-size: 17px;
	display: block;
	margin: 0 0 -3px 0;
}

.attachment_size {
	float: right;
	color: #fff;
	font-family: "Open Sans Condensed", sans-serif;
	padding: 3px 17px 0 0;
	text-transform: uppercase;
	font-size: 15px;
}

.attachment_size span {
	font-size: 26px;
}

.attachment_border {
	border-left: 1px solid #3b3a3d;
	border-right: 1px solid #2b292c;
	height: 43px;
	float: right;
	margin: 0 10px 0 0;
}

.attachment_position a {
	text-decoration: none !important;
}

5. Скачайте архив в конце статьи, содержимое загрузите в папку вашей темы. В случае, если графика на кнопке отсутствует – проставьте корректные адреса до нее в стилях выше.

6. Откройте файл functions.php в папке /engine/modules/, найдите строку, содержащую:

$tpl->set( '{size}', formatsize( @filesize( ROOT_DIR . '/uploads/files/' . $row['onserver'] ) ) );

и замените ее на:

$size_fix = formatsize(@filesize(ROOT_DIR."/uploads/files/".$row["onserver"]));
$size_fix = explode(" ", $size_fix);
$tpl->set("{size}", "<span>".$size_fix[0]."</span>".$size_fix[1]);

Сохраните изменения и отправьте файл обратно на сайт.

7. Очистите кэш сайта. Установка закончена.

Для представления того, как в итоге все должно получиться, посмотрите это видео:

Приятного пользования!

ФайлРазмерСсылка
33
комментария
Гостям запрещено участвовать в обсуждениях сайта. Авторизуйтесь, чтобы расширить привилегии гостевого посещения и получить необходимую помощь от сообщества Pandoge.
Пользователь  |  4

Artyom Malkov, Хорошо, я написал тебе: support@pandoge.com

Вчера в 19:50
  • 0
Администратор  |  732

Zied Ammar, пришлите доступ к сайту (админка+FTP), постараюсь узнать в чем дело.

Вчера в 16:37
  • 0
Пользователь  |  4

Artyom Malkov,

Спасибо, я не могу найти какой-либо вариант в настройках системы, чтобы включить/отключить размер вложения.

вот скриншот настройки файла: https://i.ibb.co/HG40FY9/screen.png

Вчера в 15:26
  • 0
Администратор  |  732

Zied Ammar, насколько я вижу, в DLE этой версии есть поддержка тега {size}, а в этой кнопке он прописан. Единственное что, проверьте настройки админки, может быть там есть отключение отображения размера в файлах.

Вчера в 00:38
  • 0
Пользователь  |  4

Artyom Malkov,

DLE V13.2

Вчера в 00:15
  • 0
Администратор  |  732

Zied Ammar, здравствуйте. Какая версия DLE?

15.11 в 17:35
  • 0
Пользователь  |  4

Здравствуй,

Подскажите пожалуйста, как отобразить размер файла внутри кнопки

В full-story код такой: [attachment=3]

https://i.ibb.co/ScjvF6B/download-button.png

15.11 в 12:31
  • 0
Администратор  |  732

Vlad, хотелось бы больше конкретики.

Какая версия движка. Чистили ли кэш. Сайт, где наблюдается проблема.

22.02 в 22:13
  • 0
Пользователь  |  1

Не работает. При нажатии на кнопку просто перенаправляет на главную страницу сайта

22.02 в 19:53
  • 0
Администратор  |  732

Serega, адаптировать шаблон под дополнительное поле.

11.03 в 16:13
  • 6
Гости  |  679

Как такую кнопку сделать, чтобы вела на внешний файл загрузки, к примеру на файлообменик?????

11.03 в 02:54
  • 0
Гости  |  679

Артем, приношу свои извинения, вот я слепота не видел навигации.

Извините ещё раз.

Проблема решена спасибо огромное Вам, за терпеливость и отзывчивость.

9.02 в 01:58
  • 2
Администратор  |  732

artem, решение описано выше + в отдельной статье - https://www.pandoge.com/haki/vyvodim-rasshirenie-fayla-attachment-v-dle-versiy-nizhe-105

8.02 в 12:52
  • 7
Гости  |  679

Сколько возьмёшь чтобы исправить ошибку? Только если можно не затягивать с ответом

8.02 в 11:45
  • 0
Гости  |  679

Помогите решить проблему не могу найти выход уже неделю ищу способ решить не получается.

30.01 в 22:07
  • 1
Администратор  |  732

artem, а что по Вашему выше я написал три дня назад?

28.01 в 12:35
  • 6
Гости  |  679

помоги пожалуйста решить эту проблему

28.01 в 12:05
  • 1
Гости  |  679

Здравствуйте, вижу не поможете?

27.01 в 21:08
  • 1
Администратор  |  732

artem, откройте файл functions.php в папке /engine/modules/

Далее, найдите:

$row['name'] = end( $row['name'] );

и сразу после, вставьте:

$filename_arr = explode( ".", $row['onserver'] );

$type = strtolower(end( $filename_arr ));

Здесь же найдите:

$tpl->set( '{name}', $row['name'] );

И сразу после вставьте:

$tpl->set( '{extension}', $type );

Сохраните изменения и отправьте файл обратно на сервер.

Очистите кэш сайта, проблема должна решиться.

25.01 в 01:51
  • 10
Гости  |  679

Версия движка 10.5

24.01 в 18:46
  • 0
Администратор  |  732

artem, какая у Вас версия движка?

24.01 в 18:13
  • 5
Гости  |  679

Здравствуйте, поможете? или хотя бы подскажите где исправить.

24.01 в 09:23
  • 0
Гости  |  679

А вот об этой ошибке можете что-то подсказать как исправить http://prntscr.com/i4jz5u ведь там должно быть так http://prntscr.com/i4k02q

Буду очень признателен если поможете.

Спасибо зарание

23.01 в 21:33
  • 0
Гости  |  679

Артем сделайте еще пару стильных кнопок.

9.12 в 21:24
  • 1
Администратор  |  732

Юрий, Что-то мне подсказывает, что вы не все сделали по инструкции. А именно -

В случае, если графика на кнопке отсутствует – проставьте корректные адреса до нее в стилях выше.

Так что сначала делайте все по инструкции - а только потом возникайте. wink

29.11 в 17:21
  • 5
Администратор  |  732

Рус, Здравствуйте. Не заметил недочетов на сайте. Может у Вас кэш?

18.11 в 22:20
  • 7
Гости  |  679

Артем доброго времени. Поставил еще вашу кнопку и на другой сайт все работает но съехала надпись размер торрента,и разделитель текста посмотрите в чем дело а то чет не могу найти стил отвечающий за это. {link} Спасибо!

18.11 в 21:38
  • 0
Администратор  |  732

Рус, Здравствуйте!

1. В head вашего сайта вставьте:

<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.4/jquery.min.js"></script>

2. Поправьте ссылки до изображений в стилях.

16.11 в 21:09
  • 5
Гости  |  679

Не работает ваша кнопка Артем,вернее ее анимация.. сайт {link} посмотрите в чем проблема. Спасибо.

16.11 в 20:58
  • 0
Администратор  |  732

Вася, Здравствуйте. Пришлите сайт где установлена кнопка - подскажу как исправить.

7.11 в 13:17
  • 5
Гости  |  679

Спасибо, дельная вещь, Артём не подсобишь, вроде бы всё по инструкции сделал, но на кнопке палка какая-то появилась не могу убрать, прям посередине

7.11 в 08:56
  • 0
Администратор  |  732

Владимир, после того, как Вы все сделали по инструкции - заходите в панель управления вашим сайтом в добавление или редактирование материала и загружаете в него файл.

По окончанию загрузки, при клике на файл, вам высветится ссылка на скачивание вида [attachment=123:archive.zip]

Этот код вы копируете и вставляете либо в описание материала, либо в дополнительное поле. Сохраняете, чистите кэш если он есть, и любуетесь результатом.

28.09 в 02:50
  • 7
Гости  |  679

А как в новость то вставить эту кнопку?

27.09 в 23:07
  • 0
Подняться наверх
«Pandoge» - помощник веб-мастера