Не нравятся результаты поиска? Попробуйте другой поиск!
DLE FAQ » Все вопросы » Шаблоны (TPL) » Как добавить кнопочку "скачать" справа от картинки?

Как добавить кнопочку "скачать" справа от картинки?


     13.11.2014    Шаблоны (TPL), Ламерские вопросы    3027

вопрос
Приветствую!

Я нашел модуль который позволяет в профиле загружать фотографии и выводит их там же. Не могли бы вы мне помочь добавить кнопку "Скачать" справа от картинки?

Выглядит это так:
Как добавить кнопочку "скачать" справа от картинки?

А должно так:
Как добавить кнопочку "скачать" справа от картинки?

Сам шаблон выглядит таким образом:

{photo}
[del]<img src="{THEME}/dleimages/delete.png" class="del" alt="Удалить" />[/del]


Заранее спасибо!

Ответа пока нет


11 комментариев

Саня
Юзер

Саня - 14 ноября 2014 09:58 -

[upload] <input type="button" id="UploadPhotos" value="Загрузить фото" />[/upload]


как-то так

eksell-rv
Юзер

eksell-rv - 14 ноября 2014 17:16 -

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

FastFud
Юзер

FastFud - 14 ноября 2014 18:11 -

Попробуйте так:
Открыть файл user.photos.php и найдите там
$tpl->set( "[/del]", "</a>" );
после этой строки, добавьте
$tpl->set( "[download]", "<a href=\"{$Photo}\">" );
$tpl->set( "[/download]", "</a>" );

eksell-rv
Юзер

eksell-rv - 14 ноября 2014 23:34 -

FastFud, Спасибо за ответ. Путь к картинке получается немного не тот, не открывается... но я говорил немного о другом. При нажатии на кнопочку что б автоматом картинка скачивалась на компьютер. А Ваш код просто открывает ее. И еще у меня не получается правильно прописать в шаблоне кнопочку с картинкой так как на картинке.. у меня получается вот так

{photo}
[del]<img src="{THEME}/dleimages/delete.png" class="del" alt="Удалить" />[/del]
[download]<img src="{THEME}/dleimages/save.png" class="save" alt="Сохранить" />[/download]

FastFud
Юзер

FastFud - 15 ноября 2014 03:24 -

Если я не ошибаюсь, то так: userphotos.php
$tpl->set( "[download]", "<a href=\"/engine/dw.php?filename={$Photo}\" class=\"delete\">" );
$tpl->set( "[/download]", "</a>" );
dw.php
<?php
if(isset($_GET['filename'])){

    function output_file($file, $name, $mime_type=''){
     $name = rawurldecode($name);
    
     $known_mime_types = array(
        "gif" => "image/gif",
        "png" => "image/png",
        "jpeg"=> "image/jpg",
        "jpg" =>  "image/jpg"
     );

     header('Content-Type: ' . $mime_type);
     header('Content-Disposition: attachment; filename="' . $name . '"');
    
    }
    $file_path = '/uploads/userphotos/' . $_REQUEST['filename'];

    output_file($file_path, $_REQUEST['filename']);

} else {
    echo "ops!";
}
?>

eksell-rv
Юзер

eksell-rv - 15 ноября 2014 14:10 -

Спасибо, но что то не работает. Картинка скачивается но весит она 0 байт.

FastFud
Юзер

FastFud - 15 ноября 2014 14:49 -


eksell-rv
Юзер

eksell-rv - 16 ноября 2014 00:28 -

FastFud, теперь все работает. Не думал, что из за простой кнопки "скачать" - столько писанины..

Спасибо, Вы мне очень помогли, на Вас и еще пары ребят и держится сайт.

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

Заранее спасибо.

FastFud
Юзер

FastFud - 16 ноября 2014 01:30 -

Если одни класс стоит у обеих картинках то так:
.class {display: block;}

eksell-rv
Юзер

eksell-rv - 16 ноября 2014 14:34 -

не получается...

вот стили которые используются в шаблоне "user.photo.tpl"
<style type="text/css">
.UserPhotos {
    margin: 10px 0px 10px 0px;
}

.UserPhotos .List {
    margin: 0px 0px 5px 0px;
}

.UserPhotos .List div {
    display: inline;
}

.UserPhotos .List img {
    margin: 0px 0px 5px 5px;
    border: 1px solid #cccccc;
    background: #ffffff;
    padding: 3px;
    vertical-align: top;
}

.UserPhotos .List img.del {
    margin: 0px 0px 5px 5px;
    border: none;
    padding: 0px;
    display: block;
}
</style>

<div class="UserPhotos">
    <div class="List">{photos}</div>
    [upload]
        <div id="StatusUploadPhotos"></div>
        <input type="button" id="UploadPhotos" value="Загрузить фото" />
    [/upload]
</div>


а вот и сам шаблон который собственно и выводит фотографии с кнопками
{photo}
[del]<img src="{THEME}/dleimages/delete.png" class="del" alt="Удалить" />[/del]
[download]<img src="{THEME}/dleimages/unread.gif" class="del" alt="Удалить" />[/download]


Сделал как Вы сказали, получилось вот так

eksell-rv
Юзер

eksell-rv - 17 ноября 2014 13:56 -

FastFud, Вы мне поможете с этим вопросом, пожалуйста?

Чтобы комментировать - войдите или зарегистрируйтесь на сайте

Похожие вопросы

наверх