Информер курса валют ЦБ РФ   •   Магазин расширений
1 640 просм
6 комм
Поделиться:

Получаем прямую ссылку на файл статьи (attachment) в DLE

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

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

И вот как мы решили эту задачу.

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

2. В нем найдите строку:

$tpl->set( '{link}', $config['http_home_url']."engine/download.php?id=".$row['id'].$area );

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

$tpl->set('{link}', $config['http_home_url']."uploads/files/".$row['onserver']);

3. Здесь же найдите строку:

$tpl->result['attachment'] = str_replace( $row['name'], "\1", $tpl->result['attachment'] );

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

$tpl->result['attachment'] = preg_replace("/b(".$row['name'].")b/i", "\$1", $tpl->result['attachment']);

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

Теперь все ваши файлы в материалах будут доступны для скачивания по прямой ссылке.

6
комментарий
Artem
5.01 в 23:22
Полезная однако штука. Тюнинг Dle радует всегда) Побольше бы таких разных ништяков на этом блоге cool
  • 2
Вадим Агеев
10.01 в 18:04
Артем, давно читаю Ваш блог.
Со всеми праздниками и спасибо за то, что Вы делаете!
  • 2
Nick
21.01 в 23:46
У вас не открывается статья "12 вариантов обрезки строки на PHP" - битая ссылка с короткой новости
  • 1
Алексей
1.05 в 20:49
Все сделал,ничего не изменилось. Нужно доп.поля создавать, то какое? smiley
  • 0
Анатолий
Вчера в 21:24
Здравствуйте! У меня отсутствует строка $tpl->set( '{link}', $config['http_home_url']."engine/download.php?id=".$row['id'].$area ); в файле functions.php. DLE версии 13. Что-по поменялось в новой версии или я не там ищу?
  • 0
Сегодня в 03:22
Анатолий, в 13 версии это строчка:

$tpl->set( '{link}', $config['http_home_url']."index.php?do=download&id=".$row['id'].$area_link );
  • 0
Оставить комментарий:
Нажимая кнопку «Отправить» вы даете согласие на обработку своих персональных данных.
Ваше Имя
Ваш E-mail
Текст комментария