YTCMS是Z-Blog程序中相当强悍的一个插件,通过该插件可以对zblog进行各种扩展,实现模板需要的各项数据调用。YTCMS插件在后台提供了数据调用的各项标签在线生成的功能,但为了更好地使用该插件,网友整理了YTCMS2.0和YTCMS1.8版本标签查询手册以及插件的使用技巧,博客吧将其转载过来分享给需要的zblog博主!
注:1.8版本的YTCMS语法使用尖括号”<>”格式的语句,升级到2.0后插件名改为“Content Manage System”,且语法统一使用大括号“{}”语法格式。
日志调用:
| 日志数据源信息(本文以5篇为例,可根据自身需求将”5″修改为相应篇数即可) | |
| 调用ID为5的文章 | {YT:Article DataSource=”GetArticleModel(‘5’)”}YTCMS代码{/YT:Article} | 
| 除前1篇文章后的5篇全站文章(参数1不能为0) | {YT:Article DataSource=”GetArticleLimit(5,1)”}YTCMS代码{/YT:Article} | 
| 除前3篇文章后分类ID为1的5篇文章(参数1不能为0) | {YT:Article DataSource=”GetArticleCategorysLimit(5,3,’1′)”}YTCMS代码{/YT:Article} | 
| 5篇最新文章列表 | {YT:Article DataSource=”GetArticleRandomSortNew(5)”}YTCMS代码{/YT:Article} | 
| 5篇随机文章列表 | {YT:Article DataSource=”GetArticleRandomSortRand(5)”}YTCMS代码{/YT:Article} | 
| 5条本月评论排行 | {YT:Article DataSource=”GetArticleRandomSortComMonth(5)”}YTCMS代码{/YT:Article} | 
| 5条本年评论排行 | {YT:Article DataSource=”GetArticleRandomSortComYear(5)”}YTCMS代码{/YT:Article} | 
| 5篇本月排行文章 | {YT:Article DataSource=”GetArticleRandomSortTopMonth(5)”}YTCMS代码{/YT:Article} | 
| 5篇本年排行文章 | {YT:Article DataSource=”GetArticleRandomSortTopYear(5)”}YTCMS代码{/YT:Article} | 
| 5篇热文排行文章 | {YT:Article DataSource=”GetArticleRandomSortTopHot(5)”}YTCMS代码{/YT:Article} | 
| 5篇分类ID为1的文章 | {YT:Article DataSource=”GetArticleCategorys(5,’1′)”}YTCMS代码{/YT:Article} | 
| 5篇分类为1的随机文章 | {YT:Article DataSource=”GetArticleCategorysRandomSortRand(5,’1′)”}YTCMS代码{/YT:Article} | 
| 5篇分类为1的热门文章 | {YT:Article DataSource=”GetArticleCategorysTophot(5,’1′)”}YTCMS代码{/YT:Article} | 
| 5篇TAGSID为1的文章列表 | {YT:Article DataSource=”GetArticleTag(5,0)”}YTCMS代码{/YT:Article} | 
| 5篇TAGSID为3且分类ID为1的文章列表 | {YT:Article DataSource=”GetArticleCategoryTag(5,3,’1′)”}YTCMS代码{/YT:Article} | 
| 5篇置顶文章列表 | {YT:Article DataSource=”GetArticleTop(5)”}YTCMS代码{/YT:Article} | 
| 5篇分类ID为1的置顶文章列表 | {YT:Article DataSource=”GetArticleCategoryTop(5,’1′)”}YTCMS代码{/YT:Article} | 
| 日志字段信息 | |
| 编号 | {$Article.ID} | 
| 权限 | {$Article.Level} | 
| 标题 | {$Article.HtmlTitle} | 
| 摘要 | {$Article.HtmlIntro} | 
| 全文 | {$Article.HtmlContent} | 
| 时间 | {$Article.PostTime} | 
| 评论数 | {$Article.Commnums} | 
| 浏览数 | {$Article.Viewnums} | 
| 引用数 | {$Article.Trackbacknums} | 
| 引用链接 | {$Article.TrackBack} | 
| 链接 | {$Article.Url} | 
| 分类字段信息 | |
| 编号 | {$Article.CateID} | 
| 名称 | {$Categorys(Article.CateID).HtmlName} | 
| 序号 | {$Categorys(Article.CateID).Order} | 
| 文章数 | {$Categorys(Article.CateID).Count} | 
| 链接 | {$Categorys(Article.CateID).HtmlUrl} | 
| 作者字段信息 | |
| 编号 | {$Article.AuthorID} | 
| 名称 | {$Users(Article.AuthorID).Name} | 
| 等级 | {$ZVA_User_Level_Name(Users(Article.AuthorID).Level)} | 
| {$Users(Article.AuthorID).Email} | |
| 网站链接 | {$Users(Article.AuthorID).HomePage} | 
| 文章数 | {$Users(Article.AuthorID).Count} | 
| 链接 | {$Users(Article.AuthorID).HtmlUrl} | 
| 其他字段信息 | |
| 日志评论RSS | {$Article.WfwCommentRss} | 
| 日志别名 | {$Article.StaticName} | 
| TAGS | {$Article.TagToName} | 
| 第一个TAG摘要 | {$Article.FirstTagIntro} | 
评论调用:
| 评论数据源信息(本文以5条为例,可根据自身需求将”5″修改为相应条数即可) | |
| 5条最新回复列表 | {YT:Comment DataSource=”GetCommentComments(5)”}YTCMS代码{/YT:Comment} | 
| 5条分类ID为1的最新回复列表 | {YT:Comment DataSource=”GetCommentCategorysComments(5,’1′)”}YTCMS代码{/YT:Comment} | 
| 5条文章ID为1的评论列表 | {YT:Comment DataSource=”GetCommentArticleComments(5,’1′)”}YTCMS代码{/YT:Comment} | 
| 评论字段信息 | |
| 编号 | {$Comment.ID} | 
| 序号 | {$Comment.Count} | 
| 名称 | {$Comment.Author} | 
| 网址 | {$Comment.HomePage} | 
| {$Comment.SafeEmail} | |
| 时间 | {$Comment.PostTime} | 
| 内容 | {$Comment.HtmlContent} | 
| 作者编号 | {$Comment.AuthorID} | 
| 首要联系 | {$Comment.FirstContact} | 
| Email的MD5码 | {$Comment.EmailMD5} | 
标签调用:
| 标签数据源信息(本文以5个为例,可根据自身需求将”5″修改为相应个数即可) | |
| 5个标签列表 | {YT:Tag DataSource=”GetTagLists(5)”}YTCMS代码{/YT:Tag} | 
| 5个随机标签 | {YT:Tag DataSource=”GetTagListsRandomSortRand(5)”}YTCMS代码{/YT:Tag} | 
| 标签字段信息 | |
| 编号 | {$Tag.ID} | 
| 名称 | {$Tag.HtmlName} | 
| 摘要 | {$Tag.HtmlIntro} | 
| 文章数 | {$Tag.Count} | 
| 链接 | {$Tag.HtmlUrl} | 
| 经过编码的名称 | {$Tag.EncodeName} | 
YTCMS 2.0常用语法技巧
调用一条置顶文章摘要里面的第一张图片:(需要安装MiniTu插件)
| 1 2 3 | {YT:Article DataSource="GetArticleTop(1)"}
{$MiniTu_Build(article.title,article.intro,article.url)}
{/YT:Article} | 
调用一条置顶文章内容里面的第一张图片:(需要安装MiniTu插件)
| 1 2 3 | {YT:Article DataSource="GetArticleTop(1)"}
{$MiniTu_Build(article.title,article.content,article.url)}
{/YT:Article} | 
调用分类目录名:
| 1 2 3 4 5 6 7 8 | <!--YT调用分类 前6个,想调用几个 就改下面的6--> {for i=1 ubound(Categorys)} {if Categorys(i).ParentID = 0} <li class="linav"><a href="{$Categorys(i).Url}">{$Categorys(i).Name}</a></li> {/if} {if i=6}{eval exit for}{/if} {/next} <!--YT调用分类 End--> | 
取正文前80字去掉HTML代码后的一个描述:
| 1 | <meta name="description" content="{eval set art = new TArticle}{if art.LoadInfoByID(<#article/id#>)}{$left(replace(TransferHTML(art.Content,"[nohtml]")," ",""),80)}{/if}{eval set art = nothing}" /> | 
限制摘要文字在100字以内,多余部分用省略号显示:
| 1 2 3 4 5 | {eval set art = new TArticle}
	{if art.LoadInfoByID(<#article/id#>)}
	{$left(replace(TransferHTML(art.Content,"[nohtml]")," ",""),100)}
	{/if}
{eval set art = nothing}... | 
或使用以下代码:
| 1 | {$left(replace(TransferHTML(Article.intro,"[nohtml]")," ",""),100)&"..."} | 
指定前三篇文章样式的YTCMS代码:
| 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 | {eval i=0}
{YT:Article....}
{if i=0}
<!--这是第一篇文章第一种样式-->
{/if}
{if i=1}
<!--这是第二篇文章第二种样式-->
{/if}
{if i=2}
<!--这是第三篇文章第三种样式-->
{/if}
{if i>2}
<!--这是第N篇文章第N种样式-->
{/if}
{eval i = i + 1}
{/YT:Article} | 
调用大分类ID为1的小分类列表:
| 1 2 3 4 5 6 7 8 | {eval aryCateInOrder=GetCategoryOrder()}
	{if isArray(aryCateInOrder)}
	{for i=lbound(aryCateInOrder)+1 ubound(aryCateInOrder)}
	{if Categorys(aryCateInOrder(i)).ParentID=1}
		<li class="cat-item cat-item-3"><a href="{$Categorys(aryCateInOrder(i)).Url}">{$Categorys(aryCateInOrder(i)).Name}</a></li>
	{/if}
{/next}
{/if} | 
常用日期格式:
| 1 2 3 4 5 6 7 | {$Year(Article.PostTime)&"年"&Month(Article.PostTime)&"月"&Day(Article.PostTime)}日
年{$year(Article.PostTime)}
月{$month(Article.PostTime)}
日{$day(Article.PostTime)}
时{$hour(Article.PostTime)}
分{$minute(Article.PostTime)}
秒{$second(Article.PostTime)} | 
显示N个随机标签,如显示5个,请将下面的N改为5,或者可将N设置为<#TEMPLATE_INCLUDE_TAGSNUM#>,方便在后台主题插件中修改:
| 1 2 3 4 5 6 | {eval i=N}
	{if i>0}
	{YT:Tag DataSource="GetTagListsRandomSortRand(i)"}
		<a href="{$Tag.HtmlUrl}">{$Tag.HtmlName}</a>
	{/YT:Tag}
{/if} | 
调用子分类,将代码中的0改成你当前的分类ID即可:
| 1 | {if Categorys(aryCateInOrder(i)).ParentID=0} | 
ZBlog二级下拉菜单代码:
| 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 | <ul> {eval aryCateInOrder=GetCategoryOrder()} {if isArray(aryCateInOrder)} {for i=lbound(aryCateInOrder)+1 ubound(aryCateInOrder)} {if Categorys(aryCateInOrder(i)).ParentID=0} <li><a href="{$Categorys(aryCateInOrder(i)).Url}">{$Categorys(aryCateInOrder(i)).Name}</a> <ul class="ul-subcates"> {for j=lbound(aryCateInOrder)+1 ubound(aryCateInOrder)} {if Categorys(aryCateInOrder(j)).ParentID = Categorys(aryCateInOrder(i)).ID} <li><a href="{$Categorys(aryCateInOrder(j)).Url}">{$Categorys(aryCateInOrder(j)).Name}</a></li> {/if} {/next} </ul></li> {/if} {/next} {/if} </ul> | 
Zblog2.0实现24小时内发布的文章加new图标的方法:
| 1 2 3 4 | {YT:Article DataSource="GetArticleRandomSortNew(7)"}
<li><span class="you">{$month(Article.PostTime)}月{$day(Article.PostTime)}日</span>[ {$Categorys(Article.CateID).HtmlName} ]  <a href="{$Article.Url}">{$Article.HtmlTitle}</a>
{if (DATEDIFF("h",Article.PostTime,now()) < 24)} <img src="/zb_users/THEME/主题名称/STYLE/images/new.gif" border="0" />{/if}</li>
{/YT:Article} | 
注意:new.gif部分是NEW图片地址,你可以进行修改,另外,{if (DATEDIFF(“h”,Article.PostTime,now()) < 24)} 这段函数里面的24表示24小时内的文章,可以改成你想要的任何数字,最后上面的样式根据现有项目酌情修改。
YTCMS 1.8常用语法示例
YT.CMS使用的格式为:
| 1 2 3 | <YT:类型 DataSource="数据源"> 循环体 </YT> | 
类型包括:
| 说明 | 代码 | 
| 日志 | Article | 
| 评论 | Comment | 
| 标签 | Tag | 
| 自定义 | Cmd | 
此示例调用类型为日志,且调用的数据源为最新文章,调用10条。
| 1 2 3 | <YT:Article DataSource="GetArticleRandomSortNew(10)"> <a href="<#article/url#>"><#article/title#></a> </YT> | 
支持的内置数据源
| 说明 | 代码 | 参数(数字类型) | 
| 最新文章 | GetArticleRandomSortNew | (行数) | 
| 随机文章 | GetArticleRandomSortRand | (行数) | 
| 本月评论排行 | GetArticleRandomSortComMonth | (行数) | 
| 本年评论排行 | GetArticleRandomSortComYear | (行数) | 
| 本月排行 | GetArticleRandomSortTopMonth | (行数) | 
| 本年排行 | GetArticleRandomSortTopYear | (行数) | 
| 热文排行 | GetArticleRandomSortTopHot | (行数) | 
| 分类文章列表 | GetArticleCategorys | (行数,文章类别) | 
| 分类热门文章列表 | GetArticleCategorysTophot | (行数,文章类别) | 
循环体内支持的标签
| 说明 | 代码 | 
| 编号 | <#article/id#> | 
| 链接 | <#article/url#> | 
| 权限 | <#article/level#> | 
| 标题 | <#article/title#> | 
| 别名 | <#article/staticname#> | 
| 摘要 | <#article/intro#> | 
| 全文 | <#article/content#> | 
| 时间 | <#article/posttime#> | 
| 评论数 | <#article/commnums#> | 
| 浏览数 | <#article/viewnums#> | 
| 引用数 | <#article/trackbacknums#> | 
| 引用链接 | <#article/trackback_url#> | 
| 评论RSS | <#article/commentrss#> | 
| tags | <#article/tagtoname#> | 
| 第一个tag摘要 | <#article/firsttagintro#> | 
| 全文第一张图片 | <#article/picture#> | 
此示例调用类型为评论,且调用的数据源为最新回复列表,调用10条,调用类别为1,文章类型可在后台分类中获取。
| 1 2 3 | <YT:Comment DataSource="GetCommentCategorysComments(10,1)"> 评论:<a href="<#article/comment/commenturl#>"><#article/title#></a> </YT> | 
支持的内置数据源
| 说明 | 代码 | 参数(数字类型) | 
| 最新回复列表 | GetCommentComments | (行数) | 
| 分类最新回复列表 | GetCommentCategorysComments | (行数,文章类别) | 
循环体中支持的标签
| 说明 | 代码 | 
| 编号 | <#article/comment/id#> | 
| 序号 | <#article/comment/count#> | 
| 名称 | <#article/comment/name#> | 
| 网址 | <#article/comment/url#> | 
| <#article/comment/email#> | |
| 时间 | <#article/comment/posttimei#> | 
| 内容 | <#article/comment/content#> | 
| 作者编号 | <#article/comment/authorid#> | 
| 首要联系 | <#article/comment/firstcontact#> | 
| Email的MD5码 | <#article/comment/emailmd5#> | 
| 经过编码的URL链接 | <#article/comment/urlencoder#> | 
| 文章标题 | <#article/title#> | 
| 链接 | <#article/comment/commenturl#> | 
此示例调用类型为标签,且调用的数据源为标签列表,调用8条。
| 1 2 3 | <YT:Tag DataSource="GetTagLists(8)"> 关键字调用:<a href="<#article/tag/url#>"><#article/tag/name#></a> </YT> | 
支持的内置数据源
| 说明 | 代码 | 参数(数字类型) | 
| 标签列表 | GetTagLists | (行数) | 
循环体内支持的标签
| 说明 | 代码 | 
| 编号 | <#article/tag/id#> | 
| 名称 | <#article/tag/name#> | 
| 摘要 | <#article/tag/intro#> | 
| 文章数 | <#article/tag/count#> | 
| 链接 | <#article/tag/url#> | 
| 经过编码的名称 | <#article/tag/encodename#> | 
调用模型标签:
<#article/model/字段名#>
如果模型字段为title,则调用标签为:<#article/model/title#>
调用指定分类:
<YT:Cmd DataSource=”SELECT 1″>//数字1为调用分类数,无需修改
分类链接:<#eval/Categorys(1).HtmlUrl#> //将括号中的1改为分类ID
分类名称:<#eval/Categorys(1).HtmlName#> //将括号中的1改为分类ID
分类别名:<#eval/Categorys(1).Staticname#> //将括号中的1改为分类ID
</YT>
调用指定分类下的N篇文章:
<YT:Article DataSource=”GetArticleCategorysLimit(5,3,’1′)”>
括号中的5为调用5篇文章。
括号中的3为分类文章索引值,即忽略前三篇文章,从第4篇文章开始调用;如果从第N篇文章开始调用则填N;该参数不能为0。
括号中的1 为分类ID,查询分类ID请查看zblog后台“分类管理”中分类前的ID数字。
</YT>
调用指定标签下的N篇文章:
<YT:Article DataSource=”GetArticleTag(5,1)”>
括号中的5为调用5篇文章。
括号中的1为ID为1的Tags,查询TagsID请查看zblog后台“分类管理”中Tags前的ID数字。
</YT>
调用全站置顶文章:
<YT:Article DataSource=”GetArticleTop(3)”>
该代码实现YT调用全站的前3篇置顶文章。
</YT>
调用分类置顶文章:
<YT:Article DataSource=”GetArticleCategoryTop(10,’1′)”>
该代码实现YT调用分类ID为1的前10篇置顶文章。
</YT>
调用单篇文章:
<YT:Article DataSource=”GetArticleModel(‘1’)”>
该代码实现YT调用ID为1的文章。如企业站首页调用关于我们模块,则需调用关于我们文章的ID即可。
</YT>
控制显示输出文字的个数:
<YT:Article DataSource=” GetArticleCategorysLimit (5,3,’1′)”>
注释:控制文章标题的显示个数是用{left:N},N为输出的字符数,如果将标题控制在10个字符,则为:{left:10}。
<li><a href=”<#article/url#>” target=”_blank”><#article/title{left:10}#></a></li>
</YT>
标签页与留言页调用文章链接、标题、摘要以及首图无效时,请使用以下标签进行调用。
文章标题:<#eval/row(2)#>
文章摘要:<#eval/row(3)#>
文章链接:<#eval/row(10)#>
文章首图:<#eval/row(11)#>
使导航上的分类显示指定个数,超出则不显示。(注:不能在include文件夹下的文件使用,否则失效,此方法容易造成新建分类提示下标越界的错误并且停用YT.CMS插件容易造成数据清空,请谨慎使用。)
<YT:Cmd DataSource=”select top 6 * from blog_Category order by cate_Order asc”>
<li><a href=”<#eval/Categorys(DataSource(0,i)).HtmlUrl#>”><#field/cate_Name#></a></li>
数字6为调用分类的个数,超出6个分类则不显示。
<#eval/Categorys(DataSource(0,i)).HtmlUrl#> 为分类的链接
<#field/cate_Name#> 为分类的名称
<#field/cate_Intro#> 为分类的别名
</YT>
利用YT.CMS调用某个用户的所有文章
<YT:Cmd DataSource=”select * from blog_Article WHERE log_AuthorID=作者ID order by log_PostTime asc”>
<li><#field/log_Title#></li>
</YT>
使用YT的Cmd模式,替换为用户ID即可,如果需要其它字段自行查询数据库进行替换即可。
转自拓源博客
 
								 
								 
								 
								 
								 
								 
								 
								 
								 
								 
								 
								 
								 
								 
					 
					 
					 
					