概述与基础

标签语法基础

极有客CMS 使用类似 Smarty 的模板语法:

{变量名} // 输出变量 {$变量名} // 输出变量(带$符号) {函数名(参数)} // 调用函数 {if 条件}...{/if} // 条件判断 {loop 数组 键 值}...{/loop} // 循环 {php}...{/php} // PHP 代码块

常用变量类型

变量类型 说明 示例
$title 标题 {$title}
$catid 栏目ID {$catid}
$id 内容ID {$id}
$t 循环中的当前项 {$t.title}

快速示例

调用文章列表

{module catid=$catid order=inputtime page=1} <h3>{$t.title}</h3> <p>{dr_strcut($t.description, 100)}</p> <a href="{$t.url}">查看详情</a> {/module}

列表页标签

AI对话提示词:
列表模板标签完整示例:{module catid=$catid order=displayorder,inputtime page=1 more=1}标题:{dr_strcut($t.title, 30)}链接:{$t.url}描述:{dr_strcut($t.description, 80)}描述可写br标签换行:{dr_html_code($t.description)}缩略图原图:{dr_get_file($t.thumb)}缩略图裁剪:{dr_thumb($t.thumb, 640, 360)}是否GIF图:{if substr(dr_get_file($t.thumb),-3)==gif}发布时间:{dr_date($t._inputtime, 'Y-m-d')}分类名称:{dr_share_cat_value($t.catid, 'name')}列表的下载:{loop $t.downfile $i $c}<a href="{dr_down_file($c.file)}">{$c.title}</a>{/loop}视频:{dr_get_file($t['video'])}多站点list链接:{dr_url_prefix($c.url, "news", 1)}隔行换色:{if ($key+1)%2==0}{/if}{/module}分页:{$pages}

列表模板完整示例

功能 代码
标题截取 {dr_strcut($t.title, 30)}
链接 {$t.url}
描述截取 {dr_strcut($t.description, 80)}
描述HTML显示 {dr_html_code($t.description)}
缩略图原图 {dr_get_file($t.thumb)}
缩略图裁剪 {dr_thumb($t.thumb, 640, 360)}
判断GIF图 {if substr(dr_get_file($t.thumb), -3) == 'gif'}...{/if}
发布时间 {dr_date($t._inputtime, 'Y-m-d')}
分类名称 {dr_share_cat_value($t.catid, 'name')}
下载文件 {loop $t.downfile $i $c}<a href="{dr_down_file($c.file)}">{$c.title}</a>{/loop}
视频 {dr_get_file($t['video'])}
多站点链接 {dr_url_prefix($c.url, "news", 1)}
隔行换色 {if ($key+1)%2==0}偶数行{/if}
分页 {$pages}

module 标签

用于调用模块内容列表

基本语法

{module catid=$catid order=displayorder,inputtime page=1 more=1} <!-- 循环内容 --> {/module}

参数说明

参数 说明 示例 必填
catid 栏目ID catid=$catid
order 排序方式 order=inputtime
page 是否分页 page=1
num 显示数量 num=10

循环变量 $t

在 module 标签内,使用 $t 访问当前项的字段:

字段/函数 说明 示例
$t.title 标题 {dr_strcut($t.title, 30)}
$t.url 链接地址 {$t.url}
$t.description 描述/摘要 {dr_strcut($t.description, 80)}
$t.thumb 缩略图 {dr_get_file($t.thumb)}
$t._inputtime 发布时间戳 {dr_date($t._inputtime, 'Y-m-d')}
$t.catid 栏目ID {dr_share_cat_value($t.catid, 'name')}
$t.downfile 下载文件数组 {loop $t.downfile $i $c}...{/loop}
$t.video 视频字段 {dr_get_file($t['video'])}
$key 循环索引(从0开始) {if ($key+1)%2==0}偶数行{/if}

常用函数详解

描述HTML代码显示

{dr_html_code($t.description)}

允许描述中的HTML标签(如br)正常显示

判断GIF图片

