How can other users view a user's profile details in octobercms?
使用 url 中的 id 或名称作为参数,并使用 {{ user.name }}、{{ user.phone }} 等显示特定的详细信息,向用户显示用户的信息非常简单。但是我怎样才能显示特定的用户信息给其他用户。当我点击 www.example.com/profile/joe 时,它??会将我带到 joe 的个人资料。尝试注销或从其他帐户尝试会引发错误。
这是我到目前为止所做的。我的个人资料网址有
和我的 php 块
1 2 3 4 5 6 7
| [session]
==
<?php function onStart(){
$profile = $this->param('id');
}
?>
== |
这链接到个人资料页面
1
| <button style="font-family: arial" class="btn btn-sm btn-light rounded--lg-pill shadow rounded border col-6">View Profile</button> |
使用 {{ user.name }}、{{ user.phone }} 等显示所有登录用户的信息。我只是在这里迷失了如何使其他用户可以使用用户的个人资料。
编辑:
如果我使用 $userProfile = Auth::findUserById($profile)
,目前正在工作
连接到 View Profile>
如果我把它改成
$userProfile = Auth::findUserByLogin($profile)
连接到
View Profile>
或者
View Profile>
但我会喜欢它使用不同的字段
View Profile> 而不是 id 或登录详细信息
- 您没有努力提供更多关于您迄今为止使用代码示例尝试过的内容的信息,这使得很难提供准确的答案。至于上面的问题,您需要检索路由 URI 参数 (joe),在数据库中搜索该特定别名并获取您需要的数据。
-
这是我到目前为止所做的。我的个人资料 url 有 url =":id" 和我的 php 块 [session] == <?php function onStart(){$profile = $this->param(id);\t } ?> == 这使用 {{ user.name }}、{{ user.phone }} 等链接到个人资料页面 <button style="font-family: arial" class="btn btn-sm btn-light rounded--lg-pill shadow rounded border col-6">View Profile<button> 显示所有登录的用户信息。我只是在这里迷失了如何使其他用户可以使用用户的个人资料。
-
@DavidMakogon 我已经做到了。
假设我们正在生成链接:www.example.com/profile/joe
所以 id 将是 joe 现在我们需要找到该用户的记录并使用它
to find it in code
1 2 3 4 5 6 7 8 9 10 11
| [session]
==
<?php function onStart(){
$profile = $this->param('id');
$this['userProfile'] = Auth::findUserByLogin($profile);
// you can use other field if you need
// $this['userProfile'] = \
ainLab\\User\\Models\\User::where('username', $profile)->first();
}
?>
== |
use it in template
1
| {{ userProfile.name }}, {{ userProfile.phone }} |
如果有任何疑问,请添加评论。
- 现在可以了。通过将 id 参数更改为 {{ id: user.id }} 但希望使其与其他参数一起使用,例如 {{ id:user.company_name }}
-
你能分享一下你想如何使用它的完整示例代码吗,也许我们可以帮助你
-
更新了答案,添加了评论代码部分,它可能会对您有所帮助