phalconcms使用教程六:扩展模型的使用

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/u014691098/article/details/83005180

有的栏目字段可能不满足需求,需要增加字段,扩展模型就是为其而生的。

1、创建扩展模型

在这里插入图片描述
此时在列表页就可以看到创建好的模型了
在这里插入图片描述
这个时候点“字段管理”就可以管理该模型的字段了,需要什么字段就可以添加什么字段

2、添加字段

点击添加字段可以看到如下图:
字段类型支持九种,能基本满足常规需求。
在这里插入图片描述
字段属性支持五种,会根据字段类型推荐使用属性。
varchar可以填写字符串
int只能填写整数
datetime可以选择日期(日期格式可以配置)
decimal支持填写小数(整数位和小数位长度可以配置)
text主要是用于编辑器类型,其他字段类型不建议使用
在这里插入图片描述
在这里插入图片描述
也可以指定字段的顺序、是否必填、默认内容等

接下来我们创建字段
1)创建个地点字段
在这里插入图片描述
2)创建个日期字段,可以指定字段格式,比如只需年月日(2018-10-10)这样的格式,即可按图中字段配置那样填写
在这里插入图片描述
3)创建单选字段,如果值为整数则选int,否则选varchar。同时需要在字段配置中加入选项,左边是值,右边是显示的内容,一行一个选项,允许有空格。
比如:

1 = 左
2  =   右

默认值是非必填项
在这里插入图片描述

4)添加组图功能,根据图片的多少选择合适的字段长度,如果不知道选择字段长度多少合适,字段属性可以选择text格式,当然,不推荐使用text
在这里插入图片描述
添加完成后可以看到测试模型的所有字段
在这里插入图片描述

3、添加新闻栏目并指定使用“测试”模型

添加新闻栏目=》高级设置,即可看到选择扩展模型,选择刚创建的“测试”模型
在这里插入图片描述

4、添加内容

1)点击内容就可以看到刚才添加的“测试扩展模型”栏目了,点击它就可以给该栏目添加内容
在这里插入图片描述

2)点击添加内容=》扩展信息即可看到刚才添加的字段
在这里插入图片描述
3)由于当时创建字段时指定日期只能选择年月日,所以只能精确到日
位置默认值设的是“2”,即“右”
在这里插入图片描述
4)上传多图可以指定是否添加水印,水印位置,是否生成缩略图,缩略图大小,是裁剪还是按比例生成缩略图
在这里插入图片描述
需要注意的是上传图片受系统设置中的一些选项影响
比如上传大小、批量上传数量、上传格式、如果需要添加水印,则需要在这里上传水印图片
在这里插入图片描述
5)添加好图片后点开始上传
在这里插入图片描述
6)上传中
在这里插入图片描述

7)上传完成,同时可以指定这些图片的标题和排序,默认使用原图片名称为标题,如果还想继续上传,可以点“上传多图”继续上传图片,不过数量受配置限制。
在这里插入图片描述

8)然后发布内容
在这里插入图片描述

扫描二维码关注公众号,回复: 3817424 查看本文章

5、在栏目模板中使用

扩展字段名称就是创建的变量名

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9; IE=8; IE=7; IE=EDGE">
<title>{{ common['title'] }}</title>
<meta name="keywords" content="{{ common['keywords'] }}">
<meta name="description" content="{{ common['description'] }}">
<style>
html, body { width: 100%; height: 100%; overflow: hidden; margin: 0; }
html { _height: auto; _padding: 50px 0 0px; }
</style>
</head>
<body>
导航:
{% for value in nav %}
<a href="{{ url('category/' ~ value['urlname']) }}" target="_blank">{{ value['name'] }}</a>>
{% endfor%}
<hr>
{% for value in list %}
<a href="{{ url('categorycontent/' ~ value.urltitle) }}" target="_blank">{{ value.title }}</a> 
地点:{{ value.addr }} 日期:{{ value.mydate }} 位置:{% if value.posi==1 %}左{% else %}右{% endif %}<br>
照片墙:
<pre>
{% set images = json_decode(value.images, true) %}
{{ var_dump(images) }}

{% endfor%}
<hr>
{{ paginator.show() }}
</body>
</html>

6、访问该栏目

在这里插入图片描述

7、在内容详情模板中使用

在内容模板中,扩展数据都在expandData对象中

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9; IE=8; IE=7; IE=EDGE">
<title>{{ common['title'] }}</title>
<meta name="keywords" content="{{ common['keywords'] }}">
<meta name="description" content="{{ common['description'] }}">
<style>
html, body { width: 100%; height: 100%; overflow: hidden; margin: 0; }
html { _height: auto; _padding: 50px 0 0px; }
</style>
</head>
<body>
导航:
{% for value in nav %}
<a href="{{ url('category/' ~ value['urlname']) }}" target="_blank">{{ value['name'] }}</a><br>>
{% endfor%}
<hr>
标题:{{ categoryContent.title }}
<hr>
内容:
{{ content }}
<hr>
地点:{{ expandData.addr }} 
日期:{{ expandData.mydate }} 
位置:{% if expandData.posi==1 %}左{% else %}右{% endif %}<br>
照片墙:
<pre>
{% set images = json_decode(expandData.images, true) %}
{{ var_dump(images) }}

{{ paginator.show() }}
<hr>
上一篇:{% if  prevCategoryContent===false %}没有上一篇{% else %}<a href="{{ url('categorycontent/' ~ prevCategoryContent.urltitle) }}">{{ prevCategoryContent.title }}</a>{% endif %}

下一篇:{% if  nextCategoryContent===false %}没有下一篇{% else %}<a href="{{ url('categorycontent/' ~ nextCategoryContent.urltitle) }}">{{ nextCategoryContent.title }}</a>{% endif %}
<hr>
</body>
</html>

8、访问内容详情页

在这里插入图片描述

总结:
扩展模型极大方便了模型的扩展,不同的栏目亦可以指定不同的扩展模型。同时还有更多好用的功能后续会一一介绍

猜你喜欢

转载自blog.csdn.net/u014691098/article/details/83005180
今日推荐