网站首页 手机版
 注册 登录
您现在的位置: 畅无忧设计 >> 网站建设 >> 动易专区 >> SiteWeaver教程 >> 正文
最新文章
· SiteWeaver系统结构功能概述
· SiteWeaver数据表列表
· IE8正式版下Siteweaver后台编辑器无效
· 在自定义标签中运用js
· SiteWeaver会员登录调用方法
· 生成html或刷新栏目JS时提示“写入文
· 实现文章中出现的关键字自动加亮加连
· 搜狐flash幻灯片标签
· SiteWeaver6.8无限级树形导航标签
· SiteWeaver CMS转换升级为SiteWeaver
热门文章
 动易SiteWeaver版自定义动态标签、
 生成html或刷新栏目JS时提示“写入
 文章自定义列表标签【ArticleList】
 SiteWeaver 6.8会员模板使用说明
 SiteWeaver数据表列表
 FLV视频插件 for SW系列
 在自定义标签中运用js
 Siteweaver模板对应的页面
 文章栏目页标签【ArticleList_Chil
 实现文章中出现的关键字自动加亮加
相关文章
SiteWeaver数据表列表
动易系列软件产品4.7版本发布
动易系列软件产品4.6版本发布
IE8正式版下Siteweaver后台编辑器无效的解
BizIdea4.5正式版版新增功能及更新
SiteFactory4.5正式版版新增功能及更新
在自定义标签中运用js
动易.NET产品3.6版1028更新
BizIdea3.6版新增功能及更新
SiteFactory3.6版新增功能及更新
动易.NET产品3.5版0428更新
SiteFactory3.5版新增功能及更新
BizIdea3.5版新增功能及更新
BizIdea3.1.6版新增功能及更新
SiteFactory3.1.6版新增功能及更新
动易SiteWeaver程序增强版Config_集成Con
Siteweaver模板对应的页面
自定义标签的参数传递注意事项
SiteWeaver学习笔记
动易网站重复内容检测清理器
SiteWeaver 6.6针对自定义标签的一系列调整和改进
来源:动易 更新时间:2009/5/31 3:46:13 阅读次数:
字体:[ ] 我要投稿

  一、改进函数标签参数传递的算法,兼容带有逗号的参数。

  我们先来看一个比较常见的问题:

  例子:用自定义函数标签取出指定频道的几个特定栏目的文章

  Sql语句:

  Select * from PE_Article where ChannelID=1 and ClassID in ({input(0)})

  比如我们需要取出栏目ID是1、2、3的栏目文章,我们在插入标签的时候填写参数1,2,3。可是标签解析出来后,我们可以看到其实取出的只是栏目为1的文章。也就是说实际标签在解析的时候,SQL语句并不是我们期望的

  Select * from PE_Article where ChannelID=1 and ClassID in (1,2,3)

  而是

  Select * from PE_Article where ChannelID=1 and ClassID in (1)

  原因是系统是用逗号作为分隔符来区别参数的。如果参数带逗号,传递给系统之后会跟该函数标签的其他参数混淆在一起,从而无法正确取得参数。针对这种情况,,SiteWeaver™ 6.6版本对原来的算法进行了一些改进:遇到有带逗号的参数时,我们可以用中括号括起,以便和其他参数区分。比如{$MY_函数标签([1,2,3],4,5)}这样的写法表示这个标签有三个参数,第一个是1,2,3,第二个是4,第三个是5。这样,我们就可以轻松实现开始我们讲解的例子的功能了。

  二、增加自定义函数标签SQL语句的兼容性,兼容取出全部频道、栏目的情况。

  我们在使用系统标签的时候,经常会有类似这样的调用,针对频道ID的参数设置成具体数字的话则调用具体的频道ID数据。如果设置成0的话则调用全部同类频道的数据,针对栏目ID的参数也类似,设置成0 的话为调用所有栏目。如果我们在自定义标签中也想实现类似的功能,则比较困难,因为自定义标签不会自定识别类似ChannelID=0这样的语句。

  针对这种情况,,SiteWeaver™ 6.6版本增加了对Sql语句的兼容判断,下面用一个例子说明。

  例子:取出几个指定频道的几个特定栏目内的文章

  SQL语句:

  Select * from PE_Article where ChannelID={input(0)} and ClassID in ({input(1)})

  1、第一个参数填写1,第二个参数填写2

  这个sql语句是取出频道ID是1,栏目ID是2的所有文章

  2、第一个参数填写1,第二个参数填写[1,2,3]

  这个sql语句是取出频道ID是1,栏目ID是1,2,3的所有文章

  3、第一个参数填写0,第二个参数填写[1,2,3]

  这个sql语句是栏目ID是1,2,3的所有文章(跟2的区别是就算频道ID不是1的文章也会取出)

  4、第一个参数填写1,第二个参数填写0

  这个sql语句是取出频道ID是1的所有文章

  5、第一个参数填写0,第二个参数填写0

  这个sql语句是取出文章频道的所有文章

  通过以上几个例子我们可以看到:如果是Sql语句中出现了ChannelID=0,ClassID=0,ChannelID in (0),ClassID in (0)的情况,则该条件解析成不限制。

  三、增强动态标签SQL语句的容错功能。

  SiteWeaver™ 6.5 版本在处理比较复杂的sql语句时,有时候会报错(在查询分析器里面可以正常执行的情况下)。下面举个例子说明。

  例子:取出文章内容页作者其他文章

  SQL语句:

  Select * from PE_Article where Input = (select Inputer from PE_Article where ArticleID={input(0)})

  括号内是取出指定文章的作者,然后根据这个作者名取出该作者的全部文章。可是我们进入标签编辑第二步的时候,会提示无效的SQL语句,而我们在查询分析器里面执行是可以正常运行的。SiteWeaver™ 6.6 版针对这种情况,对添加标签的SQL语句的算法进行了一些改进,在Sql语句的书写上更加自由,基本上只要sql语句的语法没有错误就可以运行。

  四、增加修改函数标签时可以修改参数的功能。

  在SiteWeaver™ 6.5版中,函数标签添加完成后并没有可以进行参数修改的功能,给标签修改带来了一些不便。SiteWeaver™ 6.6版已经加入了修改标签参数的功能。操作方法基本上跟添加标签时添加参数方法一致。相信熟悉动易的朋友使用起来会得心应手,如下图:

  五、调整了数据库保存标签参数的字段长度,避免参数过多导致标签无法添加成功。

  当我们制作比较复杂的标签时,一般需要设置比较多的参数。当参数的数量较多的时候(如10个左右),就有可能出现添加标签时提示标签保存成功,但实际上没有添加成功的情况。这个问题是因为保存标签参数字段的长度的限制,在SiteWeaver™ 6.6版本中,我们调整了这个字段的长度,以解决此问题来适应更多客户的需求。

  六、兼容因为编辑器原因出现的乱码导致标签无法解析的情况。

  SiteWeaver™ 6.5版本中,有时候会出现%7B,%7D这样的乱码,导致标签无法解析。SiteWeaver™ 6.6版本提高了对这些乱码的容错性,在标签、模板解析的时候会自动把这些乱码转换成正常的符号,从而使标签、模板可以正常的解析。

  七、在标签或者模板中可以动态读取语言包的内容。

  SiteWeaver™ 6.5版本为了方便用户的修改,把大部分的文字资源都封装成语言包,使程序跟大部分文字资源独立出来。SiteWeaver™ 6.6版本在此基础上,增加了一个可以读取语言包的标签,以配合自定义标签或者模板的使用,来实现动态获取语言包中的信息功能。因此,我们修改语言包相应的文字资源时,标签与模板也会动态的进行更新。在SiteWeaver™ 6.6版发布时会有这个标签的详细说明。

  八、在标签和模板里面进行条件判断。

  SiteWeaver™ 6.5版的标签和模板不能直接使用vb语句,有时候涉及一些条件判断的情况,只能用java script语句来实现,实属遗憾。特别是对不熟悉java script 语法的用户,可能更会感到无从下手。针对这种情况,SiteWeaver™ 6.6版本增加了一个可以进行简单条件判断的标签,来弥补这个遗憾。

  标签格式:{$YN(Condition, Fir, Sec)}

  功能:条件判断函数,可以根据条件运算参数的运算来输出相应的结果;

  'condition:条件运算参数,根据运行结果,如果是真则输出Fir,否则输出Sec;

  'Fir:条件成立的时候输出Fir的内容;

  'Sec :条件不成立的时候输出Sec的内容;

  注:如果Fir、Sec参数可能带有逗号,请用[ ]括起。比如:{$YN(True, [带逗号,的参数], 不带逗号的参数)}。

  这个标签可以实现一些条件判断功能,比如:在自定义标签中可以实现

  判断{$AutoID}是否是1,是1的话输出头版头条,否则输出正常样式;

  判断linkUrl字段是否为空,为空的时候输出内部连接地址,否则输出外部连接地址;

  判断OnTop字段是否为真,为真的时候输出 [固顶文章] 否则不输出;

  判断Inputer字段是否是某个作者,是真的话特殊显示;

  当然在模板中同样也可以用这个标签实现类似的判断,在SiteWeaver™ 6.6 版发布的时候会有这个标签的详细说明。

  

  • 上一篇文章:
  • 下一篇文章:
  • 关于我们 - 联系我们 - 广告服务 - 在线投稿 - 友情链接 - 网站地图 - 版权声明
    CopyRight 2008-2010, CWYDESIGN.COM - 畅无忧设计, Inc. All Rights Reserved
    滇ICP备09005765号