Вход • Регистрация

Аватар для гостя

  • 05 сентября 2012 г. , редакция: 05 сентября 2012 г.
  • Добрый день господа. Подскажите кодеры форума. Хочу сделать так чтобы гости когда оставляют комменты, тоже имели аватар. Сделал я так
    Код
    if (! empty($result["avatar"]))
    {
    $text .= '<img src="'.$result["name"]["avatar"].'" width="'.$result["name"]["avatar_width"].'" height="'.$result["name"]["avatar_height"].'" alt="'.$result["name"]["fio"].' ('.$result["name"]["name"].')" class="avatar"> ';
    }
    else
    {
    $text .='<img src="'.BASE_PATH_HREF.'img/no-avatar.png" width="'.$result["avatar_width"].'" height="'.$result["avatar_height"].'" alt="no-avatar" class="avatar">';
    }
    но понял что это бред. Поскольку должно быть не так, а как должно быть не знаю. Кто поможет??
    ЗЫ Я не кодер, прошу сильно не пинать
    • 05 сентября 2012 г.
    • Народ, не поверю что тут кодеров нету... В ТП писать не хочу, лишний раз напрягать.
      • 06 сентября 2012 г.
      • Кодеры-то есть.
        Но Вы слишком мало исходных данных дали.
        Где этот код Вы вставляете? Где и как заполняете переменную $result["avatar"]?
        Почему бред? Направление мысли правильное. Вопрос только в том, чтобы аватар гостей где-то был.
        • 06 сентября 2012 г.
        • Кстати, я не понял, аватар у гостей? Это как Вы себе представляете? :) Заходит гость, пишет коммент и загружает свой аватар "на один раз"?
          По-моему, аватар - понятие чисто постоянных зарегистрированных пользователей, а не гостей
          • 06 сентября 2012 г. , редакция: 06 сентября 2012 г.
          • Видимо я не до конца изложил свою мысль. В общем такая ситуация сейчас. Если гость пишет коммент, то у него по-умолчанию аватарки нет. Если он регистрируется, но аватарку не ставит, у него тоже аватарки нет. Вот я и хочу чтобы гостям и зарегенным пользователям без аватарки, показывалась аватарка скажем no-avatar.png. Файл который редактируется comments.view.id.php. Кусок кода выше оттуда. Сам я не кодер, поэтому решил подредачить его чуть-чуть, но чет не пашет.
    • 06 сентября 2012 г.
    • По мне так ваше решение само правильное и простое и никакой это не бред :)
      Только уберите вот это и поставьте реальный размеры своего no-avatar:
      Код
      width="'.$result["avatar_width"].'" height="'.$result["avatar_height"].'"
      • 06 сентября 2012 г. , редакция: 06 сентября 2012 г.
      • Так дело в том, что аватарки все равно не показываются у гостей, зато у зарегенных с аватаркой, показывается no-avatar. Вот весь код страницы чтобы было понятной что я сделал не так
        Код
        $text = '<li>';

        $text .= '<div class="comment">';

        $text .= '<div class="head">';

        if (! empty($result["avatar"]))
        {
        $text .= '<img src="'.$result["name"]["avatar"].'" width="'.$result["name"]["avatar_width"].'" height="'.$result["name"]["avatar_height"].'" alt="'.$result["name"]["fio"].' ('.$result["name"]["name"].')" class="avatar"> ';
        }
        else
        {
        $text .='<img src="'.BASE_PATH_HREF.'img/no-avatar.png" width="'.$result["avatar_width"].'" height="'.$result["avatar_height"].'" alt="no-avatar" class="avatar">';
        }

        if (! empty($result["name"]))
        {
        $text .= '<h3 class="comments_name">';

        if(array_key_exists('name', $result["name"]))
        {
        $name = $result["name"]["name"];
        }
        else
        {
        $name='User';
        }

        if(! empty($result["name"]["user_page"]))
        {
        $name = '<a href="'.$result["name"]["user_page"].'">'.$name.'</a>';
        }
        $text .= $name.'</h3>';
        }

        foreach ($result["params"] as $param)
        {
        $text .= '<h3 class="comments_name">';
        if (is_array($param["value"]))
        {
        foreach ($param["value"] as $p)
        {
        if ($param["value"][0] != $p)
        {
        $text .= ', ';
        }
        if (is_array($p))
        {
        $text .= $p["name"];
        }
        else
        {
        $text .= $p;
        }
        }
        }
        else
        {
        $text .= $param["value"];
        }
        $text .= '</h3>';
        }

        if ($result['date'])
        {
        $text .= '<div class="comments_date">'.$result['date'].'</div>';
        }
        $text .= '</div>';

        $text .= '<div class="comments_text">'.$result['text']."</div>";

        if($result["form"])
        {
        $text .= '
        <a href="javascript:void(0)" class="comments_show_form">'.$this->_('RESPOND').'</a>
        <div style="display:none;" class="comments_block_form comments'.$result["id"].'_block_form">';
        $text .= $this->get('form', 'comments', $result["form"]);
        $text .= '</div>';
        }

        $text .= '</div>';

        if ($result["children"])
        {
        $text .= '<ul class="comments_level comments'.$result["id"].'_result">'.$this->get('list', 'comments', $result["children"]).'</ul>';
        }
        else
        {
        $text .= '<ul class="comments_level comments'.$result["id"].'_result" style="display:none;"></ul>';
        }

        $text .= '</li>';
        return $text;
        • 06 сентября 2012 г.
        • Вот так я не могу например сказать empty он или isset.
          И не видя массива в точке проверки условия - это надо сидеть и проверять.
          Если вставить
          Код
          print_r($result)
          перед
          Код
          if (! empty($result["avatar"]))...
          что выведет?
          • 06 сентября 2012 г. , редакция: 06 сентября 2012 г.
          • Выведет
            Цитата
            Array ( [created] => 1346862304 [user_id] => 1 [text] => Комментарии не так уж это и плохо. Целый день убил на их создание((( [id] => 22 [parent_id] => 0 [date] => вчера, 22:25 [name] => Array ( [fio] => Мужипов Азат [name] => admin [avatar] => http://sparks.kz/userfiles/avatar/admin.png?12 [avatar_width] => 50 [avatar_height] => 50 ) [params] => Array ( ) [form] => Array ( [parent_id] => 22 [captcha] => [params] => Array ( ) [error] => [bbcode] => ) [children] => Array ( [0] => Array ( [created] => 1346864361 [user_id] => 0 [text] => Шаблонные функции – это функции для вывода всевозможного контента в пользовательской части сайта. Шаблонная функция неразрывна с шаблонным тегом, который является инструментом для вызова функции в шаблонах сайта при подключении дизайна к diafan.CMS. [id] => 23 [parent_id] => 22 [date] => вчера, 22:59 [params] => Array ( [0] => Array ( [id] => 1 [name] => Имя [value] => Дмитрий [value_id] => 16 [type] => text ) ) [form] => Array ( [parent_id] => 23 [captcha] => [params] => Array ( ) [error] => [bbcode] => ) [children] => Array ( ) [level] => 1 ) ) [level] => 0 ) Array ( [created] => 1346864361 [user_id] => 0 [text] => Шаблонные функции – это функции для вывода всевозможного контента в пользовательской части сайта. Шаблонная функция неразрывна с шаблонным тегом, который является инструментом для вызова функции в шаблонах сайта при подключении дизайна к diafan.CMS. [id] => 23 [parent_id] => 22 [date] => вчера, 22:59 [params] => Array ( [0] => Array ( [id] => 1 [name] => Имя [value] => Дмитрий [value_id] => 16 [type] => text ) ) [form] => Array ( [parent_id] => 23 [captcha] => [params] => Array ( ) [error] => [bbcode] => ) [children] => Array ( ) [level] => 1 )
            • 06 сентября 2012 г. , редакция: 06 сентября 2012 г.
            • а если не у админа ?
              впрочем условие надо подправить в таком случае не
              Код
              if (! empty($result["avatar"]))

              а
              Код
              if (! empty($result["name"]["avatar"]))
              • 06 сентября 2012 г.
              • Денис, Спасибо огромное, с меня пива

Новости

  • Вчера, 09:47
  • В преддверии 2025 года была выпущена сборка 7.2.5, которая не приносит радикальных изменений в функциональности, но способствует повышению стабильности работы системы и расширению возможностей облачного сервиса для создания сайтов.
  • 18 июня 2024 г.
  • В сборке большое обновление demo-шаблона, дополнительная защита от спама, улучшение YML-импорта и еще много важного и интересного.
  • 24 апреля 2024 г.
  • В новой сборке совершили революцию в структурировании кастомизированной информации в шаблонах, добавили авторегистрацию пользователей, усовершенствовали защиту от спама, актуализировали накопительную скидку, а также улучшили производительность и стабильность работы системы.