当前位置:网站首页 >  攻略

苹果CMS常用标签调用参数详解与实战应用指南

时间:2026年06月08日 20:44:34 来源:易频IT社区

核心标签系统概述

苹果CMS的标签系统采用类似Smarty的模板语法,所有标签调用均通过{:标签名(参数='值')}格式实现。系统内置标签分为数据调用类、功能类、系统变量类三大类,每类标签都有特定的参数配置方式。

基础标签调用语法

所有标签调用必须遵循以下基本语法结构:

```{:标签名称(参数1='值1', 参数2='值2', ...)}```

参数赋值规则

  • 参数名和值之间用等号连接
  • 字符串值必须用单引号包裹
  • 数字值可直接书写
  • 多个参数用逗号分隔
  • 参数顺序不影响调用结果

数据调用类标签详解

文章列表标签

```{:lists(table='article', num='10', order='id DESC', where='status=1')}```

table:指定数据表,常用值有article(文章)、video(视频)、topic(专题)

num:调用数量,默认10条

order:排序方式,格式为"字段名 排序方式"

where:查询条件,支持标准SQL WHERE语法

分页参数配置

```{:lists(table='article', num='10', page='true', pagename='page')}```

page:启用分页,设置为'true'

pagename:分页参数名,默认'page'

url:自定义分页链接格式

字段筛选参数

```{:lists(table='article', field='id,title,content', where='id>100')}```

field:指定返回字段,多个字段用逗号分隔

limit:限制查询范围,如'0,10'表示从第0条开始取10条

条件判断标签

if条件标签

```{if condition="$vo.status eq 1"}正常{else}禁用{/if}```

支持的条件运算符:

  • eq 或 ==:等于
  • neq 或 !=:不等于
  • gt:大于
  • lt:小于
  • egt:大于等于
  • elt:小于等于

多条件组合

```{if condition="($vo.status eq 1) AND ($vo.type eq 2)"}显示内容{/if}```

逻辑运算符:AND(与)、OR(或)、NOT(非)

循环输出标签

volist基础循环

```{volist name="list" id="vo"}

{$vo.title}

{/volist}```

name:要遍历的数组变量名

id:当前元素别名

key:可选,当前循环索引

循环状态变量

```{volist name="list" id="vo"}{$i}:{$vo.title} {/volist}```

系统自动生成变量:

  • $i:当前循环次数(从1开始)
  • $index:当前索引(从0开始)
  • $iteration:当前迭代次数
  • $total:总记录数

内容详情标签

单条数据调用

```{:detail(table='article', id='$id')}```

id:记录ID,可以是变量或固定值

field:指定返回字段

cache:缓存时间(秒)

关联查询示例

```{:detail(table='article', id='$id', join='category on article.cid=category.id')}```

分类标签调用

分类列表调用

```{:clists(table='category', pid='0', order='sort asc')}```

pid:父级分类ID,0表示顶级分类

level:获取层级,如'1,2'表示获取一级和二级分类

子分类调用

```{:sons(table='category', pid='$cid')}```

系统变量标签

站点配置变量

```{$site.site_name}``` 站点名称 ```{$site.site_url}``` 站点URL ```{$site.site_keywords}``` 站点关键词

页面变量

```{$page.title}``` 页面标题 ```{$page.keywords}``` 页面关键词 ```{$page.description}``` 页面描述

用户信息变量

```{$user.user_name}``` 用户名 ```{$user.group_id}``` 用户组ID ```{$user.login_time}``` 最后登录时间

实用函数标签

URL生成函数

```{:url('article/detail', ['id'=>$id])}```

参数说明:

  • 第一个参数:控制器/方法
  • 第二个参数:URL参数数组

时间格式化

```{:date('Y-m-d H:i:s', $vo.create_time)}```

格式字符说明:

  • Y:四位年份
  • m:两位月份
  • d:两位日期
  • H:24小时制小时
  • i:分钟
  • s:秒数

标签组合实战案例

案例1:带分页的文章列表

```{volist name=":lists(table='article', num='15', page='true', order='id DESC', where='status=1')" id="vo"}

{$vo.title}

{:msubstr($vo.content, 0, 100)}...

{:date('Y-m-d', $vo.create_time)}
{/volist}
{$page}
```

案例2:多级分类导航

```{volist name=":clists(table='category', pid='0')" id="cat"}
  • {$cat.name}
      {volist name=":clists(table='category', pid='$cat.id')" id="subcat"}
    • {$subcat.name}
    • {/volist}
  • {/volist}```

    案例3:条件筛选列表

    ```{volist name=":lists(table='video', num='12', where="status=1 AND type='{$type}' AND year='{$year}'", order='hits DESC')" id="vo"} {/volist}```

    高级参数技巧

    缓存参数优化

    ```{:lists(table='article', num='10', cache='3600', order='id DESC')}```

    缓存时间单位:秒,建议设置:

    • 首页数据:7200(2小时)
    • 列表页数据:3600(1小时)
    • 详情页数据:1800(30分钟)

    SQL直接查询

    ```{:query("SELECT FROM mac_article WHERE status=1 ORDER BY id DESC LIMIT 10")}```

    注意事项:

    • 表名需包含前缀
    • 避免在循环中使用
    • 注意SQL注入防护

    调试与优化建议

    标签调试方法

    在标签后添加debug='true'参数查看原始数据:

    ```{:lists(table='article', num='5', debug='true')}```

    性能优化要点

    • 合理使用cache参数减少数据库查询
    • 避免在循环中进行复杂查询
    • field参数只获取必要字段
    • where条件使用索引字段

    常见错误排查

    • 标签未闭合:确保每个{标签}都有对应的{/标签}
    • 参数格式错误:检查单引号、逗号使用是否正确
    • 变量未定义:确认$变量是否在上下文中存在
    • 表名错误:检查table参数值是否正确

    相关推荐

    最新

    热门

    推荐

    精选

    标签

    易频IT社区是综合性互联网IT技术门户网站,专注分享网络技术、服务器运维、网络安全、编程开发、系统架构、云计算、大数据等行业干货,实时更新IT行业资讯、零基础教程、实战案例,为IT从业者、技术爱好者提供专业的学习交流平台。

    Copyright © 2021-2026 易频IT社区. All Rights Reserved. 备案号:闽ICP备2023013482号 网站地图