使用指南 标签手册

以下部分内容已失效并停止更新,请VIP用户登陆论坛“标签/手册”版块查看最新

官网:www.newzhan.com

模板目录及命名

nzcms/view/default/
  ├── inc-header.htm		[公共]
  ├── inc-footer.htm		[公共]
  ├── index.htm	
  ├── products_index.htm
  ├── products_list.htm	
  ├── products_show.htm
  ├── article_list.htm
  ├── article_show.htm
  ├── page.htm
  ├── ...
  └── 404.htm
static/default

模板位于nzcms/view/风格名/目录,模板所需的css、图片、js等静态资源位于static/风格名/目录。

New 以插件安装的模板,模板及静态文件全部位于插件目录中,如bootstrap3模板
   模板目录;nzcms\plugin\nzd_view_bs0929\nzcms
   静态文件:\nzcms\plugin\nzd_view_bs0929\img

公共模板命名为inc-模板名.htm


公共标签

{$pp[*]} 全站可用

{$pp[webname]}
网站名称
{$pp[webdir]}
网站路径
{$pp[webdomain]}
网站域名
{$pp[webmail]}
站长Email
{$pp[qq]}
站长QQ
{$pp[tongji]}
统计代码
{$pp[beian]}
备案
{$pp[seo_title]}
seo标题
{$pp[seo_keywords]}
seo关键词
{$pp[seo_description]}
seo描述
……

{$pp_var[*]} 调用当前分页属性(列表页、内容页可用)

{$pp_var[cid]}
分类ID
{$pp_var[mid]}
模型ID
{$pp_var[name]}
分类名称
{$pp_var[count]}
内容数量
{$pp_var[count_0]}
已审数量
{$pp_var[count_1]}
草稿数量
{$pp_var[topcid]}
上级分类ID
……

{$pp_block[广告位标识名]}

例:{$pp_block[home_top]},调用后台“碎片广告”中的首页头部广告

{inc:模板名.htm}

例:{inc:header.htm},加载公共头部模板inc-header.htm
  {inc:home:header.htm},会员中心加载前台头部模板inc-header.htm


调用幻灯、头条等带属性内容

{block:list_flag flag="5" cid="0" mid="2" limit="3" titlenum="28"}

释:调用3条幻灯资源(mid=2)、不限分类、标题限制28字可于任意位置调用;常用于首页、频道页
注:如在列表页、内容页调用可省略cid、mid,程序自动识别
flag
指定属性 1为推荐 2为热点 3为头条 4为精选 5为幻灯
mid
指定模型:2为资源、3为文章,当cid为0时,必须设置mid
cid
指定分类ID
limit
调用数量
titlenum
标题字数
intronum
简介字数
dateformat
时间格式,如“Y-m-d H:i:s”
orderby
排序方式,默认id,“dateline、lasttime、sells、price”可选
orderway
降序(-1),升序(1)
{block:list_flag flag="5" cid="0" mid="2" limit="3" titlenum="28"...}
	{loop:$data[list] $v}
		//资源类常用调用,下同
		{$v[title]}		完整标题
		{$v[subject]}		截断后的标题(如未设置titlenum则显示完整标题)
		{$v[url]}		链接
		{$v[pic]}		缩略图地址
		{$v[price]}		价格
		{$v[old_price]}		原价格(开启限时打折有效)
		{$v[views]}		浏览数
		{$v[comments]}		评论数
		{$v[sells]}		销量
		{$v[intro]}		简介
		{$v[date]}		发布时间
		{$v[last]}		更新时间
		{$v[iszk]}		是否限时打折(用于判断)
		{$v[zhe]}		折扣幅度(小数,如0.3,模板中可写作 {@$v['zhe']*10} 折,显示3折)
		……		
	{/loop}
{/block}

循环调用大类下所有子类

{block:listeach cid="10" limit="8"}

