Как другие пользователи могут просматривать данные профиля пользователя в octobercms? - PullRequest
0 голосов
/ 01 июня 2019

Отображать информацию о пользователе пользователю довольно просто, используя его идентификатор или имя в URL-адресе в качестве параметра и отображая конкретные данные, используя {{ user.name }}, {{ user.phone }} и т. Д. Но как я могу отобразить определенную информацию о пользователе для других?пользователи.Когда я нажимаю на www.example.com/profile/joe, я перехожу на профиль Джо.Попытка выхода из системы или из другой учетной записи выдает ошибку.

Это то, что я сделал до сих пор.URL моего профиля

 url = "/:id"

и мой блок php

 [session]
 ==
 <?php function onStart(){
$profile = $this->param('id');  
} 
?> 
== 

, который ссылается на страницу профиля

<a href="{{ 'profile'|page ({ id: user.name }) }}"><button style="font-family: arial" class="btn btn-sm btn-light rounded--lg-pill shadow rounded border col-6">View Profile</button></a> 

с использованием {{ user.name }}, {{ user.phone }}и т.д. показывает всю авторизованную информацию пользователя.Я просто растерялся, как сделать профиль пользователя доступным для других пользователей.

Редактировать : В настоящее время работает, если я использую $userProfile = Auth::findUserById($profile)

, подключенный к <a href = ''{{ id: users.id }}''>View Profile></a>

Это все еще работает, если я изменю его на $userProfile = Auth::findUserByLogin($profile), подключенный к <a href = ''{{ id: users.username }}''>View Profile></a> или <a href = ''{{ id: users.email }}''>View Profile></a>

, но я бы хотел, чтобы он работал, используя другое поле

<a href = ''{{ id: user.company_name }}''>View Profile></a> вместо идентификатора или логина

1 Ответ

0 голосов
/ 03 июня 2019

Предположим, мы генерируем ссылку: www.example.com/profile/joe

, поэтому идентификатор будет joe, теперь нам нужно найти запись этого пользователя и использовать ее

, чтобы найти ее в коде.

[session]
==
<?php function onStart(){
     $profile = $this->param('id');  
     $this['userProfile'] = Auth::findUserByLogin($profile);
     // you can use other field if you need 
     // $this['userProfile'] = \RainLab\User\Models\User::where('username', $profile)->first();
} 
?> 
== 

используйте его в шаблоне

{{ userProfile.name }}, {{ userProfile.phone }}

если есть сомнения, пожалуйста, добавьте комментарий.

...