akcms在模板文件中书写<{php}>,在模版中灵活处理变量的4种方法

本文介绍了AKCMS模板系统中变量处理的四种方法,包括直接显示、使用过滤器、函数简写和PHP语句直接操作。对于不再更新的AKCMS,这些技巧对老用户仍有参考价值。例如,如何截断字符串、转换大小写等,并提供了预定义变量的参考链接。适合有一定PHP基础的高级用户阅读。
摘要由CSDN通过智能技术生成

注意:AKCMS已于2019年12月27日宣布停止更新,此文档仅供老用户参考,不建议新用户选择AKCMS建站。

注意:AKCMS6.1.2已取消授权机制,文档中关于授权、服务、技术支持等的内容均已失效。

本文是关于二次开发的高级用法,普通站长请绕行,以免烧脑子。

在模版中显示变量(假设变量名是$var)最通常的写法是:

但有时我们不想直接显示,而是对变量做一些处理再显示。假设有一个需求,截断变量的前20个字然后输出。

旧版本的akcms可以通过标签+过滤器来实现这个需求:

先创建一个过滤器截断20个汉字

过滤器的内容是(每个汉字长度为2,每个英文、数字长度为1,所以20个汉字就是40):

php:ak_substr($input, 0, 40);

假设过滤器的ID是x,然后在标签中应用这个过滤器。

在6.1版中有了更简单的方法:

这样的写法虽然比原来简单了一些,但是还是需要创建过滤器,像截断字数这种常用的调用我们提供了第2种处理方法:不用创建过滤器,直接在变量的后面加:长度。

有时候需要对变量进行简单的处理,比如:想把全部字母都转为大写,稍微有php基础的朋友知道有一个strtoupper函数可以实现这个功能。akcms还支持第3种处理方法:

就是在变量的后面加上[@函数名],但是只支持1个参数的函数。

如果需求比较复杂,相应的处理代码也比较复杂就无法这样简写了,akcms还支持第4种处理方法:假设需求是变量先与"abc"连接再md5,再截取前6个字符就这样写:

在@的后面写php语句,用$1代替要处理的变量。

理论以上这4种变量处理方法能做的事,akecho+过滤器都可以做,只不过新的这方法更方便、简单、直接。

备注:本文用$var变量举例,实际上不存在这个变量。不同类型的模版中有哪些预定义的变量请参考:《所有模版都可以用的全局变量》、《内容页模版变量》、《栏目页模版变量》、《主题页模版变量》、《单页模版变量》

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值