вывод профиля

Общие вопросы по использованию второй версии фреймворка. Если не знаете как что-то сделать и это про Yii 2, вам сюда.
Ответить
rosswe
Сообщения: 95
Зарегистрирован: 2017.01.09, 03:27
Откуда: Ставрополь
Контактная информация:

вывод профиля

Сообщение rosswe »

Доброго времени суток.

При кликанья на аватар на форуме выдаёт собственный профиль (с того которого кликнул),а не на профиль автора коментария ,
image (работает как нужно)-выдаёт картинку автора
и логин выдаёт-автора.если написать только <?= $comment->user->username; ?>(без Url::toRoute)
вот код
view

Код: Выделить всё

?php if(!empty($comments)):?>
    <?php foreach($comments as $comment):?>
        <div class="bottom-comment"><!--bottom comment-->
  <div class="user-image">
                <a href="#" style="display: block; max-width: 30%; padding: 5px 3px 0;">
                   <img class="img-responsive" src="<?= $comment->user->image; ?>" style="padding: 2px;" />
                </a>
            </div>
            <div class="comment-text">
             <h5><a href="<?= Url::toRoute(['/user/settings/profile'])?>"><?= $comment->user->username; ?></a></h5>
                </div>
                <p class="comment-date">
                    <?= $comment->getDate();?>
                </p>
                <p class="para">
                    <?= $comment->text; ?></p>
            </div>
    <?php endforeach;?>
model

Код: Выделить всё

  public function getProfile()
    {
          return $this->hasOne(Profile::className(), ['user_id' => 'id']);
    public function getImage()
    {
        return $this->profile->getImageUrl();
    }
пытался решить по разному,запутался.
Какие можно внести изменения чтобы при нажатии на логин отображался профиль автора, не с того (с того которого кликнул)?
Аватара пользователя
ElisDN
Сообщения: 5845
Зарегистрирован: 2012.10.07, 10:24
Контактная информация:

Re: вывод профиля

Сообщение ElisDN »

Код: Выделить всё

Url::to(['/user/show', 'id' => $comment->user->id])
rosswe
Сообщения: 95
Зарегистрирован: 2017.01.09, 03:27
Откуда: Ставрополь
Контактная информация:

Re: вывод профиля

Сообщение rosswe »

уже хоть что то
при запросе
Url::to(['/user/show', 'id' => $comment->user->id])
выкидывает на 404
во так прописываю
Url::to(['/user/profile', 'id' => $comment->user->id])
попадаю в профиль не автора ,а того user с которого кликнул,и отрабатывает столбец из б\д граватар вместо аватар
http://joxi.ru/D2PGJDBipnp5pm
Аватара пользователя
ElisDN
Сообщения: 5845
Зарегистрирован: 2012.10.07, 10:24
Контактная информация:

Re: вывод профиля

Сообщение ElisDN »

Ну так добавьте параметр actionProfile($id = null)
rosswe
Сообщения: 95
Зарегистрирован: 2017.01.09, 03:27
Откуда: Ставрополь
Контактная информация:

Re: вывод профиля

Сообщение rosswe »

изменил так

<a href="<?= Url::to(['/user/profile/show', 'id' => $comment->user->id]); ?>"</a>
....
public function actionShow($id = null)
{
$profile = $this->finder->findProfileById($id);

if ($profile === null) {
throw new NotFoundHttpException();
}

return $this->render('show', [
'profile' => $profile,
]);
}
}
теперь попадаю в профиль автора,- то что нужно!
но по прежнему отрабатывает столбец из б\д граватар вместо аватар
ну ещё один вопрос это как лучше изменить?
rosswe
Сообщения: 95
Зарегистрирован: 2017.01.09, 03:27
Откуда: Ставрополь
Контактная информация:

Re: вывод профиля

Сообщение rosswe »

разобрался теперь берёт из аватар
<?php if($profile->gravatar_id = null): ?><!--gravatar_id -для граватар-->
Аватара пользователя
ElisDN
Сообщения: 5845
Зарегистрирован: 2012.10.07, 10:24
Контактная информация:

Re: вывод профиля

Сообщение ElisDN »

=== null
rosswe
Сообщения: 95
Зарегистрирован: 2017.01.09, 03:27
Откуда: Ставрополь
Контактная информация:

Re: вывод профиля

Сообщение rosswe »

ElisDN писал(а): 2019.01.24, 18:09=== null
cпасибо
Ответить