PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


 Страниц (1): [1]   

> Описание: просмотр профиля
jessie
Отправлено: 19 Января, 2019 - 11:48:26
Post Id


Новичок


Покинул форум
Сообщений всего: 2
Дата рег-ции: Янв. 2019  


Помог: 0 раз(а)




Доброго времени,
есть сайт на Yii2, профиль я уже сделал и кликабельную картинку на форуме тоже ,
сейчас задача сделать просмотр профиля пользователя после нажатия на картинку другим user.
Я понимая для многих покажется глупый вопрос,но всё же -
можете объястнить как это лучше реализовать,
или где можно посмотреть примеры.
спасибо.
 
 Top
LIME
Отправлено: 20 Января, 2019 - 09:55:02
Post Id



Активный участник


Покинул форум
Сообщений всего: 10618
Дата рег-ции: Нояб. 2010  


Помог: 320 раз(а)




Вопрос непонятна
Можно рассказать про сериализацию
То есть перемещение точки принятия решения вверх
И локализация решения
Но... Явно рано
В чем вопрос? Проблема шаблон данными наполнить?
(Добавление)

299 очень красиво смотриться...Не меняйте плз)


-----
DDD
 
 Top
jessie
Отправлено: 20 Января, 2019 - 19:06:56
Post Id


Новичок


Покинул форум
Сообщений всего: 2
Дата рег-ции: Янв. 2019  


Помог: 0 раз(а)




LIME пишет:
Вопрос непонятна
Можно рассказать про сериализацию
То есть перемещение точки принятия решения вверх
И локализация решения
Но... Явно рано
В чем вопрос? Проблема шаблон данными наполнить?
(Добавление)

299 очень красиво смотриться...Не меняйте плз)


что бы при нажатии на логин на форуме пользователь поподал в профиль другого user как на этом сайте ,профиль уже готов- но его просмотреть и редактировать можно только с админа.
мне нужно писать для юзьверей новую страницу профиля? .Или можно как то использовать уже готовый профиль но при этом по требуется отменить право на редактирование. вот тут запутался.
(Добавление)
jessie пишет:
LIME пишет:
Вопрос непонятна
Можно рассказать про сериализацию
То есть перемещение точки принятия решения вверх
И локализация решения
Но... Явно рано
В чем вопрос? Проблема шаблон данными наполнить?
(Добавление)

299 очень красиво смотриться...Не меняйте плз)


мой вопрос был
что бы при нажатии на логин на форуме пользователь поподал в профиль другого user как на этом сайте ,профиль уже готов- но его просмотреть и редактировать можно только с админа.
мне нужно писать для юзьверей новую страницу профиля? .Или можно как то использовать уже готовый профиль но при этом по требуется отменить право на редактирование. вот тут запутался.


на даный момент вытягиваю уже вытягиваю даные так-
PHP:
скопировать код в буфер обмена
  1. <?PHP echo Yii::$app->user->identity->profile->website; ?>

но,я получаю данные только одного залогиненого пользователя с которого зашёл на сайт.


без identity

PHP:
скопировать код в буфер обмена
  1. <?PHP echo Yii::$app->user->profile->location; ?>


выдаёт ошибку Получение неизвестного свойства: yii \ web \ User :: profile

модель
PHP:
скопировать код в буфер обмена
  1.  
  2.     public function getProfile()
  3.  
  4.     {
  5.         return $this->hasOne(Profile::className(), ['user_id' => 'id']);
  6.     }

как это исправить сделать проверку или запрос по id что бы данные у каждого были разные?
уже по разному пробовал.
 
 Top
andrewkard
Отправлено: 23 Января, 2019 - 17:40:43
Post Id


Участник


Покинул форум
Сообщений всего: 1368
Дата рег-ции: Нояб. 2014  


Помог: 30 раз(а)




jessie
jessie пишет:
что бы при нажатии на логин на форуме пользователь поподал в профиль другого user как на этом сайте ,профиль уже готов- но его просмотреть и редактировать можно только с админа.
мне нужно писать для юзьверей новую страницу профиля?


UserController

actionView($id){

}

<a href="/user/view/<?=$user_id?>"><?=$user_name?></a>
 
 Top
Pimpys
Отправлено: 04 Мая, 2020 - 02:51:05
Post Id



Новичок


Покинул форум
Сообщений всего: 27
Дата рег-ции: Нояб. 2011  
Откуда: Украина, Киев


Помог: 0 раз(а)




jessie пишет:
на даный момент вытягиваю уже вытягиваю даные так-
PHP:
скопировать код в буфер обмена
<?PHP echo Yii::$app->user->identity->profile->website; ?>

но,я получаю данные только одного залогиненого пользователя с которого зашёл на сайт.


Я понимаю, что тема стара как мамонт, но так захотелось ответить, вдруг кому пригодится Улыбка

Дело в том, что "Yii::$app->user->identity" содержит либо null, если не была выполнена авторизация либо содержит объект(identityClass) реализующий IdentityInterface а в него всегда будет попадать тот пользователь, под которым "ВЫ" зашли!

Для того, чтоб получить другого пользователя, надо сделать запрос через ActiveRecord, например так:

PHP:
скопировать код в буфер обмена
  1. class SystemOrdersRecord extends ActiveRecord
  2. {
  3. protected function getUser(): SystemUsersRecord
  4.     {
  5.         return SystemUsersRecord::findOne($this->user_id);
  6.     }
  7.  
  8.     public function getUserLink(): string
  9.     {
  10.         return Html::a(
  11.             '<span class="label label-success">'.$this->getUser()->username.'</span>',
  12.             ['/admin/users/view', 'id' => $this->getUser()->id]
  13.         );
  14.     }
  15. }

В @property int $user_id

Содержится $id user'a который сделал запись в базу. Заказ, пост, комментарий. Фантазия ваша.
PHP:
скопировать код в буфер обмена
  1. /* @var $this yii\web\View */
  2. /* @var $model app\models\orders\SystemOrdersRecord */
  3.  [
  4.         'attribute' => 'customer_name',
  5.         'format' => 'html',
  6.         'value' => $model->getUserLink()
  7.  ]


-----
Очисти свою карму — будь везучим!
 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 1 (гостей: 1, зарегистрированных: 0)
« CMS и фреймворки »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB