Не нравятся результаты поиска? Попробуйте другой поиск!
DLE FAQ » Все вопросы » Общие вопросы » Как создать тег {foto2} для оригинальное фото пользователя в DLE 10.x ?

Как создать тег {foto2} для оригинальное фото пользователя в DLE 10.x ?


     22.06.2015    Все вопросы » Общие вопросы    3312

вопрос
Как сделать доступным 2 фото пользователя.
1. Стандартный тег {foto}. (этот тег работает в dle)
2. Увеличенное фото - {foto2}. Изображение после загрузки помещается в папку /uploads/fotos/large/ и размер уменьшается до 600px любой из сторон.

Данный код собираюсь использовать в userinfo.tpl -
<div class="avatar">
    <a href="{foto2}" onclick="return hs.expand(this)" title="Увеличить аватар"><img src="{foto}" alt=""/></a>
</div>


{foto2} нужен для того, чтобы использовать большое фото только в профиле, а в других модулях и местах использовать {foto} для уменьшенного фото.

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


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

FastFud
Юзер

FastFud - 22 июня 2015 22:38 -


vadims
Гости

vadims - 22 июня 2015 23:39 -

Спасибо большое! Почти то что надо, НО, все же повторюсь - Фото 1 а его размеры 2 - большой и маленький.
Получается что при загрузке фото оно уменьшается на 2 размера - на указанные в движке размер {foto} и большой размер {foto2}. Так же удаление аватара одно.
Или это проблематично сделать? :)

Kane
Юзер

Kane - 23 июня 2015 20:24 -

Открыть engine\modules\profile.php
Найти
} else $tpl->set( '{foto}', $config['http_home_url'] . "uploads/fotos/" . $row['foto'] );

заменить на

} else {
                $tpl->set( '{foto}', $config['http_home_url'] . "uploads/fotos/" . $row['foto'] );
                $tpl->set( '{foto2}', $config['http_home_url'] . "uploads/fotos/large/" . $row['foto'] );
            }

vadims
Гости

vadims - 24 июня 2015 12:05 -

Что то не получается. В 10.3 такой код -

if ( count(explode("@", $row['foto'])) == 2 ) {
        $tpl->set( '{gravatar}', $row['foto'] );    

        $tpl->set( '{foto}', 'http://www.gravatar.com/avatar/' . md5(trim($row['foto'])) . '?s=' . intval($user_group[$row['user_group']]['max_foto']) );
    
    } else {
    
        if( $row['foto'] and (file_exists( ROOT_DIR . "/uploads/fotos/" . $row['foto'] )) ) $tpl->set( '{foto}', $config['http_home_url'] . "uploads/fotos/" . $row['foto'] );
        else $tpl->set( '{foto}', "{THEME}/dleimages/noavatar.png" );

        $tpl->set( '{gravatar}', '' );
    }

LazyDev
PHP-developer

LazyDev - 24 июня 2015 13:16 -

if( $row['foto'] and (file_exists( ROOT_DIR . "/uploads/fotos/" . $row['foto'] )) ) $tpl->set( '{foto}', $config['http_home_url'] . "uploads/fotos/" . $row['foto'] );
Замени на :
if( $row['foto'] and (file_exists( ROOT_DIR . "/uploads/fotos/" . $row['foto'] )) )
{
$tpl->set( '{foto}', $config['http_home_url'] . "uploads/fotos/" . $row['foto'] );
if(file_exists( ROOT_DIR . "/uploads/fotos/large/" . $row['foto'] ))
{
$tpl->set( '{foto2}', $config['http_home_url'] . "uploads/fotos/large/" . $row['foto'] );
}
else
{
$tpl->set( '{foto2}', "{THEME}/dleimages/noavatar.png" );
}
}

Мой блог: LazyDev.pro

Помогаю с решением проблем на платной основе.

vadims
Гости

vadims - 24 июня 2015 14:17 -

Вова спасибо, НО, что-то я не понимаю... это просто вывод {foto2}, а что добавить в код чтобы при загрузке аватара загружалось фото для аватара {foto} и увеличенное фото {foto2} ?

Kane
Юзер

Kane - 24 июня 2015 21:24 -

За бесплатно вряд ли кто то напишет код. Хотя платить там толком и не за что, кода немного будет.
Учите php, ничего в нем сложного нет, он вам еще не раз пригодится.

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

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

наверх