{if substr(dr_get_file($t.thumb), -3) == 'gif'} <img src="{dr_get_file($t.thumb)}" alt="GIF动图"> {else} <img src="{dr_thumb($t.thumb, 640, 360)}" alt="静态图"> {/if}

GIF图片不裁剪,保持动画效果

下载文件循环

{loop $t.downfile $i $c} <div class="download-item"> <span>{$i}. {$c.title}</span> <a href="{dr_down_file($c.file)}" class="btn">下载</a> </div> {/loop}

循环显示所有下载文件

多站点链接

{dr_url_prefix($c.url, "news", 1)}

参数:URL、模块名、站点ID

隔行换色

<div class="{if ($key+1)%2==0}even{else}odd{/if}"> {$t.title} </div>

使用 $key 索引实现奇偶行不同样式

{module catid=$catid} 标题:{$t.title} 链接:{$t.url} 描述:{$t.description} 缩略图:{dr_thumb($t.thumb, 300, 200)} 发布时间:{dr_date($t._inputtime, 'Y-m-d')} {/module}

常用函数

字符串截取

{dr_strcut($t.title, 30)} {dr_strcut($t.description, 80)}

图片缩略图

<!-- 300x200 缩略图 --> <img src="{dr_thumb($t.thumb, 300, 200)}" alt="{$t.title}"> <!-- 带水印的缩略图 --> <img src="{dr_thumb($t.thumb, 300, 200, 1)}" alt="{$t.title}">

分页

{$pages}

注意:必须在 module 标签中添加 page=1 参数才能启用分页。

列表收藏功能

判断当前内容是否已被收藏:

{if \Phpcmf\Service::M()->db ->table(SITE_ID.'_'.MOD_DIR.'_favorite') ->where('cid', $t.id) ->where('uid', $member.uid) ->countAllResults()} 已收藏 {else} <a href="javascript:dr_app_favorite({$t.id})">收藏</a> {/if}

收藏功能JavaScript

<script> // 模块列表收藏 function dr_app_favorite(id) { $.get("{dr_url_prefix('index.php')}?is_ajax=1&s=api&app={MOD_DIR}&c=module&m=favorite&id=" + id, function(data) { dr_cmf_tips(data.code, data.msg); if (data.code) { // $('#module_favorite_' + id).html(data.data); window.location.reload(); // 刷新页面 } else { // 收藏失败处理 } }, 'json' ); } </script>

完整收藏按钮示例

{module catid=$catid order=inputtime page=1} <div class="item"> <h3>{$t.title}</h3> <p>{dr_strcut($t.description, 100)}</p> <!-- 收藏按钮 --> <div class="favorite-btn" id="module_favorite_{$t.id}"> {if $member} {if \Phpcmf\Service::M()->db ->table(SITE_ID.'_'.MOD_DIR.'_favorite') ->where('cid', $t.id) ->where('uid', $member.uid) ->countAllResults()} <span class="collected">已收藏</span> {else} <a href="javascript:dr_app_favorite({$t.id})"> <i class="fa fa-heart-o"></i> 收藏 </a> {/if} {else} <a href="{dr_member_url('login/index')}">登录后收藏</a> {/if} </div> </div> {/module}

说明

详情页标签

AI对话提示词:
详情页标签:基本字段{$title}{$author}{$content}{$description}{$keywords}时间{dr_date($_inputtime, 'Y-m-d')}访问量{dr_show_hits($id)}多图{loop $pics $i $c}序号{$i}标题{$c.title}描述{$c.description}原图{dr_get_file($c.file)}缩略图{dr_thumb($c.file, 200, 200)}带水印{dr_thumb($c.file, 200, 200, 1)}{/loop}上下篇{if $prev_page}{$prev_page.url}{$prev_page.title}{/if}{if $next_page}{$next_page.url}{$next_page.title}{/if}

基本字段

