代码之家  ›  专栏  ›  技术社区  ›  Miguel

10月CMS-获取前端用户头像

  •  3
  • Miguel  · 技术社区  · 7 年前

    因此,我试图创建一个前端用户列表,但我在访问头像url时遇到了问题。

    我可以获取所有用户名,但当我尝试对配置文件图片执行相同操作时,会显示回退。 这个 {{ user.avatar.url }} 当有人登录时,正在处理用户页。

    我曾尝试在后端查找用于在预览中获取用户头像的查询,但未能找到它。

    我不知道这是否相关,但我正在使用 https://octobercms.com/plugin/netsti-uploader 供前端用户上传其头像。如果我在前端上传它,后端用户预览会显示正确的化身

    这是我用来获取所有用户的:

    代码:

    use October\Rain\Auth\Models\User;
    
    function onInit() {
        $this['activatedUsers'] = User::whereIsActivated(true)->get();
    }
    

    标记

    <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 回复  |  直到 7 年前
        1
  •  4
  •   Zakir hussain    7 年前

    试着这样使用它。

    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 %}
    
        2
  •  1
  •   Raja Khoury    7 年前

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

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

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

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

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

    e、 g:

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

        3
  •  0
  •   Amit MaharJan    6 年前

    安装“模型前端文件上传器”插件

    插入 {% 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);
        }
    }
    

    在代码部分

        4
  •  0
  •   Lasithds    5 年前

    您可以使用' 阿凡达 '。

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