Страница 1 из 1

Добавить аватарку

СообщениеДобавлено: 13 апр 2016, 08:56
Aleksander
Добрый день.
Подскажите, как правильно вывести аватарку? Первый шаг делал так: в Controller.php:
Код: Выделить всё
if(!Yii::app()->user->isGuest){
            $user = HUser::getModel();
            $this->aData['userCpanelItems'][] = array(
                'label' => '<span class="user-avatar">'.CHtml::image($user->getAvaSrcThumb()). '</span>' .$user->username ,
                'encodeLabel' => false,
                'url' => array('/usercpanel/main/index'),
                'visible' => Yii::app()->user->checkAccess('backend_access') === false,
                'items' => $subItems,
                'itemOptions' => array('class' => 'depth_zero'),
                'submenuOptions'=>array(
                    'class'=>'sub_menu_dropdown'
                ),
        );
        
        
} 

но в таком случае, дефолтная аватарка не выводится.
Такой способ не работает
Код: Выделить всё
$this->ava ? $this->getAvaSrcThumb() : Yii::app()->theme->baseUrl . '/images/ava-default.jpg'; 


И еще вопрос такой, почему пользователь не может удалить неоплаченный платеж? В таблице "Мои платежи" висит строка "Ожидается оплата", а может пользователь передумал платить и чёго теперь ему всю жизнь с этим неоплаченным долгом ходить? :-[ Или может пользователь захочет позже его оплатить и нет возможности нажать на кнопку сделать оплату повторно... :'(
Пока получается так, что только админ может удалить этот платеж... Это нормально? Я видел такой же момент на когда -то irr.ru и было так не удобно с этими зависшими платежами в таблице. Может стоит хотя бы сделать удаление неоплаченных платежей через сутки или как то так...

Спасибо.

Re: Добавить аватарку

СообщениеДобавлено: 13 апр 2016, 09:51
Xpycm
1) $this в контроллере - это экземпляр контроллера, и уж тем более не модели User.

В чём разница:
http://www.yiiframework.com/doc/guide/1 ... controller
http://www.yiiframework.com/doc/guide/1 ... sics.model

А ошибку вы не словили потому что уровень ошибок у вас выставлен не для "разработки", а для "продакшена": http://php.net/manual/ru/function.error-reporting.php

Поэтому вызывайте
Код: Выделить всё
$user = HUser::getModel(); $user->ava ? $this->getAvaSrcThumb() : Yii::app()->theme->baseUrl . '/images/ava-default.jpg'; 


А ещё в модели User есть метод public function renderAva

2) Платежи, это такая вещь, информацию о которых лучше хранить, чем не хранить.

Re: Добавить аватарку

СообщениеДобавлено: 13 апр 2016, 12:07
Aleksander
Спасибо за объяснение и за ссылки, почитал. Но тогда не
Код: Выделить всё
 $this->getAvaSrcThumb(),  

а тоже user
Код: Выделить всё
$user->getAvaSrcThumb() 

Re: Добавить аватарку

СообщениеДобавлено: 13 апр 2016, 13:16
Xpycm
Да вы правы, это я забыл поправить когда писал ответ