Выводим расширение файла (attachment) в DLE версий ниже 10.5
В одной из последних наших работ, а именно в красивой кнопке «Скачать» для DataLife Engine, пользователь нашего сайта нашел баг – на его сайте не отображалось расширение прикрепленного файла.
Как позже выяснилось, в более поздних версиях движка отсутствует тег, который выводит соответствующую информацию о файле.
И сегодня я расскажу вам как это можно исправить.
1. Подключитесь к вашему сайту по FTP.
2. Откройте файл functions.php в папке /engine/modules/. Здесь найдите строку:
$row['name'] = end( $row['name'] );
и сразу после нее вставьте:
$filename_arr = explode(".", $row["onserver"]);
$type = strtolower(end($filename_arr));
3. Далее здесь же найдите строку:
$tpl->set( '{name}', $row['name'] );
И сразу после вставьте:
$tpl->set("{extension}", $type);
Сохраните изменения и отправьте файл обратно на сайт.
4. Почистите кэш сайта. Установка хака закончена.
Теперь, в шаблоне файлов (это файл attachment.tpl в папке вашей темы) вам доступен тег:
{extension}
который и выводит расширение прикрепленного файла.