{jv:include}引入子模板文件,实现头部、底部等公共部分复用{jv:include file='header.html' /}| 參數名 | 說明 |
|---|---|
file | 子模板文件名(相对当前模板目录) |
{jv:include file='header.html' /}
页面内容
{jv:include file='footer.html' /}{jv:lang}输出语言包文本,自动按当前站点语言显示{jv:lang name='view_more' /}| 參數名 | 說明 |
|---|---|
name | 语言包键名(languages/{语言}/web.php) |
<span>{jv:lang name='view_more' /}</span>{jv:global}输出系统设置项(支持多语言值){jv:global name='site_name' /}| 參數名 | 說明 |
|---|---|
name | 设置键名,如 site_name、site_keywords、site_description |
<title>{jv:global name='site_name' /}</title>{jv:config}输出系统配置项(不区分语言){jv:config name='icp' /}| 參數名 | 說明 |
|---|---|
name | 配置键名 |
{jv:config name='icp' /}{jv:url}URL前缀标签,自动拼接当前语言路径前缀{jv:url}list/4.html<a href="{jv:url}list/4.html">新闻中心</a>{jv:assign}在模板中定义变量{jv:assign name="x" value="1" /}| 參數名 | 說明 |
|---|---|
name | 变量名 |
value | 变量值 |
{jv:assign name="col" value="3" /}
{jv:col}{jv:define}定义PHP常量{jv:define name="MY_CONST" value="abc" /}| 參數名 | 說明 |
|---|---|
name | 常量名 |
value | 常量值 |
{jv:define name="SITE_COL" value="5" /}{jv:hook}插件钩子,输出插件挂载内容{jv:hook name='index_top' /}| 參數名 | 說明 |
|---|---|
name | 钩子名(插件监听 template_钩子名) |
{jv:hook name='footer_ad' /}{jv:php}在模板中执行原生PHP代码(谨慎使用){jv:php}...{/jv:php}{jv:php}echo date('Y');{/jv:php}{jv:count}输出指定分类的文章总数{jv:count typeid="4" /}| 參數名 | 說明 |
|---|---|
typeid | 分类ID |
共 {jv:count typeid="4" /} 篇文章{jv:if}条件判断,支持比较与逻辑表达式{jv:if condition='表达式'}...{jv:elseif condition='...' /}...{jv:else /}...{/jv:if}| 參數名 | 說明 |
|---|---|
condition | 条件表达式,如 (price==0)、(id>10 && status==1) |
{jv:if condition='(price==0)'}
<span>免费</span>
{jv:else /}
<span>¥{jv:price}</span>
{/jv:if}{jv:foreach}遍历数组变量{jv:foreach name="list" item="v" key="k"}...{/jv:foreach}| 參數名 | 說明 |
|---|---|
name | 数组变量名 |
item | 值变量名 |
key | 键变量名(可选) |
{jv:foreach name="list" item="v"}
<li>{jv:v.title}</li>
{/jv:foreach}{jv:volist}数据列表循环(类似foreach,常用于数据行){jv:volist name="list" id="vo"}...{/jv:volist}| 參數名 | 說明 |
|---|---|
name | 数组变量名 |
id | 行变量名 |
{jv:volist name="list" id="vo"}
<li>{jv:vo.title}</li>
{/jv:volist}{jv:for}计数循环{jv:for start="1" end="10" step="1" name="i"}...{/jv:for}| 參數名 | 說明 |
|---|---|
start | 起始值 |
end | 结束值 |
step | 步长 |
name | 循环变量名 |
{jv:for start="1" end="5" name="i"}
<span>{jv:i}</span>
{/jv:for}{jv:switch}多分支选择{jv:switch name="type"}{jv:case value="1"}...{/jv:case}{jv:default}...{/jv:default}{/jv:switch}| 參數名 | 說明 |
|---|---|
name | 判断变量 |
value | 匹配值 |
{jv:switch name="model"}
{jv:case value="article"}文章{/jv:case}
{jv:default}其他{/jv:default}
{/jv:switch}{jv:artlist}文章列表循环,最核心数据标签{jv:artlist typeid="4" loop="10" orderby="new" flag="c" titlelen="30" infolen="80"}...{/jv:artlist}| 參數名 | 說明 |
|---|---|
typeid | 分类ID(留空取当前分类) |
loop / row | 显示数量,默认10 |
limit | “0,10” 格式:偏移,数量 |
orderby | 排序:new最新 / hot热门 / rand随机 |
flag | 属性筛选:c推荐 h头条 a特荐 s滚动 p图片 |
noflag | 排除属性 |
keyword | 关键词筛选 |
idlist | 指定文章ID列表,逗号分隔 |
subday | N天内的文章 |
titlelen | 标题截取长度 |
infolen | 简介截取长度 |
{jv:artlist typeid="4" loop="8" orderby="new" flag="c"}
<a href="{jv:arcurl}">
<img src="{jv:litpic}" alt="{jv:title}">
<h3>{jv:title|text_overflow='20',###}</h3>
<span>{jv:add_time|MyDate='Y-m-d',###}</span>
</a>
{/jv:artlist}{jv:artone}读取单篇文章数据{jv:artone aid="1"}...{/jv:artone}| 參數名 | 說明 |
|---|---|
aid | 文章ID |
{jv:artone aid="1"}
<h2>{jv:title}</h2>
{/jv:artone}{jv:arthot}热门/最新/随机/推荐文章的快捷标签,参数同artlist{jv:arthot typeid="4" loop="5"}...{/jv:arthot}| 參數名 | 說明 |
|---|---|
loop | 数量 |
typeid | 分类ID |
{jv:arthot loop="5"}
<a href="{jv:arcurl}">{jv:title}</a>
{/jv:arthot}{jv:relevarticle}相关文章(按当前文章分类),别名 likearticle{jv:relevarticle loop="5"}...{/jv:relevarticle}| 參數名 | 說明 |
|---|---|
loop | 数量,默认5 |
orderby | 排序 |
{jv:relevarticle loop="6"}
<li><a href="{jv:arcurl}">{jv:title}</a></li>
{/jv:relevarticle}{jv:beafter}上一篇/下一篇文章{jv:beafter get='pre'}...{jv:else /}...{/jv:beafter}| 參數名 | 說明 |
|---|---|
get | pre=上一篇 / next=下一篇 |
{jv:beafter get='pre'}
<a href="{jv:arcurl}">{jv:title}</a>
{jv:else /}
<span>没有了</span>
{/jv:beafter}{jv:tag}输出当前文章的TAG标签及链接{jv:tag}...{/jv:tag}{jv:tag}
<a href="{jv:link}">{jv:tag}</a>
{/jv:tag}{jv:artcount}文章统计数{jv:artcount typeid="4" /}| 參數名 | 說明 |
|---|---|
typeid | 分类ID |
{jv:artcount typeid="4" /}{jv:listitem}列表页数据行循环(配合分页){jv:listitem}...{/jv:listitem}{jv:listitem}
<a href="{jv:arcurl}">{jv:title}</a>
{/jv:listitem}{jv:pagelist}分页导航输出(首页/上一页/页码/下一页/尾页){jv:pagelist /}{jv:pagelist /}{jv:position}当前位置导航{jv:position /}{jv:position /}{jv:qacatlist}问答分类列表{jv:qacatlist}...{/jv:qacatlist}{jv:qacatlist}
<a href="{jv:url}list/{jv:id}.html">{jv:name}</a>
{/jv:qacatlist}{jv:qanewlist}最新问题列表,可按状态筛选{jv:qanewlist num="10" status="all"}...{/jv:qanewlist}| 參數名 | 說明 |
|---|---|
num | 数量,默认10 |
status | all全部 / solved已解决 / waiting待回答 / bounty悬赏 |
{jv:qanewlist num="12" status="solved"}
<a href="{jv:arcurl}">{jv:title}</a><em>{jv:answer_count}</em>
{/jv:qanewlist}{jv:qahotlist}热门问题列表{jv:qahotlist num="10"}...{/jv:qahotlist}| 參數名 | 說明 |
|---|---|
num | 数量 |
{jv:qahotlist num="5"}
<a href="{jv:arcurl}">{jv:title}</a>
{/jv:qahotlist}{jv:qaunsolved}未解决问题列表{jv:qaunsolved num="5"}...{/jv:qaunsolved}| 參數名 | 說明 |
|---|---|
num | 数量,默认5 |
{jv:qaunsolved num="5"}
<a href="{jv:arcurl}">{jv:title}</a>
{/jv:qaunsolved}{jv:qacatlistbyid}指定问答分类下的问题列表{jv:qacatlistbyid typeid="2" num="10"}...{/jv:qacatlistbyid}| 參數名 | 說明 |
|---|---|
typeid | 问答分类ID |
num | 数量 |
{jv:qacatlistbyid typeid="2" num="8"}
<li>{jv:title}</li>
{/jv:qacatlistbyid}{jv:answerlist}当前问题的回答列表(问答详情页){jv:answerlist}...{/jv:answerlist}{jv:answerlist}
<div class="ans">{jv:content}</div>
{/jv:answerlist}{jv:qabest}精华回答/已解决问题/问题统计{jv:qacount /}{jv:qabest num="5"}...{/jv:qabest}{jv:forumlist}最新论坛帖子列表{jv:forumlist num="7" orderby="new" titlelen="30"}...{/jv:forumlist}| 參數名 | 說明 |
|---|---|
num | 数量,默认7 |
orderby | new最新 / hot热门 |
titlelen | 标题截取 |
{jv:forumlist num="10"}
<a href="{jv:arcurl}">{jv:title}</a>
{/jv:forumlist}{jv:forumhot}热门/精华/置顶帖子列表{jv:forumhot num="7"}...{/jv:forumhot}| 參數名 | 說明 |
|---|---|
num | 数量 |
{jv:forumessence num="5"}
<li>{jv:title}</li>
{/jv:forumessence}{jv:mallcat}商城商品分类列表{jv:mallcat}...{/jv:mallcat}{jv:mallcat}
<a href="{jv:mall_cat_url}">{jv:name}</a>
{/jv:mallcat}{jv:mallproductlist}商品列表循环{jv:mallproductlist num="8" orderby="featured" typeid="0"}...{/jv:mallproductlist}| 參數名 | 說明 |
|---|---|
num | 数量,默认8 |
orderby | featured精选 / new最新 / sales销量 / hot热门 |
typeid | 商品分类ID |
{jv:mallproductlist num="4"}
<a href="{jv:arcurl}"><img src="{jv:litpic}">{jv:title}</a>
{/jv:mallproductlist}{jv:mallhot}热门/最新/相关商品快捷标签{jv:mallhot num="8"}...{/jv:mallhot}| 參數名 | 說明 |
|---|---|
num | 数量 |
{jv:mallhot num="4"}
<li>{jv:title}</li>
{/jv:mallhot}{jv:mallbeafter}上一个/下一个商品{jv:mallbeafter get='pre'}...{jv:else /}...{/jv:mallbeafter}| 參數名 | 說明 |
|---|---|
get | pre / next |
{jv:mallbeafter get='next'}
<a href="{jv:arcurl}">{jv:title}</a>
{/jv:mallbeafter}{jv:mallbrandlist}品牌列表 / 商品分类树{jv:mallbrandlist}...{/jv:mallbrandlist}{jv:mallbrandlist}
<img src="{jv:logo}">{jv:name}
{/jv:mallbrandlist}{jv:searchlist}搜索结果列表(搜索页){jv:searchlist}...{/jv:searchlist}{jv:searchlist}
<a href="{jv:arcurl}">{jv:title}</a>
{/jv:searchlist}{jv:searchtabs}搜索选项卡与选项卡数据行{jv:searchtabs}...{/jv:searchtabs}{jv:searchtabs}
<button class="{jv:tab_active_class}">{jv:label}</button>
{/jv:searchtabs}{jv:hotsearch}热门搜索关键词(别名 hotwords){jv:hotsearch}...{/jv:hotsearch}{jv:hotsearch}
<a href="{jv:url}search.html?keyword={jv:tag_url}">{jv:tag}</a>
{/jv:hotsearch}{jv:slide}轮播图/幻灯片数据{jv:slide}...{/jv:slide}{jv:slide}
<a href="{jv:link}"><img src="{jv:pic}"></a>
{/jv:slide}{jv:ad}广告位输出{jv:ad name="index_top" /}| 參數名 | 說明 |
|---|---|
name | 广告位标识 |
{jv:ad name="index_top" /}{jv:flink}友情链接列表{jv:flink}...{/jv:flink}{jv:flink}
<a href="{jv:url}">{jv:name}</a>
{/jv:flink}{jv:tagcloud}TAG标签云{jv:tagcloud num="20"}...{/jv:tagcloud}| 參數名 | 說明 |
|---|---|
num | 数量 |
{jv:tagcloud num="30"}
<a href="{jv:link}">{jv:tag}</a>
{/jv:tagcloud}{jv:stats}站点统计数据{jv:stats name="article" /}| 參數名 | 說明 |
|---|---|
name | 统计项 |
{jv:stats name="article" /}{jv:userbox}用户登录状态框{jv:userbox /}{jv:userbox /}{jv:collect}收藏数据循环{jv:collect}...{/jv:collect}{jv:collect}
<a href="{jv:arcurl}">{jv:title}</a>
{/jv:collect}{jv:downloadlist}下载模型附件列表{jv:downloadlist}...{/jv:downloadlist}{jv:downloadlist}
<a href="{jv:downurl}">{jv:name}</a>
{/jv:downloadlist}{jv:joblist}招聘信息列表{jv:joblist}...{/jv:joblist}{jv:joblist}
<h4>{jv:title}</h4>
{/jv:joblist}{jv:sql}自定义SQL查询循环(高级){jv:sql sql="SELECT ..."}...{/jv:sql}| 參數名 | 說明 |
|---|---|
sql | SELECT语句 |
{jv:sql sql="SELECT id,title FROM jv_article LIMIT 5"}
<li>{jv:title}</li>
{/jv:sql}{jv:variable}输出变量:{jv:变量名},数组用点语法 {jv:vo.title}{jv:title} {jv:vo.title}<h1>{jv:title}</h1>
<span>{jv:cat_name}</span>{jv:filter}变量过滤器:MyDate日期格式化、text_overflow文本截断、cn_substr中文截取{jv:add_time|MyDate='Y-m-d',###}
{jv:title|text_overflow='20',###}| 參數名 | 說明 |
|---|---|
MyDate | 日期格式化,参数为date()格式 |
text_overflow | 超出长度显示省略号 |
cn_substr | 按字符截取中英文 |
{jv:add_time|MyDate='m-d H:i',###}
{jv:description|text_overflow='50',###}{jv:field}详情页字段别名:field.title、field.keywords、field.description、field.content、field.click、field.pubdate、field.typeurl、field.arcurl 等{jv:field.title /} {jv:field.content /}<title>{jv:field.title /}</title>
<meta name="description" content="{jv:field.description /}">{jv:global}全局别名:global.cfg_webname站名、global.cfg_keywords关键词、global.cfg_description描述、global.cfg_templeturl模板目录、global.cfg_basehost域名{jv:global.cfg_webname /}<title>{jv:global.cfg_webname /}</title>
<link href="{jv:global.cfg_templeturl /}skin/css/style.css">{jv:autoindex}循环内自增序号,从1开始{jv:autoindex}{jv:artlist loop="5"}
<li><i>{jv:autoindex}</i>{jv:title}</li>
{/jv:artlist}