正在加载文档...
配置与应用标签
iCMS 配置与应用标签技术文档
配置标签 (ConfigFunc)
配置标签用于获取系统配置数据,支持获取整个配置或指定键值。
config:get 标签
获取系统配置数据。
支持参数
参数名 | 类型 | 默认值 | 说明 |
---|---|---|---|
name | 字符串 | - | 配置名称(必填) |
key | 字符串 | - | 配置键名 |
keys | 数组/字符串 | - | 需要获取的键名列表 |
is_remove_keys | 布尔值 | false | 是否移除指定键名(true:保留指定键名,false:移除指定键名) |
返回数据结构
根据配置的不同,返回的数据结构也不同,可能是数组或单个值。
使用示例
<!-- 获取整个站点配置 -->
<!--{iCMS:config:get name='site'}-->
<!--{$config_get.title}--> <!-- 输出网站标题 -->
<!--{$config_get.url}--> <!-- 输出网站URL -->
<!-- 获取指定配置项 -->
<!--{iCMS:config:get name='site' key='title'}-->
<!--{$config_get}--> <!-- 直接输出网站标题 -->
<!-- 获取多个指定配置项 -->
<!--{iCMS:config:get name='site' keys='title,url,icp'}-->
<!--{$config_get.title}--> <!-- 输出网站标题 -->
<!--{$config_get.url}--> <!-- 输出网站URL -->
<!--{$config_get.icp}--> <!-- 输出备案信息 -->
常用配置示例
站点配置
<!--{iCMS:config:get name='site'}-->
<title><!--{$config_get.title}--></title>
<meta name="keywords" content="<!--{$config_get.keywords}-->" />
<meta name="description" content="<!--{$config_get.description}-->" />
模块配置
<!--{iCMS:config:get name='article'}-->
<!--{if $config_get.enable}-->
<!-- 文章模块已启用 -->
<!--{else}-->
<!-- 文章模块已禁用 -->
<!--{/if}-->
应用标签 (AppsFunc)
应用标签用于获取系统中的应用列表数据。
apps:list 标签
获取应用列表数据。
支持参数
参数名 | 类型 | 默认值 | 说明 |
---|---|---|---|
row | 整数 | 10 | 每页显示条数 |
cache | 布尔值 | 0 | 是否缓存结果 |
time | 整数 | -1 | 缓存时间(秒) |
page | 布尔值 | 0 | 是否启用分页 |
status | 整数 | 1 | 状态(1:正常) |
apptype | 整数 | - | 应用类型 |
type | 字符串 | - | 应用分类 |
orderby | 字符串 | id | 排序字段 |
by | 字符串 | DESC | 排序方式(ASC/DESC) |
返回数据结构
[
[
'id' => 应用ID,
'app' => 应用标识,
'name' => 应用名称,
'title' => 应用标题,
'apptype' => 应用类型,
'type' => 应用分类,
'status' => 状态,
'config' => [应用配置],
'fields' => [应用字段],
'addtime' => 添加时间,
'table' => 数据表名
],
// 更多应用...
]
使用示例
<!--{iCMS:apps:list apptype='1' cache='1'}-->
<div class="app-item">
<h3><!--{$apps_list.name}--></h3>
<p><!--{$apps_list.title}--></p>
<p>应用类型: <!--{$apps_list.apptype}--></p>
<p>添加时间: <!--{$apps_list.addtime|date:'Y-m-d H:i:s'}--></p>
</div>
<!--{/iCMS}-->
应用类型说明
类型值 | 说明 |
---|---|
1 | 内容应用 |
2 | 分类应用 |
3 | 标签应用 |
4 | 评论应用 |
5 | 用户应用 |
常见应用场景
获取所有内容应用
<div class="content-apps">
<h2>内容应用列表</h2>
<ul>
<!--{iCMS:apps:list apptype='1' cache='1'}-->
<li>
<strong><!--{$apps_list.name}--></strong>: <!--{$apps_list.title}-->
</li>
<!--{/iCMS}-->
</ul>
</div>
获取所有分类应用
<div class="category-apps">
<h2>分类应用列表</h2>
<ul>
<!--{iCMS:apps:list apptype='2' cache='1'}-->
<li>
<strong><!--{$apps_list.name}--></strong>: <!--{$apps_list.title}-->
</li>
<!--{/iCMS}-->
</ul>
</div>
最佳实践
配置与应用结合使用
<!-- 获取文章应用配置 -->
<!--{iCMS:config:get name='article'}-->
<!--{if $config_get.enable}-->
<!-- 获取文章应用信息 -->
<!--{iCMS:apps:list app='article' row='1' cache='1'}-->
<!--{if $apps_list}-->
<div class="article-app-info">
<h2>文章应用信息</h2>
<p>应用名称: <!--{$apps_list.0.name}--></p>
<p>应用标题: <!--{$apps_list.0.title}--></p>
<p>应用状态: <!--{$apps_list.0.status}--></p>
</div>
<!--{/if}-->
<!--{/iCMS}-->
<!--{/if}-->
性能优化建议
-
合理使用缓存
<!--{iCMS:apps:list cache='1' time='3600'}-->
⚠️ 应用列表数据变动不频繁,可以设置较长的缓存时间。
-
按需获取配置
只获取需要的配置项,减少数据处理:
<!--{iCMS:config:get name='site' keys='title,url,keywords,description'}-->
调试技巧
-
开启调试模式
<!--{iCMS:apps:list db_debug='1'}-->
-
查看SQL语句
<!--{$apps_list_sql}-->
-
输出变量结构
<!--{$config_get|print_r}-->
注意事项
-
配置安全
⚠️ 不要在前台模板中输出敏感配置信息,如数据库连接信息、邮箱密码等。
-
应用状态检查
在使用应用相关功能前,应先检查应用是否启用:
<!--{iCMS:config:get name='article'}--> <!--{if $config_get.enable}--> <!-- 文章功能已启用 --> <!--{else}--> <!-- 文章功能已禁用 --> <!--{/if}-->
-
缓存更新
当配置或应用信息更新后,需要清除相关缓存。