October CMS - 快速入门 9 Images And Galleries

这一部分咱们将为影片建立图片和图片库
首先咱们将分页改成每页10个影片php

clipboard.png

clipboard.png

设置图片

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

clipboard.png

如今咱们点击【视频】菜单,选择一个视频编辑编辑器

clipboard.png

会出现以下错误说明没有定义posterpost

clipboard.png

咱们须要在代码编辑器中,修改文件:pluginsraiseinfomoviesmodelsMovie.phpui

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

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

再次刷新页面,如今能够进行图片上传了。插件

clipboard.png

clipboard.png

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

{{ 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...code

clipboard.png

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

若是咱们使用{{ 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插件进行显示和展现。

相关文章
相关标签/搜索