HBCMS模板使用的是php官方开发的smarty引擎模板,模板引擎的维护和发展,都由php官方进行。
smarty模板的介绍,请看这里: http://www.hbcms.com/cms/template/
smarty模板的详细语法和使用,请到这里下载英文教程: http://www.hbcms.com/cms/e2/112.html
这篇文章,主要介绍hbcms模板中可以使用的变量:
hbcms传递到模板中去的,是2个数组变量。一个是 $data_ary ,一个是 $web 知道这2个变量里面都是一些什么,就完全可以制作个性化的输出了。
$web 数组:可以使用的变量大都在hbcms后台的 系统配置管理 的模板变量中有说明。如下图:
使用范例: <{ $web.img_dir }> 显示模板图片路径, <{ $web.name }> 显示网站名称, <{ $web.desc }>显示网站简介
$data_ary数组: 和$web不同的是,$data_ary是一个多维数组。你可以利用smarty的循环语法,输出任何你想要的效果。$data_ary 数组包含如下变量:
文章页面,文章的属性变量:article_info
<{$data_ary.article_info.id}> 文章ID
<{$data_ary.article_info.type_id}> 文章主栏目ID
<{$data_ary.article_info.type_id_2}> 文章副栏目ID
<{$data_ary.article_info.order_mark}> 排序
<{$data_ary.article_info.editor_mark}> 编辑评价
<{$data_ary.article_info.html_date}> 生成静态页时间
<{$data_ary.article_info.channel_id}> 频道ID
<{$data_ary.article_info.article_rank}> 文章级别
<{$data_ary.article_info.hits}> 点击量(人气)
<{$data_ary.article_info.need_money}> 是否需要积分
<{$data_ary.article_info.add_date}> 添加时间(unix的timestamp格式)
<{$data_ary.article_info.write_date}> 原文章发布时间(unix的timestamp格式)
<{$data_ary.article_info.editor_id}> 审核的管理员ID
<{$data_ary.article_info.user_id}> 发布此文章的会员ID
<{$data_ary.article_info.title}> 文章标题
<{$data_ary.article_info.title_color}> 标题颜色
<{$data_ary.article_info.author}> 文章作者
<{$data_ary.article_info.from}> 来源
<{$data_ary.article_info.icon_url}> 缩略图地址
<{$data_ary.article_info.desc}> 文章简介
<{$data_ary.article_info.keyword}> 文章关键字
<{$data_ary.article_info.jump_url}> 转向连接
<{$data_ary.article_info.body}> 文章内容
文章页面,文章的主栏目属性变量:type_info
<{$data_ary.type_info.id}> 主栏目ID
<{$data_ary.type_info.parent_id}> 上级ID
<{$data_ary.type_info.order_mark}> 排序
<{$data_ary.type_info.channel_id}> 频道ID
<{$data_ary.type_info.total_num}> 栏目总文章数目
<{$data_ary.type_info.num_per_page}> 每页显示多少篇文章
<{$data_ary.type_info.title}> 栏目名称
<{$data_ary.type_info.dir}> 栏目静态页的目录
<{$data_ary.type_info.tpl_index}> 栏目首页模板目录
<{$data_ary.type_info.tpl_list}> 栏目列表页模板目录
<{$data_ary.type_info.tpl_detail}> 栏目下文章的模板目录
<{$data_ary.type_info.tpl_single}> 栏目下单个页面的模板目录
<{$data_ary.type_info.desc}> 栏目简介
<{$data_ary.type_info.keyword}> 栏目关键字
<{$data_ary.type_info.url}> 栏目首页地址
所有页面,最新文章 变量:new_article 热门文章 变量:hot_article 推荐文章 变量:commend_article
这里以 最新文章 变量:new_article 做范例。其他的变量,替换掉 new_article 就可以了。
数字0表示 第1篇文章, 1表示第2篇,2表示第3篇,依此类推。最多可显示50篇。
<{$data_ary.new_article.0.title}> 文章标题(已带颜色)
<{$data_ary.new_article.0.title|strip_tags:true}> 不带颜色的文章标题
<{$data_ary.new_article.0.id}> 文章ID
<{$data_ary.new_article.0.hits}> 点击数,人气
<{$data_ary.new_article.0.title_color}> 文章颜色
<{$data_ary.new_article.0.editor_mark}> 编辑评价
<{$data_ary.new_article.0.icon_url}> 缩略图地址
<{$data_ary.new_article.0.write_date}> 原文章发布时间(2006-12-25格式)
<{$data_ary.new_article.0.url}> 文章地址在hbcms系统的smarty模板中,一般使用循环数组的形式来显示文章标题和连接,例如:
<OL>
<{foreach name=new_article_data item=item_info from=$data_ary.new_article}>
<{ if $smarty.foreach.new_article_data.iteration <= 10 }>
<LI><A HREF="<{$item_info.url}>"><{$item_info.title}></A>
<{/if}>
<{/foreach}>
</OL>
在上面的代码中,<=10 就是显示10篇文章。
一般使用者,copy上面的代码就可以直接使用。如需要特别修改,请参考smarty文档的相关语法。
至于要显示什么样的格式,要表格,还是要<OL>排序,那就随便你了。
所有页面,自定义标记 变量:my_tag
my_tag变量由你在hbcms后台的自定义标记组成。如 web_logo, top_text 等。以web_logo为例:
<{$data_ary.my_tag.web_logo.name}> web_logo标记的名称
<{$data_ary.my_tag.web_logo.body_1}> web_logo标记的内容1
<{$data_ary.my_tag.web_logo.body_2}> web_logo标记的内容2
<{$data_ary.my_tag.web_logo.type_id}> web_logo标记所属栏目ID
为了使自定义标记的修改更加快捷,我们增加了js调用的方法,请看这里: 自定义标记增加javascript调用方式