释:循环ID为10下的所有子类,每类显示8条内容;用于首页、频道页
cid
指定分类ID
mid
当cid为0时,必须设置mid
limit
调用数量
titlenum
标题字数
intronum
简介字数
dateformat
时间格式,如“Y-m-d H:i:s”
orderby
排序方式,默认id,“dateline、lasttime、sells、price”可选
orderway
降序(-1),升序(1)
{block:listeach cid="10" limit="8"}
	{loop:$data $lv}
		{$lv[cate_name]}		子类名称
		{$lv[cate_url]}			子类链接
		{loop:$lv[list] $v}
			{$v[title]}		标题
			{$v[url]}		链接
			……		
		{/loop}
	{/loop}
{/block}
如只设置mid,不设置cid,则只调用频道(大类),不会单独列举子类,如 {block:listeach cid="0" mid="2" limit="8"}

调用单个分类

{block:list cid="17" mid="3" limit="5" titlenum="22" intronum="60"}

释:调用分类ID为17下的文章(或资源),5条内容,标题限22字,简介限60字;可于任意位置调用
注:如在列表页、内容页调用可省略cid、mid,程序自动识别
cid
指定分类,不推荐用于读取频道分类,影响性能
mid
当cid为0时,设置mid才能生效
limit
调用数量
titlenum
标题字数
intronum
简介字数
dateformat
时间格式,如“Y-m-d H:i:s”
orderby
排序方式,“id、dateline、lasttime、sells、price”可选
orderway
降序(-1),升序(1)
{block:list cid="17" mid="3" limit="5" titlenum="22" intronum="60"}
	{$data[cate_name]}		分类名称
	{$data[cate_url]}		分类链接
	{loop:$data[list] $v}
		{$v[title]}		标题
		{$v[url]}		链接
		……		
	{/loop}
{/block}

内容页调用标签

{block:global_show show_prev_next="1"}

