October CMS - 快速入门 9 Images And Galleries

这一部分我们将为影片创建图片和图片库
首先我们将分页改为每页10个影片

clipboard.png

clipboard.png

设置图片

下面,我们将设置图片,点击菜单【builder】选择【Movies】选择【Models】选择【Forms】中的fields.yaml
添加一个上传表单,而且我们不需要为此创建数据库字段,October会自动处理

clipboard.png

现在我们点击【视频】菜单,选择一个视频编辑

clipboard.png

会出现如下错误说明没有定义poster

clipboard.png

我们需要在代码编辑器中,修改文件:pluginsraiseinfomoviesmodelsMovie.php

为poster添加一个关系,关联到系统的图片表,把图片附加到视频表上。

    /**
     * 关系,用于将图片附加到Movies表上
     */
    public $attachOne = [
        'poster' => 'System\Models\File'
    ];

再次刷新页面,现在可以进行图片上传了。

clipboard.png

clipboard.png

如何显示上传的图片:
themesraiseinfopagesmovie-single.htm

{{ record.poster }}
{% if record %}
<!--{{ attribute(record, displayColumn) }}-->
<h2>{{ record.name }}</h2>

{{ record.poster }}

<h4>{{ record.year }}</h4>

<h3>简介</h3>

<p>
    {{ record.description|raw }}
</p>

{% else %}
    {{ notFoundMessage }}
{% endif %}

查看视频页面:http://octobermovie.dev.raise...

clipboard.png

会出现上面图片显示的信息,图片并没有显示出来。

如果我们使用{{ record.poster.path }}
则显示图片地址,到这里,你或许就明白了,我们需要构建一个img标签,把这个地址作为img的标签属性即可。

clipboard.png

<img src="{{ record.poster.path }}" alt="">

再次刷新:

clipboard.png

但是,我们发现图片太大了。好的,我们可以继续设置。

<img src="{{ record.poster.thumb(200,auto) }}" alt="">

clipboard.png

再比如:对图像进行200x200的裁剪

<img src="{{ record.poster.thumb(200,200,{'mode':'crop'}) }}" alt="">

clipboard.png

设置画廊

我们将在Models——Movie——Forms——fields.yaml中添加新的字段

clipboard.png

接下来,如果我们保存后,去编辑视频,则还会出现错误

clipboard.png

那么和原来一样,我们修改插件的Models文件
pluginsraiseinfomoviesmodelsMovie.php

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

再次刷新:
clipboard.png

现在可以上传多张图片了

clipboard.png

这些图片可以拖动,调整顺序,或者是删除。

我们要是显示这些图片,则在themesraiseinfopagesmovie-single.htm进行代码修改

<h3>图集</h3>
<ul>
    {% for image in record.movie_gallery %}
        <li>
            <a href="{{ image.path }}">
                <img src="{{ image.thumb(80,auto) }}" alt="">
            </a>
        </li>
    {% endfor %}
</ul>

clipboard.png

当然我们可以使用js插件进行显示和展示。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值