字段 说明
{$title} 标题
{$author} 作者
{$content} 内容(富文本HTML)
{$description} 描述/摘要
{$keywords} 关键词
{dr_date($_inputtime, 'Y-m-d')} 发布时间
{dr_show_hits($id)} 访问量/点击量

多图字段

{loop $pics $i $c} 序号: {$i} 标题:{$c.title} 描述:{$c.description} 原图:{dr_get_file($c.file)} 缩略图:{dr_thumb($c.file, 200, 200)} 带水印:{dr_thumb($c.file, 200, 200, 1)} {/loop}

上一篇/下一篇

<p> <strong>上一篇:</strong> {if $prev_page} <a href="{$prev_page.url}">{$prev_page.title}</a> {else} 没有了 {/if} <br> <strong>下一篇:</strong> {if $next_page} <a href="{$next_page.url}">{$next_page.title}</a> {else} 没有了 {/if} </p>

首页标签

AI对话提示词:
首页标签:幻灯片{php $hdtp = dr_site_value('hdtp');}{loop $hdtp $v}图片{dr_get_file($v[1])}标题{$v[2]}链接{$v[3]}{/loop}站点信息{SITE_NAME}{SITE_ICP}{SITE_LOGO}{SITE_TONGJI}{dr_site_info('address')}{dr_site_info('tel')}{dr_site_info('email')}{dr_get_file(dr_site_info('ewm'))}首页独立内容{php $indexcontent = dr_site_value('indexcontent');}{dr_get_file($indexcontent[1][1])}{$indexcontent[1][2]}

幻灯片

{php $hdtp = dr_site_value('hdtp');} {loop $hdtp $v} 图片URL: {dr_get_file($v[1])} 标题: {$v[2]} 链接: {$v[3]} {/loop}

站点信息

常量 说明
{SITE_NAME} 站点名称
{SITE_ICP} 备案号
{SITE_LOGO} 站点LOGO
{SITE_TONGJI} 统计代码
{dr_site_info('address')} 地址
{dr_site_info('tel')} 电话
{dr_site_info('email')} 邮箱
{dr_get_file(dr_site_info('ewm'))} 二维码

首页独立内容

{php $indexcontent = dr_site_value('indexcontent');} <!-- 第一个内容的第一个字段 --> {dr_get_file($indexcontent[1][1])} <!-- 第一个内容的第二个字段 --> {$indexcontent[1][2]}

栏目标签

AI对话提示词:
栏目标签:{category module=share pid=0}{$t.url}{$t.name}{/category}栏目信息{dr_share_cat_value(999, "name")}{dr_share_cat_value(999, "url")}{dr_share_cat_value(999, "content")}{dr_get_file(dr_share_cat_value(999, "thumb"))}栏目内容截取{dr_strcut(dr_html2text(dr_share_cat_value(17, 'content')), 480, '...')}栏目数据量{count action=module module=模块目录 catid=999}栏目SEO{dr_share_cat_value(999, "setting", "seo", "list_title")}{dr_share_cat_value(999, "setting", "seo", "list_keywords")}{dr_share_cat_value(999, "setting", "seo", "list_description")}高亮判断{if IS_SHARE && $catid && dr_in_array($catid, $t.catids)}active{/if}

category 标签

{category module=share pid=0} <a href="{$t.url}">{$t.name}</a> {/category}

参数说明

参数 说明 示例
module 模块名 share, news
pid 父栏目ID 0, $top.id
num 显示数量 num=0,5
return 返回变量名 return=t2

栏目信息函数

栏目名称:{dr_share_cat_value(999, "name")} 栏目地址:{dr_share_cat_value(999, "url")} 栏目内容:{dr_share_cat_value(999, "content")} 缩略图:{dr_get_file(dr_share_cat_value(999, "thumb"))}

栏目内容截取

调用栏目纯文字内容并截取字数:

{dr_strcut(dr_html2text(dr_share_cat_value(17, 'content')), 480, '...')}

说明:

栏目数据量统计

{count action=module module=模块目录 catid=999}

返回指定栏目下的内容数量

栏目SEO属性

