YT.CMS插件怎么用
1.8版本的YTCMS语法使用尖括号"<>"格式的语句,升级到2.0后插件名改为"Content Manage System",且语法统一使用大括号"{}"语法格式,下面列举YTCMS2.0与YTCMS1.8版本标签查询手册和YTCMS代码使用技巧。
调用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}
复制下列代码时,请将代码中的大括号修改为英文大括号,否则或导致代码失效。
YTCMS 2.0最新版标签手册(全)
日志调用:
日志字段信息 | |
编号 | {$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常用语法技巧
调用一条置顶文章摘要里面的第一张图片:
{YT:Article DataSource="GetArticleTop(1)"} {$MiniTu_Build(article.title,article.intro,article.url)} {/YT:Article}
调用一条置顶文章内容里面的第一张图片:
{YT:Article DataSource="GetArticleTop(1)"} {$MiniTu_Build(article.title,article.content,article.url)} {/YT:Article}
调用分类目录名:
<!--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代码后的一个描述:
<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字以内,多余部分用省略号显示:
{eval set art = new TArticle} {if art.LoadInfoByID(<#article/id#>)} {$left(replace(TransferHTML(art.Content,"[nohtml]")," ",""),100)} {/if} {eval set art = nothing}... 或使用以下代码: {$left(replace(TransferHTML(Article.intro,"[nohtml]")," ",""),100)&"..."}
指定前三篇文章样式的YTCMS代码:
{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的小分类列表:
{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}
常用日期格式:
{$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#>,方便在后台主题插件中修改:
{eval i=N} {if i>0} {YT:Tag DataSource="GetTagListsRandomSortRand(i)"} <a href="{$Tag.HtmlUrl}">{$Tag.HtmlName}</a> {/YT:Tag} {/if}
调用子分类,将代码中的0改成你当前的分类ID即可:
{if Categorys(aryCateInOrder(i)).ParentID=0}
ZBlog二级下拉菜单代码:
<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图标的方法:
{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}
{if (DATEDIFF("h",Article.PostTime,now()) < 24)} 这段函数里面的24表示24小时内的文章,可以改成你想要的任何数字,最后上面的样式根据现有项目酌情修改。
YTCMS 1.8常用语法示例
YT.CMS使用的格式为:
<YT:类型 DataSource="数据源"> 循环体 </YT>
类型包括:
说明 | 代码 |
日志 | Article |
评论 | Comment |
标签 | Tag |
自定义 | Cmd |
示例1:
此示例调用类型为日志,且调用的数据源为最新文章,调用10条.
<YT:Article DataSource="GetArticleRandomSortNew(10)"> <a href="<#article/url#>"><#article/title#></a> </YT>
示例1支持的内置数据源
说明 | 代码 | 参数(数字类型) |
最新文章 | GetArticleRandomSortNew | (行数) |
随机文章 | GetArticleRandomSortRand | (行数) |
本月评论排行 | GetArticleRandomSortComMonth | (行数) |
本年评论排行 | GetArticleRandomSortComYear | (行数) |
本月排行 | GetArticleRandomSortTopMonth | (行数) |
本年排行 | GetArticleRandomSortTopYear | (行数) |
热文排行 | GetArticleRandomSortTopHot | (行数) |
分类文章列表 | GetArticleCategorys | (行数,文章类别) |
分类热门文章列表 | GetArticleCategorysTophot | (行数,文章类别) |
示例1循环体内支持的标签
说明 | 代码 |
编号 | <#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#> |
示例2:
此示例调用类型为评论,且调用的数据源为最新回复列表,调用10条,调用类别为1,文章类型可在后台分类中获取.
<YT:Comment DataSource="GetCommentCategorysComments(10,1)"> 评论:<a href="<#article/comment/commenturl#>"><#article/title#></a> </YT>
示例2支持的内置数据源
说明 | 代码 | 参数(数字类型) |
最新回复列表 | GetCommentComments | (行数) |
分类最新回复列表 | GetCommentCategorysComments | (行数,文章类别) |
示例2循环体中支持的标签
说明 | 代码 |
编号 | <#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#> |
示例3:
此示例调用类型为标签,且调用的数据源为标签列表,调用8条.
<YT:Tag DataSource="GetTagLists(8)"> 关键字调用:<a href="<#article/tag/url#>"><#article/tag/name#></a> </YT>
示例3支持的内置数据源
说明 | 代码 | 参数(数字类型) |
标签列表 | GetTagLists | (行数) |
示例3循环体内支持的标签
说明 | 代码 |
编号 | <#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>