用于资源内容页、文章内容页
show_prev_next
显示上下翻页(默认关闭,大数据站建议关闭)
{block:global_show show_prev_next="1"}
	{$gdata[title]}	//标题
	{$gdata[date]}	//添加时间
	{$gdata[last]}	//更新时间
	{$gdata[views]}	//浏览数
	{$gdata[comments]}	//评论数
	{$gdata[tag_arr]}	//tag标签(数组)
	{$gdata[intro]}		//简介
	{$gdata[content]}	//详细内容
	{$gdata[pic]}		//缩略图
	{$gdata[bigpic]}	//大图
	{$gdata[author]}	//作者
	{$gdata[iscomment]}	//是否评论(用于判断)
	{$gdata[comment_url]}	//评论链接地址
	{$gdata[baidu]}	//是否已推送到百度(用于判断)
	{$gdata[url]}	//本内容页地址
	{$gdata[prev]}	//上一篇
	{$gdata[next]}	//下一篇
		{$gdata[prev][title]}	//上一篇标题
		{$gdata[prev][url]}	//上一篇链接
		......
		{$gdata[next][title]}	//下一篇标题
		{$gdata[next][url]}	//下一篇链接
		......

	//以下为资源下载类专用

	{$gdata[price]}		//价格(有限时折扣时,价格等于折扣价)
	{$gdata[zk_price]}	//折扣价
	{$gdata[vipprice]}	//当前用户组的专属优惠价
	{$gdata[old_price]}	//原价格
				*用户下单时,始终选一个最低的价格进行结算*
	{$gdata[iszk]}		//是否限时折扣
	{$gdata[zk_start]}	//折扣开始时间(时间戳)
	{$gdata[zk_end]}	//折扣结束时间(时间戳)
	{$gdata[zhe]}		//折扣幅度(小数,如0.3,模板中可写作 {@$v['zhe']*10} 折,显示3折)
	{$gdata[lan]}		//asp、php、net……
	{$gdata[sqls]}		//mysql、mssql……
	{$gdata[license]}	//试用版、破解版……
	{$gdata[faqs]}		//faq数量
	{$gdata[need_groupid]}	//限制购买用户组
	{$gdata[goldarr][gold]}	//交易评分
	{$gdata[goldarr][golder]}	//交易评分人数
	{$gdata[isBuyed]}	//是否购买过
	{$gdata[images]}	//图片组(数组)
	{$gdata[downs]}		//附件(数组)
	{$gdata[down_pan]}	//网盘下载链接
	{$gdata[pan_code]}	//网盘提取码
	{$gdata[pan_zipma]}	//解压密码
	{$gdata[demo_url]}	//演示地址
	{$gdata[is_down}	//是否有下载权限
	{$gdata[is_cart}	//是否显示购买按钮
	{$gdata[down_err}	//下载错误提示
	{$gdata[cart_err}	//购买按钮隐藏时提示
	......
{/block}
资源购买表单中实际需要大量的判断,请参考products_show.htm模板中的代码;


站点资源统计

如资源数量:{@$total['items']+$pp['total']['items']}

限首页调用!$total['items']为实际数量,$pp['total']['items']为后台虚拟的初始数,两部分相加之和;
详细可参考首页模板中调用!

Tag标签列表

{block:taglist mid="2" limit="20"}

调用Tag标签列表 可任意位置调用
mid
指定模型:2为资源、3为文章,必须
limit
调用数量;默认10条
orderby
tagid、count,默认为count按内容数量多少
orderway
排序,可选1或-1,默认为倒序(-1);
{block:taglist mid="2" limit="20" orderby="tagid"}
{loop:$data[list] $v}
	{$v[name]}	tag名称
	{$v[url]}	tag链接
	{$v[count]}	内容数量
{/loop}
{/block}

Tag相关内容

{block:taglike mid="2" limit="20"}

根据Tag获取相关内容 仅用于已添加了tag的内容页
type
类型,1为取第一个tag的相关内容,2为随机选择一个tag,默认为1
titlenum
标题字数
intronum
简介字数
dateformat
时间格式,默认为“Y-m-d H:i:s”
orderway
排序,可选1或-1,默认为倒序(-1);
limit
调用数量;
start
调用开始位置;
例:在一篇内容页中调用相关tag内容,假设其tag有:php源码,asp源码,net源码
{block:taglike type="1" limit="10" orderby="tagid"}
{loop:$data[list] $v}
	{$v[title]}	完整标题
	{$v[url]}	链接
	{$v[pic]}	缩略图
	{$v[price]}	价格
	......
{/loop}
{/block}

判断、原生PHP

{if:***}......{/if}

判断
{if:!empty($v[sells])}	判断是否有销量
......
{/if}

{if:$v[price]>0}	判断价格大于0
......
{/if}

{php}......{/php}

原生PHP
{php}
	echo $order_prices + $pp['total']['order_prices'];	输出统计中的交易金额,注意引号不能省略
{/php}

{@$order_prices + $pp['total']['order_prices']}	输出与上面相同,{@}等同于{php}echo{/php}

标签DIY

标签可以自定义,只需在 nzcms/block 下创建您的标签文件,在模板中即可调用!
下面以调用会员最新充值情况为例,做一个简单的标签,输出效果如 “某个时间,会员某某充值了多少元” ;
首先,在nzcms/block目录下,新建一个文件,命名为:kp_block_chongzhi.lib.php
编辑此文件,内容如下:
<?php
defined('FINE_PATH') || exit;
// 调用最新充值情况;注释随便写自己明白就好
function kp_block_chongzhi($conf) {
	global $run;
	$limit = empty($conf['limit']) ? 20 : max(1, (int)$conf['limit']);	//调用数量,不指定默认20条
	$humandate = isset($conf['humandate']) ? ($conf['humandate'] == 1 ? 1 : 0) : 0; //是否人性化时间
	$hidecard = isset($conf['hidecard']) ? ($conf['hidecard'] == 1 ? 1 : 0) : 0; //是否隐藏用户名

	$list_arr = $run->record->find_fetch(array('type'=>1,'status'=>0), array('id' => -1), 0, $limit);
	
	foreach($list_arr as &$v) {
		$v['date'] 	= date('Y-m-d H:i:s',$v['created']);
		if($humandate){	//如需人性化时间(显示几天前的效果)
			$v['date'] 	= humandate($v['created'],'Y-m-d H:i:s');	
		}
		if($hidecard){	//如需隐藏用户名
			$v['username'] 	= other::hidecard(2,$v['username']);	
		}
	}
	
	return $list_arr;
}
然后就可以在模板中调用,如:
{block:chongzhi limit="10" hidecard="1" humandate="1"}
	{loop:$data $v}
	<p>会员{$v[username]}在{$v[date]}充值了{$v[money]}元; </p>
	{/loop}
{/block}
输出效果:会员tes***在3天前充值了100元;样式可参考最新订单的效果修改;
友情提示:如果您需修改程序自带的标签,可以复制并重命名成一个新的标签文件并调用,以避免系统升级被覆盖的可能!
如:
您要修改kp_block_list.lib.php文件,复制一个新的并重命为kp_block_mylist.lib.php(并修改文件中的函数名),并在模板中使用{block:mylist}来调用!

模板、插件DIY

模板目录:nzcms/view/风格名/
插件模板:nzcms/plugin/插件名/nzcms/

不建议直接修改原默认模板或插件,以免在更新升级时被覆盖;
如要修改默认模板default下的文件,可按以下操作:
  1. default目录复制并重命名如“new_template
  2. 后台基本设置里将模板风格切换成“new_template
这样,只需修改“new_template”下的模板文件,不会受更新升级的影响;

同样,修改插件里的模板也是如此,如修改nzd_view_easy模板:
  1. nzd_view_easy目录复制并重命名如“nzd_view_myskin” (注意,风格类插件必须以nzd_view_开头命名)
  2. 修改\nzcms\config\plugin.inc.php配置文件,将其中原来的nzd_view_easy改成“nzd_view_myskin
  3. 修改“nzd_view_myskin”文件夹下的conf.php配置文件(可省略)
或者,都不用上面这么麻烦,直接修改conf.php配置文件中的版本号version,改成一个超大的版本号如9.9.9,这样官方版本始终低于您的版本,就不会检测更新了。

这样,一个属于您自己的风格插件就诞生了,在后台插件中心可开启或关闭,同理,您可以复制任意一个已有的插件,按您自己的意愿做任何修改,同时,不会受到插件更新的影响;

注意编辑文件后,记得后台清空缓存才能生效;
另外,会员中心及管理后台的模板,只有一种默认风格,不建议修改,如必需修改请自行备份文件;

注意事项

  • {block}标签中的参数值必需用双引号;
    • 正确 {block:list cid="0" mid="2"}
    • 错误 {block:list cid='0' mid='2'}
    • 错误 {block:list cid=0 mid=2}
  • {block}标签不能嵌套;
    • 正确 {block:1}...{/block} {block:2}...{/block}
    • 错误 {block:1}...{block:2}...{/block}{/block}
  • inc-*.htm公共模板中不能再调用其他的公共模板;
  • 插件命名需以nzd_开头,如nzd_alipay
  • 风格类插件命名需以nzd_view_开头,如nzd_view_easy
  • 原生PHP中引号不能省略;
    • 正确 {$pp[webdir]}
    • 正确 {$pp['webdir']}
    • 正确 {@$pp['webdir']}
    • 错误 {@$pp[webdir]}
  • {block}中的titlenum、intronum能省略就省略,尽可能的提升性能;
  • 编辑文件保存后,后台记得清空缓存才能生效;或者修改根目录下index.php中的devmode值为1,开启调试模式,就不用每次清空缓存了,但记得正式上线后再改回0;
  • 保存文件一定要utf-8无bom编码,建议使用notepad++等编辑工具;
  • 所有代码中包括php及js尽量避免使用单行注释符//注释,如需要可使用区块注释符如<!-- 注释文字 -->,或去掉注释;
  • 更多待补充……