属性 代码 说明
SEO标题 {dr_share_cat_value(999, "setting", "seo", "list_title")} 栏目列表页标题
SEO关键词 {dr_share_cat_value(999, "setting", "seo", "list_keywords")} 栏目列表页关键词
SEO描述 {dr_share_cat_value(999, "setting", "seo", "list_description")} 栏目列表页描述

完整示例

<!-- 栏目SEO信息 --> <title>{dr_share_cat_value($catid, "setting", "seo", "list_title")}</title> <meta name="keywords" content="{dr_share_cat_value($catid, "setting", "seo", "list_keywords")}" /> <meta name="description" content="{dr_share_cat_value($catid, "setting", "seo", "list_description")}" /> <!-- 栏目内容摘要 --> <p>{dr_strcut(dr_html2text(dr_share_cat_value($catid, 'content')), 200, '...')}</p> <!-- 栏目文章数量 --> <span>共 {count action=module module=news catid=$catid} 篇文章</span>

高亮判断

<li class="{if IS_SHARE && $catid && dr_in_array($catid, $t.catids)}active{/if}"> <a href="{$t.url}">{$t.name}</a> </li>

表单留言板

AI对话提示词:
表单留言板:基础模板<form action="{$post_url}&is_show_msg={urlencode($rt_url)}" method="post" name="myform" id="myform">{$form}{$myfield}{$diyfield}{$sysfield}{if $is_post_code}<input type="text" name="code">{dr_code(120, 35)}{/if}<button type="submit">立即提交</button></form>获取表单数据{php extract(dr_get_form_post_value('guestbook'))}验证码{dr_code(120, 35)}

表单配置导入

导入以下JSON配置创建留言表单:

