ad


CSS中文手册加入收藏设为首页共享模板提交创意简繁转换

您现在的位置: :首页 > CMS教程 > 动易 > >> 正文

在标签中调用扩展函数(内置方法)

『 更新时间:2008-04-30 19:51:50 』『 字体: 』『 编辑:模板CMS< 』

  动易Sitefactory产品开发了强大的XSLT扩展标签解析引擎,用户通过自己编写标签就可以实现绝大部分的个性化功能需求。同时为了方便用户编写标签,系统内置了大量的扩展函数,这些函数也就系统提供的内置方法,这些方法可以为我们在标签编写时提供很大的便利。

  在本文中将以系统自带标签为例进行说明,同时提供系统内置方法的调用方式和作用列出来,以便大家更好、更容易掌握内置的方法。
  在进行下列操作前,请在网站后台中先添加一些文章,以方便在操作时查看标签的效果。

  目录:
  在标签中调用内置方法的说明
  内置扩展函数列表

在标签中调用内置方法

  在网站后台,依次点击“系统设置”->“模板标签管理”->“标签管理”,在标签管理界面左侧的管理导航中,在“标签查询”中搜索“全站热门推荐”,右侧显示了标签库中相应的标签,在“全站热门推荐”标签“操作”列中单击“修改”功能链接修改标签:

  在修改标签界面中点选“跳转到”下拉选择框,选择“标签内容编辑”选项后进入标签内容编辑管理界面。

  在标签内容编辑管理界面中,单击左侧“扩展函数”书签式面板,即可看到“取得信息路径”、“取得栏目路径”、“取得专题路径”等很多的扩展函数。这些函数也就系统提供的内置方法,这些方法可以为我们提供很大的便利。

  在界面中间的标签内容框中,我们注意以下这段代码(特别是红色粗体的代码):
<a>
<xsl:attribute name="href">
<xsl:value-of select="pe:GetInfoPath(GeneralID)" />
</xsl:attribute>
  这段代码中用到了一个函数GetInfoPath(取得信息路径)。单击页面下方“查看效果”功能按钮,在弹出的窗口中单击“刷新”按钮,可以看到刚才所添加的文章列表效果。将鼠标放在文章标题上,在浏览器左下方就会出现文章正确的链接地址:

  假如我们把pe:GetInfoPath(GeneralID)修改成GeneralID
<a>
<xsl:attribute name="href">
<xsl:value-of select="GeneralID" />
</xsl:attribute>
  再查看效果就不一样了,文章ID后面就缺少了文件后缀,同时也缺少了文章的链接地址:

  通过上面的实例我们就知道这个标签在代码中的作用。

  在系统提供的标签中,还有些比较复杂的函数调用。在标签管理界面左侧的管理导航中,在“标签查询”中搜索并查看“公告列表”的标签内容:

<xsl:if test="$showcontent = 'true'">
<li class="announce_text">
<xsl:choose>
<xsl:when test="$contenttype='nohtml'">
<xsl:value-of select="pe:CutText(pe:RemoveHtml(Content),$contentlen,'…')" />
</xsl:when>
<xsl:when test="$contenttype='source'">
<xsl:value-of select="pe:CutText(Content,$contentlen,'…')" />
</xsl:when>
<xsl:otherwise>
<xsl:value-of disable-output-escaping="yes" select="pe:CutText(Content,$contentlen,'…')" />
</xsl:otherwise>
</xsl:choose>

  在上述标签代码中的函数在使用时要设定相关参数,如:
<xsl:when test="$contenttype='source'">
<xsl:value-of select="pe:CutText(Content,$contentlen,'…')" />
</xsl:when>
  CutText(取固定长度文字)函数需要设定三个参数:
  Content:需要被获取固定长度的字符串。
  $contentlen:需要获取的长度。
  '…':字符串在超长后的标识字符(也就是代替超过长度字符的字符)。
  假设我们发布的公告内容为:
  <p>今天发布最新公告</p>
  若我们设置所截取字符串的长度为10个字符,超长后的标识字符为…,则这个段代码返回的结果为:
  <p>今天发…

  一般在添加的公告内容时,可能会存在一些HTML标记,象上述例子中的<p>HTML标记,我们需要去除这些HTML标记后再进行输出,这时就可以使用RemoveHtml函数。如:
<xsl:when test="$contenttype='nohtml'">
<xsl:value-of select="pe:CutText(pe:RemoveHtml(Content),$contentlen,'…')" />
</xsl:when>
  RemoveHtml函数会去除所有的HTML标记,返回只有文字的公告内容,这种方法就是函数嵌套的方法,即在调用了A(CutText)(取固定长度文字)函数时,A函数还调用了B(RemoveHtml)(移除全部的HTML标记)函数,以实现返回只有文字的公告内容。在该函数中用到的$contentlen,像这种带有‘$’符号的都是标签中的自定义参数,在设置标签参数中定义。假设我们发布的公告内容为:
  <p>今天发布最新公告</p>
  若我们设置所截取字符串的长度为10个字符,超长后的标识字符为…,则这个段代码返回的结果为:
  今天发布最…

内置扩展函数列表说明请参考/Develop/SiteFactory/1697.html

共有 位网友发表了评论 收藏该内容报告错误点击复制信息给好友分享查看所有网友评论关闭此页面
  • 您暂未登陆,请登陆后发表! 或直接填写昵称匿名发表
  • 1.请勿发表广告及不良言论.
  • 2.本文内容及版权归原作者.
  • 匿名?
关于我们 | 投稿指南 | 广告服务 | 建站服务 | 联系我们 | 网站地图 | 友情连接 | 诚征英才
欢迎您光临模板CMS,竭尽全力为您打造最专业的CMS资源站点!联系我26211803 联系我667559
建站交流群:1700154 模板交流群:37797574 49415971 10086677 交流论坛
Copyright © 2005-2007 www.mobancms.com online services. All rights reserved. Template designed by lacdy.
模板CMS版权所有 豫ICP备06002344号