phalconcms使用教程三:栏目的使用

本文详细介绍了PhalconCMS的栏目模型,包括新闻栏目(频道栏目、列表栏目)、页面栏目和跳转栏目。新闻栏目支持批量添加、自定义URL、图片剪裁等功能;页面栏目提供富文本编辑器,支持分页和自定义模板;跳转栏目用于站内外链接。系统还支持栏目无限分级,并在模板中提供了Volt和HTML的调用方法,利用缓存提高性能。
摘要由CSDN通过智能技术生成
一、栏目模型介绍

本系统支持三种栏目模型,分别是新闻栏目、页面栏目和跳转栏目。
1、新闻栏目又分为频道栏目和列表栏目,频道栏目不能发布内容,列表栏目可以发布文章、新闻等。
2、页面栏目可以用来发布单个页面内容,例如公司简介、联系我们等。
3、跳转栏目可以实现跳转站内或站外地址。

二、栏目的使用
1、新闻栏目

1)支持批量添加,当不填写url名称时会自动生成url名称,主要用于前台访问。
在这里插入图片描述
当然也可以指定栏目的url名称
在这里插入图片描述
2)单张图片上传支持自定义剪裁图片
在这里插入图片描述
3)允许指定内容分页数、栏目顺序、栏目模板、内容模板
4)高级设置可以设置关键词、描述、SEO内容、栏目显示或隐藏、栏目的顺序、栏目内容排序、还有扩展模型。
其中SEO内容支持是meta标签,扩展模型主要用于字段不满足需求需要增加额外字段来实现的扩展模型。
在这里插入图片描述
添加成功后可以看到
在这里插入图片描述

2、页面栏目

1)单页面栏目使用的是百度富文本编辑器,支持图片、视频、附件等,功能丰富而强大
在这里插入图片描述
2)支持分页,当一个单页面过大时可以使用[page]标记实现文章分页
3)支持自定义模板
4)高级设置同新闻栏目类似

3、跳转栏目

1)该栏目主要实现跳转功能,支持跳转到站内,比如首页
在这里插入图片描述
2)跳转到站外,比如跳转到百度
在这里插入图片描述

4、支持栏目无限分级

在这里插入图片描述

5、在模板中使用

volt中

{% for category in model.getModel('Category').categoryGroup(0,2) %}
	<a href="{{ url('category/' ~ category['urlname']) }}" target="_blank">{{ category['name'] }}</a><br>
	{% for category1 in category['child'] %}
		--<a href="{{ url('category/' ~ category1['urlname']) }}" target="_blank">{{ category1['name'] }}</a><br>
	{% endfor%}
{% endfor%}

html中

{foreach $model->getModel('Category')->categoryGroup(0,2) as $category}
<a href="category/{$category['urlname']}" target="_blank">{$category['name']}</a><br>
	{foreach $category['child'] as $category1 }
	--<a href="category/{$category1['urlname']}" target="_blank">{$category1['name']}</a><br>
	{/foreach}
{/foreach}

在这里插入图片描述
可以利用通用模型model调用getModel()方法,获得Category模型后可以调用Category模型中的categoryGroup方法来获取栏目及其子栏目,第一个参数是栏目的pid(顶级栏目pid为0),第二个参数是获取的层级。

model也可以当成phalcon的模型来用,只需要设置表名即可,比如想查找自定义变量表,只需要使用{% set fragment= model.table('fragment').findFirst(1) %}来获取id为1的一条记录。也可以使用封装的{% set fragment= model.table('fragment').getOne(1) %}。获取多条记录可以使用getAll()方法。
推荐使用getOne()getAll(),因为该方法封装了缓存,当后台开启缓存后会自动缓存数据。
第一个参数与findFirstfind()参数一致,支持主键id、字符串条件和数组。getOne()getAll()还有第二个参数,第二个参数是languageId,即当前语言的id,不过不用传递,系统会自动识别。当不需要languageId时,可以传false有的表没有language_id字段,所以调用此类表需要传false
model.table('fragment')会返回一个phalcon的模型对象,调用的是fragment表,可以使用phalcon模型的大部分方法。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值