{"id":"1","name":"用户留言","table":"guestbook", "setting":{ "web":"1", "post_add":["1","1"], "post_code":["1","1"], "seo":{ "title":"{title}{join}{formname}{join}{SITE_NAME}", "keywords":"", "description":"" }, "icon":"", "dev":"0", "rt_text":"", "rt_text2":"", "rt_url":"", "is_hide_search_bar":"0", "list_field":{ "uid":{"use":"1","name":"账号","width":"100","func":"uid"}, "inputtime":{"use":"1","name":"录入时间","width":"160","func":"datetime"}, "id":{"name":"Id","width":"","func":""}, "displayorder":{"name":"排列值","width":"","func":""}, "xingming":{"name":"姓名","width":"","func":""}, "shouji":{"name":"手机","width":"","func":""}, "neirong":{"name":"内容","width":"","func":""}, "inputip":{"name":"客户端IP","width":"","func":""}, "email":{"name":"邮箱","width":"","func":""} }, "notice":{ "is_send":"1", "username":"admin", "email":"1" } }, "field":[ { "id":"24","name":"主题","fieldname":"title","fieldtype":"Text", "relatedid":"1","relatedname":"form-1","isedit":"1","ismain":"1", "issystem":"1","ismember":"1","issearch":"1","disabled":"1", "setting":"{\"option\":{\"width\":300,\"fieldtype\":\"VARCHAR\",\"fieldlength\":\"255\"},\"validate\":{\"xss\":1,\"required\":1}}", "displayorder":"0" }, { "id":"26","name":"姓名","fieldname":"xingming","fieldtype":"Text", "relatedid":"1","relatedname":"form-1","isedit":"1","ismain":"1", "issystem":"0","ismember":"1","issearch":"0","disabled":"0", "setting":"{\"option\":{\"fieldtype\":\"\",\"fieldlength\":\"\",\"value\":\"\",\"width\":\"95%\",\"css\":\"\"},\"validate\":{\"xss\":\"1\",\"required\":\"1\",\"pattern\":\"\",\"errortips\":\"姓名不能为空\",\"check\":\"\",\"filter\":\"\",\"tips\":\"\",\"formattr\":\"\"}}", "displayorder":"1" }, { "id":"27","name":"手机","fieldname":"shouji","fieldtype":"Text", "relatedid":"1","relatedname":"form-1","isedit":"1","ismain":"1", "issystem":"0","ismember":"1","issearch":"0","disabled":"0", "setting":"{\"option\":{\"fieldtype\":\"\",\"fieldlength\":\"\",\"value\":\"\",\"width\":\"95%\",\"css\":\"\"},\"validate\":{\"xss\":\"1\",\"required\":\"1\",\"pattern\":\"/^1[3|4|5|8][0-9]\\\\\\\\d{4,8}$/\",\"errortips\":\"请输入正确的手机号\",\"check\":\"\",\"filter\":\"\",\"tips\":\"\",\"formattr\":\"\"}}", "displayorder":"2" }, { "id":"30","name":"邮箱","fieldname":"email","fieldtype":"Text", "relatedid":"1","relatedname":"form-1","isedit":"1","ismain":"1", "issystem":"0","ismember":"1","issearch":"0","disabled":"0", "setting":"{\"option\":{\"fieldtype\":\"\",\"fieldlength\":\"\",\"value\":\"\",\"width\":\"\",\"css\":\"\"},\"validate\":{\"xss\":\"1\",\"required\":\"1\",\"pattern\":\"/^\\\\\\\\w+([-+.]\\\\\\\\w+)*@\\\\\\\\w+([-.]\\\\\\\\w+)*\\\\\\\\.\\\\\\\\w+([-.]\\\\\\\\w+)*$/\",\"errortips\":\"请输入正确的邮箱\",\"check\":\"\",\"filter\":\"\",\"tips\":\"\",\"formattr\":\"\"}}", "displayorder":"3" }, { "id":"29","name":"内容","fieldname":"neirong","fieldtype":"Textarea", "relatedid":"1","relatedname":"form-1","isedit":"1","ismain":"1", "issystem":"0","ismember":"1","issearch":"0","disabled":"0", "setting":"{\"option\":{\"value\":\"\",\"fieldtype\":\"\",\"fieldlength\":\"\",\"width\":\"95%\",\"height\":\"200\",\"css\":\"\"},\"validate\":{\"xss\":\"1\",\"required\":\"1\",\"pattern\":\"\",\"errortips\":\"内容不能为空\",\"check\":\"\",\"filter\":\"\",\"tips\":\"\",\"formattr\":\"\"}}", "displayorder":"4" } ]}

基础留言模板

<form action="{$post_url}&is_show_msg={urlencode($rt_url)}" method="post" name="myform" id="myform"> {$form} {$myfield} {$diyfield} {$sysfield} {if $is_post_code} <input type="text" name="code"> {dr_code(120, 35)} {/if} <button type="submit">立即提交</button> </form>

完整HTML留言模板

<div class="inner_message"> <div class="title">在线留言</div> <div class="list wrap"> <ul> {php extract(dr_get_form_post_value('guestbook'))} <form action="{$post_url}&is_show_msg={urlencode($rt_url)}" class="form-horizontal" method="post" name="myform" id="myform"> <input name="is_form" type="hidden" value="1"> <input name="is_admin" type="hidden" value="1"> <input name="is_tips" type="hidden" value=""> <input name="csrf_test_name" type="hidden" value="4665a162b86b0e7dc9a1a085c1be13fc"> <li> <div class="text">您的姓名</div> <input class="input" type="text" name="data[xingming]" id="dr_xingming" value="" required="required" /> </li> <li> <div class="text">您的电话</div> <input class="input" type="text" name="data[shouji]" id="dr_shouji" value="" required="required" /> </li> <li> <div class="text">您的邮箱</div> <input class="input" type="text" name="data[email]" id="dr_email" value="" required="required" /> </li> <li> <div class="text">留言内容</div> <textarea class="textarea" style="height:200px; width:100%;" name="data[neirong]" id="dr_neirong"></textarea> </li> <li> <div class="text">验证码</div> <input class="input" type="text" name="code" value="" required="required" style="width: 50%;" /> {dr_code(120, 35)} </li> </ul> <div class="btn"> <button type="submit">立即提交</button> </div> </form> </div> </div>

