1. Мы продолжаем публиковать интересные статьи на тему SocialEngine 4. Одна из статей посвящена правильному выбору сервера для вашей социальной сети, а другая содержит советы по увеличению производительности платформы. Также мы добавили большую статью о пользовательских уровнях. Ознакомиться со статьями вы можете в разделе Вопросы и Ответы SocialEngine 4.
  2. Вам кажется, что ваша версия SocialEngine 4, работает медленно?

    Голосуйте. Пишите свою версию системы, железо на чем работает и количество пользователей. Будем увеличивать производительность :-) Подробнее

  3. В связи с участившимися случаями попыток продажи пользователями форума различных "сборок" коммерческих социальных платформ, обычно основанных на SocialEngine 3, вводится новое правило для форума. Запрещается создание тем или размещение в уже созданных предложений о продаже или размещение ссылок на сайты, где происходит продажа "сборок". Пользователи, которые продолжат свою коммерческую деятельность в данном направлении, будут заблокированы. Подробнее.

Как сменить вывод данных?

Discussion in 'Прочее' started by Gooos, Feb 20, 2011.

  1. Gooos Thread starter абырвалГ


    Offline
    • Admin
    Message Count:
    2,435
    Likes Received:
    645
    My version of SE:
    3.20
    PHP:


    function usrImageNOdb($user_id$small='small'$usr_imageurl$usr_is_deleted){
        if (
    $user_id == -1) {    return '<img border="0" class="usr_img_small" src="/images/messages/update.jpg" />';    }
        if (
    $user_id == -2) {    return '<img border="0" class="usr_img_small" src="/images/messages/massmail.jpg" />'; }

        if (
    $usr_imageurl){
            if(
    $usr_is_deleted){
                if (
    $small=='small'){
                    return 
    '<img border="0" class="usr_img_small" src="/images/users/avatars/small/noprofile.jpg" />';
                } else {
                    return 
    '<img border="0" class="usr_img" src="/images/users/avatars/noprofile.jpg" />';
                }
            } else {
                if (
    $usr_imageurl && @file_exists($_SERVER['DOCUMENT_ROOT'].'/images/users/avatars/'.$usr_imageurl)){
                    if (
    $small=='small'){
                        return 
    '<img border="0" class="usr_img_small" src="/images/users/avatars/small/'.$usr_imageurl.'" />';
                    } else {
                        return 
    '<img border="0" class="usr_img" src="/images/users/avatars/'.$usr_imageurl.'" />';
                    }
                } else {
                    if (
    $small=='small'){ return '<img border="0" class="usr_img_small" src="/images/users/avatars/small/nopic.jpg" />';
                    } else { return 
    '<img border="0" class="usr_img" src="/images/users/avatars/nopic.jpg" />'; }
                }
            }
        } else {
                if (
    $small=='small'){ return '<img border="0" class="usr_img_small" src="/images/users/avatars/small/nopic.jpg" />';
                } else { return 
    '<img border="0" class="usr_img" src="/images/users/avatars/nopic.jpg" />'; }
        }
    }
    {$usr.avatar} в шаблоне выводит <img border="0" class="usr_img" src="/images/users/avatars/картинка" />
    мне надо вывести <div>, где этот аватар идёт бэкграундом. Как получить только url, да ещё и в такой конструкции:
    PHP:

    <div class="my_class" style="background:url(ссылка на аватар) no-repeat center center;"></div>
  2. Red Rabbit Tough member


    Offline
    Message Count:
    898
    Likes Received:
    193
    Это

    PHP:
    function usrImageNOdb($user_id$small='small'$usr_imageurl$usr_is_deleted){
        if (
    $user_id == -1) {    return '<img border="0" class="usr_img_small" src="/images/messages/update.jpg" />';    }
        if (
    $user_id == -2) {    return '<img border="0" class="usr_img_small" src="/images/messages/massmail.jpg" />'; }

        if (
    $usr_imageurl){
            if(
    $usr_is_deleted){
                if (
    $small=='small'){
                    return 
    '<img border="0" class="usr_img_small" src="/images/users/avatars/small/noprofile.jpg" />';
                } else {
                    return 
    '<img border="0" class="usr_img" src="/images/users/avatars/noprofile.jpg" />';
                }
            } else {
                if (
    $usr_imageurl && @file_exists($_SERVER['DOCUMENT_ROOT'].'/images/users/avatars/'.$usr_imageurl)){
                    if (
    $small=='small'){
                        return 
    '<img border="0" class="usr_img_small" src="/images/users/avatars/small/'.$usr_imageurl.'" />';
                    } else {
                        return 
    '<img border="0" class="usr_img" src="/images/users/avatars/'.$usr_imageurl.'" />';
                    }
                } else {
                    if (
    $small=='small'){ return '<img border="0" class="usr_img_small" src="/images/users/avatars/small/nopic.jpg" />';
                    } else { return 
    '<img border="0" class="usr_img" src="/images/users/avatars/nopic.jpg" />'; }
                }
            }
        } else {
                if (
    $small=='small'){ return '<img border="0" class="usr_img_small" src="/images/users/avatars/small/nopic.jpg" />';
                } else { return 
    '<img border="0" class="usr_img" src="/images/users/avatars/nopic.jpg" />'; }
        }
    }  
    Заменить на это

    PHP:

    function usrImageNOdb($user_id$small='small'$usr_imageurl$usr_is_deleted){
        if (
    $user_id == -1) {    return '/images/messages/update.jpg';    }
        if (
    $user_id == -2) {    return '/images/messages/massmail.jpg'; }

        if (
    $usr_imageurl){
            if(
    $usr_is_deleted){
                if (
    $small=='small'){
                    return 
    '/images/users/avatars/small/noprofile.jpg';
                } else {
                    return 
    '/images/users/avatars/noprofile.jpg';
                }
            } else {
                if (
    $usr_imageurl && @file_exists($_SERVER['DOCUMENT_ROOT'].'/images/users/avatars/'.$usr_imageurl)){
                    if (
    $small=='small'){
                        return 
    '/images/users/avatars/small/'.$usr_imageurl.'';
                    } else {
                        return 
    '/images/users/avatars/'.$usr_imageurl.'';
                    }
                } else {
                    if (
    $small=='small'){ return '/images/users/avatars/small/nopic.jpg';
                    } else { return 
    '/images/users/avatars/nopic.jpg'; }
                }
            }
        } else {
                if (
    $small=='small'){ return '/images/users/avatars/small/nopic.jpg';
                } else { return 
    '/images/users/avatars/nopic.jpg'; }
        }
    }  
    Теперь в {$usr.avatar} будет ссылка на картинку, и в шаблоне можно делать с ней всё что угодно.
    Например
    PHP:
    <div class="my_class" style="background:url({$usr.avatar}) no-repeat center center;"></div>
  3. Gooos Thread starter абырвалГ


    Offline
    • Admin
    Message Count:
    2,435
    Likes Received:
    645
    My version of SE:
    3.20
    Выше означенный пример показывает, что дефолтный код сделан плохо в плане гибкости для верстальщика, его надо ещё долго и нудно перебирать, отделяя "мух от котлет" - PHP от Html.
    Плохая идея разработчиков выдавать в переменной целую html конструкцию, надо им как-то намекнуть, что надо всё переделать для большей гибкости системы для верстальщиков.
  4. Red Rabbit Tough member


    Offline
    Message Count:
    898
    Likes Received:
    193
    Да знают они уже, но их пока очень мало, и сил просто на всё не хватает. Там есть явные недочеты не только с выводом html прямо из кода, но и встроенные html конструкции (табличные (!) ), и имеется неполный экспорт переменных в языковые пакеты. Но такого осталось уже немного.
  5. Gooos Thread starter абырвалГ


    Offline
    • Admin
    Message Count:
    2,435
    Likes Received:
    645
    My version of SE:
    3.20
    С кодировкой я бы на их месте пересмотрел позицию, ведь utf8 даст им выход на иностранных пользователей. Что несомненно прибавит аудиторию юзеров, что в свою очередь даст новый мощный толчёк для сторонних разработчиков модов, дополнений, хаков, шаблонов и прочего.

    По коду спрашивал, хотел все аватарки закруглить по углам при помощи CSS. Применил вышеозначенный код, шаблон слегка перекосило, вернул всё назад, перекос остался. Вопрос - как почистить или отключить кэширование в скрипте на период изменения вёрстки шаблонов?
  6. Red Rabbit Tough member


    Offline
    Message Count:
    898
    Likes Received:
    193
    includes\config.inc.php
    изменить на 1.

    Перед utf есть ещё очень много задач. Этим могут заняться (и занимаются, вроде) сторонние разработчики, после окончания работы такие изменения могут быть сразу приняты в дистр. Так что пока не нежелание, а нехватка рук. =)

    Да, уже увидел косяк. Дело в картинках кроме аватар, они разные по размеру. Возможный костыль - жестко фиксировать и указывать размеры дива. Этот кусок требует явной доработки. Хм., а у меня круглые. Пойду посмотрю как так вышло. :)

    upd. utf скоро будет.

    ---------- Сообщение добавлено в 23:55 ---------- Предыдущее сообщение было в 23:34 ----------

    Посмотрел. У меня сделано этим. В gzipe вывод этого скрипта занимает пару кб., нагрузка маленькая. Вообщем - хорошая вещь. И эффекты милые. =)

    upd2. На том сайте вверху есть меню с соседними проектами, есть достаточно хорошие свистелки. Почти все качественные, проверено.
  7. Gooos Thread starter абырвалГ


    Offline
    • Admin
    Message Count:
    2,435
    Likes Received:
    645
    My version of SE:
    3.20
    hz_pochemu..jpg

    И ничего не помогает =(
    Мож я в админке чего жимкнул, что профиль теперь так отображается, чес слово уже не помню где лазил.
  8. Red Rabbit Tough member


    Offline
    Message Count:
    898
    Likes Received:
    193
    А если руками удалить из папки cache все файлы?

    upd. И удалить куки PHPSESSID для сайта если первое не поможет.
  9. Gooos Thread starter абырвалГ


    Offline
    • Admin
    Message Count:
    2,435
    Likes Received:
    645
    My version of SE:
    3.20
    Понравился в работе этот - corner. Да, и как его gzip(ом) зажать и вывести, вообще не зависимо от движка.
    Делал.
    Кэш браузера чистил.

    Ладно, всё равно геморно каждый раз кодировку переключать в браузере, подожду utf версии.
  10. Red Rabbit Tough member


    Offline
    Message Count:
    898
    Likes Received:
    193
    Зачем? Я имел ввиду что если жать страницы то лишние пару кб не нагружающие браузер роли не сыграют. Отдельно вывести можно, но использовать его будет нельзя. Как-то так... Блин, спать пора, уже сам себя не понимаю. :)

    Как так? Этого не должно быть. Значит правило из htaccess
    не обрабатывается. Возможно в httpd.conf не стоит разрешение типа
    . В любом случае это проблема не скрипта. У меня каша из кодировок и в одной БД и в одной системе работает отлично.

Share This Page

All rights reserved SocEngine.ru ©