Octobercms - 获得前端用户头像

时间:2018-03-11 11:27:18

标签: php octobercms avatar

所以我试图创建一个前端用户列表,但是我无法访问头像网址。

我能够获得所有用户名,但是当我尝试对配置文件图片执行相同操作时,会显示回退。 当有人登录时,{{ user.avatar.url }}正在用户页面上工作。

我试图在后端查找用于在预览中获取用户头像的查询,但我无法找到它。

我不知道这是否相关,但我正在使用https://octobercms.com/plugin/netsti-uploader为前端用户上传他们的头像。它正在工作,因为如果我在前端上传它后端用户预览显示正确的头像

这是我用来吸引所有用户的:

CODE:

use October\Rain\Auth\Models\User;

function onInit() {
    $this['activatedUsers'] = User::whereIsActivated(true)->get();
}

MARKUP

<div>
{% for user in activatedUsers %}
    <div class="card list">
        {% if user.avatar %}
            <img class="userimg" src="{{ user.avatar.url }}">
        {% else %}
            <img class="userimg" src="assets/images/user.png">
        {% endif %}
            <p class="name"><span class="rank-title">NAME</span><br>{{ user.name }}&nbsp;{{ user.surname }}</p>
        {% if user.last_login %}
            <p><span class="rank-title">LAST UPDATE</span><br>{{ user.last_login }}</p>
        {%endif%}
    </div>
{% endfor %}

感谢所有帮助,谢谢

4 个答案:

答案 0 :(得分:2)

尝试使用它。

use RainLab\User\Models\User;

function onInit() {
    $this['activatedUsers'] = User::whereIsActivated(true)->get();
} 

标记

{% for user in activatedUsers %}
    <div class="card list">
    {{ user.avatar.path }}
    </div>
{% endfor %}

答案 1 :(得分:1)

查看October\Rain\Database\Attach\File课程以查看可用的方法:

getThumb($w,$h,$options) - 生成并返回缩略图路径

getPath() - 返回访问文件的公共地址

getLocalPath() - 返回此文件的本地路径。如果文件是远程存储的,它将被下载到临时目录。

getDiskPath() - 返回文件的路径,相对于存储磁盘

例如:

{{user.avatar.getThumb(200,200, { mode : 'crop' } )}}

答案 2 :(得分:0)

安装“Frontend File Uploader for Model”插件

在标记中插入{% component 'imageUploader' %}

插入

function onInit()
{
    $user = Auth::getUser();
    if($user){
        $component = $this->addComponent(
            'NetSTI\Uploader\Components\ImageUploader',
            'imageUploader',
            ['modelClass'=>'RainLab\User\Models\User','modelKeyColumn'=>'avatar', 'deferredBinding' => false]
        );

        $component->bindModel('avatar', $user);
    }
}

代码部分

答案 3 :(得分:0)

您可以使用“ 头像”来查询后端用户模型。

use Backend\Models\User;

...
$user = User::where('id', $author_id)->with('avatar')->first();
...
<h1>{{ user.avatar.path }}</h1>