October/Winter CMS上传图片和文件File Attachments

OctoberCMS上传图片的实现方法用$attachOne$attachMany两个系统内置的model

单文件上传

public $attachOne = [
'avatar' => 'System\Models\File'
];

多个文件上传

public $attachMany = [
    'photos' => 'System\Models\File'
];

需要说明的是OctoberCms的文件上传是通过Modelsfields.yaml文件添加Widgets类型的字段来实现的,而Widgets是系统内置工具,因此是不需要为数据表独立添加相关字段的。

OctoberCMS上传图片的实现方法

接下来需要在对应的Model中设置Relation,如果图片只上传一个则设置为$attachOne,多个则使用$attachMany(官方文档)

    public $attachOne = [
        'poster' => 'System\Models\File'
    ];

最终效果

图片文件在前端调用

原始尺寸图片

{{ record.poster.path }}

裁剪200x200的缩略图

{{ record.poster.thumb(200, 200, {'mode':'crop'} }}

固定宽度200

{{ record.poster.thumb(200, auto) }}

$attachMany多个图片/文件的调用

{% for image in record.gallery %}
<a href="{{ image.path }}"><img src="{{ image.thumb(200, 200, {'mode':'crop'} }}" /></a>
{% endfor %}

Post Comment