Бот-информер доступности сайта   •   Магазин расширений
1 973 просм
8 комм
Поделиться:

Получаем прямую ссылку на файл статьи (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. Очистите кэш сайта. Установка закончена.

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

8
комментариев
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
Анатолий
17.09 в 21:24
Здравствуйте! У меня отсутствует строка $tpl->set( '{link}', $config['http_home_url']."engine/download.php?id=".$row['id'].$area ); в файле functions.php. DLE версии 13. Что-по поменялось в новой версии или я не там ищу?
  • 0
Анатолий, в 13 версии это строчка:

$tpl->set( '{link}', $config['http_home_url']."index.php?do=download&id=".$row['id'].$area_link );
  • 0
Сергей Розенталь
22.09 в 10:56
Артем ,здравствуйте!
Как можно связаться с Вами ?
  • 0
Сергей Розенталь, вверху есть форма обратной связи. На главной странице есть ссылки на соц сети.
  • 0
Гостям запрещено учавствовать в обсуждениях сайта. Авторизуйтесь, чтобы иметь возможность оставить свое мнение о материале или задать вопрос.