Помощь начинающим веб
разработчикам

Отдаем файл на скачивание пользователям сайта - с задержкой

28.04.2015

Привлечение пользователей на сайт, для многих администраторов, является «целью жизни», а что бы пользователь зарегистрировался в системе, так здесь вообще целая эпопея. Сейчас пользователи совершенно не хотят создавать аккаунты на сайтах, если конечно, после регистрации они не получат дополнительную функцию (бонус) по использованию данного ресурса.

Одним из таких бонусов, может предоставить данный модуль – Delay Downloads. Принцип работы довольно простой, он предоставляет для пользователей определенной роли скачивание файла с задержкой. Например, анонимные пользователи, прежде чем скачать файл будут ждать несколько секунд, а зарегистрированные пользователи смогут скачать файл напрямую без задержки.

Данный модуль можно скачать в конце статьи. Обо всех найденных багах – просьба писать в комментариях.

Теперь более подробно о модуле и как его настроить. Установка, такая же, как и у всех модулей. Из зависимостей - модуль transliteration. После активации модуля, для полей сущностей с типом «Файл», будет доступен новые форматтер.

Доступен новый форматтер

Форматтер, так же имеет свои настройки:

  • Задержка на скачивание файла, указывается в миллисекундах. Например, значение в 5000, будет означать задержку в 5 секунд.
  • Для каких ролей системы необходимо организовывать задержку. Если роль отмечена, то для пользователя с данной ролью будет организована задержка в миллисекундах, которые вы указали выше.
Настройки форматтера

Не забудьте только после обновления нажать кнопку сохранить. На этом в принципе, все настройки и заканчиваются.

Теперь если вы зайдете на сайт как анонимный пользователь, то прежде чем скачать файл увидите такую картину:

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

Ну а для всех остальных ролей, загрузка файла начнется без ожидания.

Теперь немного о темизации. Внутри модуля есть шаблон:

  1. delaydownloads.tpl.php

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

Список переменных доступных в шаблоне:

  • $fid – уникальный ID файла
  • $title – название файла

Хочу заметить, что $title в первую очередь забирает название вашего файла, но если для данного поля вы активировали описание (данный чекбокс доступен в настройках поля), то заголовок формируется из описания.

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

Версия 1.0 Скачать модуль Delay Downloads
Узнавай о новых статьях сайта - первым. Просто подпишись на рассылку.

Комментарии (1)

Profile picture for user Алексей
Лана
29.04.2015

крутой модуль, спасибо!

Добавить комментарий

- Оповестить о новом комментарии.
- Все комментарии
- Только мои комментарии