邮件通知模板

在后台配置邮件通知,使用以下HTML模板:

<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=0" /> <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1" /> <meta name="apple-mobile-web-app-capable" content="yes"> <meta name="apple-mobile-web-app-status-bar-style" content="black"> <meta name="format-detection" content="telephone=no"> <title>邮箱内容提醒</title> </head> <body> 发送人ID:{$uid}<br> 发送人账号:{$username}<br> 发送人IP:{$ip_address}<br> 姓名:{xingming}<br> 手机:{shouji}<br> 邮箱:{email}<br> 内容:{neirong}<br> </body> </html>

表单字段说明

字段 说明 类型
$post_url 表单提交地址 自动生成
$rt_url 提交成功后跳转地址 可配置
$form 表单HTML代码 自动生成
$myfield 自定义字段 自动生成
$diyfield DIY字段 自动生成
$sysfield 系统字段 自动生成
$is_post_code 是否启用验证码 布尔值

获取表单数据

{php extract(dr_get_form_post_value('guestbook'))}

参数说明:guestbook 为表单标识(table名称)

验证码函数

{dr_code(120, 35)}

参数:宽度120px,高度35px

公共标签

AI对话提示词:
公共标签:会员列表{list action=member groupid=1 more=1 num=50}{$t.name}<a href="/index.php?s=hy&c=show&uid={$t.id}"></a>{/list}会员组判断{if $member && dr_in_array(2, $member['groupid'])}{/if}会员链接{dr_member_url('register/index')}{dr_member_url('login/index')}{dr_member_url('login/find')}微信登录{Router::oauth_url('weixin', 'login', 'dr_share_cat_value(50, url)')}SEO{$meta_title}{$meta_keywords}{$meta_description}路径{HOME_THEME_PATH}{THEME_PATH}{LANG_PATH}版权{SITE_NAME}{SITE_ICP}

会员相关标签

会员列表调用

{list action=member groupid=1 more=1 num=50} {$t.name} <a href="/index.php?s=hy&c=show&uid={$t.id}">查看详情</a> {/list}

发帖排行榜

<?php $sql = urlencode('SELECT COUNT(*) as ct,uid FROM `'.\Phpcmf\Service::M()->dbprefix(SITE_ID.'_模块名称').'` GROUP by uid ORDER BY `ct` DESC limit 20'); ?> {sql sql='$sql' cache=100} {php $tx = dr_avatar($t.uid); $user = dr_member_info($t.uid); } {if $user.name} <li> <div class="author-img"> <a target="_blank" href="#"> <img width="60" height="60" src="{dr_thumb($user.logo, auto, auto)}" /> </a> </div> <h6> <a target="_blank" href="#"> {$user.name} {$user.id} </a> </h6> <span class="comment">{$t.ct}</span> </li> {/if} {/sql}

第三方登录

开发平台登录并返回

{Router::oauth_url('weixin', 'login', 'dr_share_cat_value(50, url)')}

微信扫码登录

<a href="__javascript:;dr_wx_login()">微信扫码登录</a> <script> function dr_wx_login() { layer.open({ type: 2, title: '微信扫码登录', shadeClose: false, shade: 0.8, area: ['380px', '430px'], content: '{SITE_URL}/index.php?s=api&c=oauth&m=index&name=wechat&type=login&back=' }); } </script>

判断会员组

{if $member && dr_in_array(2, $member['groupid'])} <!-- 会员属于组ID为2的会员组 --> {/if}

会员相关链接

功能 代码
注册页面 {dr_member_url('register/index')}
登录页面 {dr_member_url('login/index')}
找回密码 {dr_member_url('login/find')}
登录并返回 {dr_member_url("login/index", ["back" => urlencode("跳转地址")])}
注册并返回 {dr_member_url("register/index", ["back" => urlencode("跳转地址")])}

顶部注册登录按钮

