jumbot - 2012/9/18 9:57:10
这次用实例说明自定义2个函数:加法、url加密:
1、运行JumbotCMS项目;
2、打开JumboTCMS.TEngine下的TemplateManager.cs文件;
3、在 void Init()下加上如下语句
- functions.Add("urlencode", new TemplateFunction(FuncUrlEncode));
- functions.Add("add", new TemplateFunction(FuncAdd));//2012-09-14增加
复制代码4、添加如下函数
- /// <summary>
- /// UrlEncode编码
- /// </summary>
- /// <param name="args"></param>
- /// <returns></returns>
- object FuncUrlEncode(object[] args)
- {
- if (!CheckArgCount(1, "urlencode", args))
- return null;
- return System.Web.HttpUtility.UrlEncode(args[0].ToString());
- }
- /// <summary>
- /// 加法
- /// </summary>
- /// <param name="args"></param>
- /// <returns></returns>
- object FuncAdd(object[] args)
- {
- if (!CheckArgCount(2, "add", args))
- return 0;
- try
- {
- int value1 = Convert.ToInt32(args[0]);
- int value2 = Convert.ToInt32(args[1]);
- return value1 + value2;
- }
- catch
- {
- return 0;
- }
- }
复制代码5、之后就可以在内容循环标签中使用add和urlencode了
jumbot - 2012/9/18 9:58:37
<jcms:contentloop channelid="0" classid="0" repeatnum="10" fields="[title],adddate">
<#foreach content>
编号: ${i}(
<#if test="${isodd(i)}">
奇数
<#else>
偶数
<#/if>
)<br />
编号加1:${add(i,1)}<br />
编号减1:${add(i,-1)}<br />
原标题:${field.title}<br />
标题length:${length(field.title)}<br />
标题前5个字节:${cutstring(field.title,5)}<br />
标题htmlencode:${htmlencode(field.title)}<br />
标题urlencode:${urlencode(field.title)}<br />
录入时间:${cdatestring(field.adddate,"yyyy年MM月dd日")}<br />
<#/foreach>
</jcms:contentloop>