您现在的位置: 动易技术中心 >> 动易开发文档 >> SiteFactory二次开发文挡 >> 标签教学 >> 正文
在标签中调用扩展函数(内置方法)

  动易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/biaoqian/1697.html

文章录入:雅虎    责任编辑:丑小鬼 
  • 上一个文章: 没有了

  • 下一个文章:
  • 关闭窗口
    软件产品
    SiteFactory™ 内容管理系统
    SiteFactory™ 网上商店系统
    SiteWeaver™ 内容管理系统
    SiteWeaver™ 网上商店系统
    SiteWeaver™ 企业门户网站系统
    SiteWeaver™ 教育门户网站系统
    SiteWeaver™ 政府门户网站系统
    SiteWeaver™ 行业门户网站系统
    平台产品
    企业服务
    行业解决方案
    联系我们 | 关于动易 | 网站地图 | 相关证书 | 合作伙伴 | 招贤纳士 | 法律条款 | 隐私权声明
    安全上网网上报警
    动易网络科技有限公司版权所有 © 2003-  粤ICP备05004015号
    公安备案编号:4406063010734 本站基于 PowerEasy® SiteWeaver™ 制作