{if $member} 您好 <a href="" class="username">{$member.username}</a> <a href="/index.php?s=member&app=favorite&c=home&m=index"> <i class="bi bi-heart-fill"></i> 收藏夹 </a> <a href="{MEMBER_URL}"> <i class="fa fa-user"></i> 个人中心 </a> <a href="__javascript:;" onclick=dr_loginout('退出成功')> <i class="fa fa-user-times"></i> 退出 </a> {else} <a class='log register__btn' href="{dr_member_url('register/index')}"> <span><i class="bi bi-cursor-fill"></i> 注册</span> </a> <a href="{dr_member_url('login/index')}"> <span class="reg"><i class="fa fa-user"></i> 登录</span> </a> {/if}

SEO标签

<title>{$meta_title}</title> <meta name="keywords" content="{$meta_keywords}" /> <meta name="description" content="{$meta_description}" /> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <meta name="viewport" content="width=device-width, initial-scale=1" />

路径常量

常量 说明 示例
{HOME_THEME_PATH} 当前主题路径 /template/pc/gyouke/
{THEME_PATH} 模板根路径 /template/
{LANG_PATH} 语言包路径 /template/pc/gyouke/lang/

使用示例

<!-- CSS --> <link href="{HOME_THEME_PATH}css/style.css" rel="stylesheet"> <!-- JS --> <script src="{HOME_THEME_PATH}js/script.js"></script> <!-- 图片 --> <img src="{HOME_THEME_PATH}images/logo.png" alt="Logo">

版权信息

Copyright © {date('Y')} {SITE_NAME} All Rights Reserved. <a href="https://beian.miit.gov.cn" target="_blank">{SITE_ICP}</a>

系统必需JS

<!-- 系统关键js(所有自建模板必须引用) --> <script type="text/javascript">var is_mobile_cms = '{IS_MOBILE}';</script> <script src="{LANG_PATH}lang.js"></script> <script src="{THEME_PATH}assets/global/plugins/jquery.min.js"></script> <script src="{THEME_PATH}assets/js/cms.js"></script>

函数参考

字符串处理

dr_strcut() - 截取字符串

{dr_strcut($string, $length, $suffix)}
参数 说明 类型 必填
$string 要截取的字符串 string
$length 截取长度 int
$suffix 后缀(默认 ...) string

示例

{dr_strcut($t.title, 30)} {dr_strcut($t.description, 100, '...')}

图片处理

dr_get_file() - 获取文件完整URL

{dr_get_file($file)}

示例

<img src="{dr_get_file($t.thumb)}" alt="">

dr_thumb() - 生成缩略图

{dr_thumb($file, $width, $height, $watermark)}
参数 说明 类型 必填
$file 图片路径 string
$width 宽度 int
$height 高度 int
$watermark 是否加水印(0或1) int

示例

<!-- 300x200 缩略图 --> <img src="{dr_thumb($t.thumb, 300, 200)}" alt=""> <!-- 带水印的缩略图 --> <img src="{dr_thumb($t.thumb, 300, 200, 1)}" alt="">

时间处理

dr_date() - 格式化时间

{dr_date($timestamp, $format)}
格式 说明 示例
Y 四位年份 2026
m 两位月份 02
d 两位日期 04
H 24小时制小时 15
i 分钟 30
s 45

示例

{dr_date($t._inputtime, 'Y-m-d')} {dr_date($t._inputtime, 'Y-m-d H:i:s')} {dr_date($t._inputtime, 'Y年m月d日')}

函数速查表

函数 用途 示例
dr_strcut() 截取字符串 {dr_strcut($t.title, 30)}
dr_get_file() 获取文件URL {dr_get_file($t.thumb)}
dr_thumb() 生成缩略图 {dr_thumb($t.thumb, 300, 200)}
dr_date() 格式化时间 {dr_date($t._inputtime, 'Y-m-d')}
dr_share_cat_value() 获取栏目字段 {dr_share_cat_value(1, 'name')}
dr_show_hits() 显示点击量 {dr_show_hits($id)}