Как вставить аватар автора в виджет?

 
Посетитель
small user social cms
МедальАвторитет форума
Сообщений: 1950
Всем привет.

Пытаюсь сделать шаблон. Но, как говорится, чем дальше в лес, тем веселее smile

В общем, сейчас столкнулся с новой проблемой. При попытке вставить аватар автора в виджет списка контента, отображается картинка дефолтного аватара:

Скриншот
Код такой:

Код PHP:
  1. <span class="author">
  2. <a href="<?php echo href_to('users', $item['user']['id']); ?>" style="background:url('<?php echo html_avatar_image_src($autor['avatar'], 'small'); ?>')"></a>
  3. <?php if ($item['parent_id']){ ?>
  4. <?php echo LANG_WROTE_IN_GROUP; ?>
  5. <a href="<?php echo href_to($item['parent_url']); ?>"><?php html($item['parent_title']); ?></a>
  6. <?php } ?>
  7. </span>
Вопрос: как вывести в виджете нормальный аватар?

И, если знаете, подскажите, как вывести текстовый аватар, если не загружен свой?
Скриншот
Спасибо.
Редактировалось: 1 раз (Последний: 18 июля 2016 в 12:35)
Посетитель
no avatar
Сообщений: 51
а вы массив $autor['avatar'] проверили есть ли там что-нибудь?
Web-студия Glitch Art - создание сайтов и дополнений. Дизайн сайтов
Реклама
cms
Посетитель
small user social cms
МедальАвторитет форума
Сообщений: 1950
AbdullaAlt:
проверили?
Я бы проверил, если бы знал,как это делать smile Я не знаю php, в этом вся проблема.
Посетитель
no avatar
Сообщений: 51
Дмитрий Кайдаш, ну самое простое напишите скажем после <span class="author"> <?php print_r($autor); ?> и посмотрите в выводе есть ли в нем что-нибудь или нет
Web-студия Glitch Art - создание сайтов и дополнений. Дизайн сайтов
Посетитель
small user social cms
МедальКубок зрительских симпатийАвторитет форума
Сообщений: 1004
На примере виджета \system\controllers\content\widgets\list
Откройте файл:widget.php
Найдите строки:
Код PHP:
  1.  
  2. $items = $model->
  3. limit($limit)->
  4. getContentItems($ctype['name']);
  5.  
Замените на:
Код PHP:
  1.  
  2. $items = $model->
  3. select('u.avatar', 'user_avatar')->
  4. limit($limit)->
  5. getContentItems($ctype['name']);
  6.  
Выводим в шаблоне:
Код PHP:
  1.  
  2. <span class="author">
  3. <a href="<?php echo href_to('users', $item['user']['id']); ?>" style="background:url('<?php echo html_avatar_image_src($item['user_avatar'], 'small'); ?>')"></a>
  4. <?php if ($item['parent_id']){ ?>
  5. <?php echo LANG_WROTE_IN_GROUP; ?>
  6. <a href="<?php echo href_to($item['parent_url']); ?>"><?php html($item['parent_title']); ?></a>
  7. <?php } ?>
  8. </span>
  9.  
Если нужно вывести изображением а не фоном:
Код PHP:
  1. <?php echo html_avatar_image($item['user_avatar'], 'small'); ?>
Редактировалось: 1 раз (Последний: 21 июля 2016 в 12:45)
Готовые шаблоны, разработка сайтов, вёрстка.
Дополнения для InstantCMS 2
. skype:gdvden
Посетитель
small user social cms
МедальАвторитет форума
Сообщений: 1950
Денис Васильевич, спасибо, работает так. Не хотелось, правда, в системные файлы лезть, но раз без этого никак, то пусть так.

Может быть Вы знаете, как вместо дефолтного аватара в случае отсутствия своего вывести текстовый в этом месте?

Спасибо.
Посетитель
small user social cms
МедальКубок зрительских симпатийАвторитет форума
Сообщений: 1004
Дмитрий Кайдаш:

Может быть Вы знаете, как вместо дефолтного аватара в случае отсутствия своего вывести текстовый в этом месте?

Я даже не знаю что за этакое ;)

п.с.
Вы правите шаблон а это, в общем-то тоже системный файл и при обновлении он так же может быть заменён новым файлом.
Сделайте копию виджета и правьте его по своему усмотрение, запросы к базе всё равно придётся выполнять.
Готовые шаблоны, разработка сайтов, вёрстка.
Дополнения для InstantCMS 2
. skype:gdvden
Посетитель
small user social cms
МедальАвторитет форума
Сообщений: 1950
Денис Васильевич:
не знаю что за
В версии 2.5.1 такая опция появилась - если аватар пользователем не загружен, то выводится первая буква его ника на цветном фоне:
Как вставить аватар автора в виджет?


Денис Васильевич:
правите шаблон ...
файл ... при обновлении ... может быть заменён

Я не правлю шаблон, а делаю с нуля.
Посетитель
small user social cms
Медаль
Сообщений: 434
В версии 2.5.1 такая опция появилась - если аватар пользователем не загружен, то выводится первая буква его ника на цветном фоне:

не понял. где такую функцию включить? у меня 2.5.1 аватары стандартные
http://aksucity.net
Посетитель
small user social cms
МедальАвторитет форума
Сообщений: 1950
SE7EN:
где такую функцию включить?
здесь - http://instantcms.ru/novosti/release250.html#c90345
Посетитель
small user social cms
МедальКубок зрительских симпатийАвторитет форума
Сообщений: 1004
Дмитрий Кайдаш:

SE7EN:
где такую функцию включить?
здесь - http://instantcms.ru/novosti/release250.html#c90345

Ну так вроде бы там же и ответ имеется. Включаете и выводите через html_avatar_image.
Готовые шаблоны, разработка сайтов, вёрстка.
Дополнения для InstantCMS 2
. skype:gdvden
Посетитель
small user social cms
МедальАвторитет форума
Сообщений: 1950
Денис Васильевич:
Включаете и выводите через html_avatar_image
Да, как-то так)) У меня включена эта опция, в виджетах Онлайн, Пользователи, Аватар, в профиле выводится именно так. А Ваш способ выводит картинку noimage. Вот я и спросил поэтому.
В начало страницы
Предыдущая темаСледующая тема Перейти на форум:
Быстрый ответ
Чтобы писать на форуме, зарегистрируйтесь или авторизуйтесь.