Skip to content

官方文档

官方文档

过滤器

过滤器在视图层对数据进行处理,如时间戳转换,小数的位数处理,字符串截取等

过滤器和数据以 | 隔开, 可以链式写法,多次调用

调用代码

{{ courseSet.title|default('标题')|plain_text(30) }}

对课程标题进行过滤,为空则显示 '标题',超出30字,截取30个字符。

EduSoho过滤器

函数

函数一般用于一些逻辑计算,获值。

smart_time

描述

返回与当前时间的 时间差

示例

设当前时间是 1501200065

该话题于 {{ 1501200060|smart_time }} 创建
该课程于 {{ 1501200000|smart_time }} 创建

以上会输出:

该话题于 5秒前 创建
该课程于 一分钟前 创建

date_format

描述

格式化本地日期和时间,并返回已格式化的日期字符串。作用等同于php date函数

参数

字段是否必填描述
formathttp://php.net/manual/zh/function.date.php

示例

{{ 1501234607|date_format }}
{{ 1501234607|date_format('y.m.d') }}
{{ 1501234607|date_format('Y-m-d H:i:s') }}

以上会输出:

2017-07-28 17:36
17.07.28
2017-07-28 17:36:47

remain_time

描述

返回剩余时间

参数

字段是否必填描述
timeType参数项: day

trans

描述

国际化,根据key翻译输出。翻译文件在

app/Resources/translations/

file_size

描述

返回文件大小,单位为B, KB, MB, GB

plain_text

描述

返回截取后的字符串

参数

  • length 可选

示例

{{ 'php基础课程-基本语法'|plain_text(5) }}

以上会输出:

php基础...

duration

描述

返回带有没有单位的时间,以分秒的形式

示例

{{ 65|duration }}

以上会输出:

01:05

duration_text

描述

返回带有单位的时间

示例

{{ 65|duration_text }}

以上会输出:

1分5秒

chr

描述

等同于php函数 chr

score_text

描述

将数字保留一位小数,转化成字符串

purify_and_trim_html

描述

对带有html的字符串进行安全过滤

描述

过滤掉 edusoho字符串,去除edusoho版权

space2nbsp

描述

将空格替换成  

示例

{{ 课程 班级|space2nbsp }}

以上会输出:

课程 班级

number_to_human

描述

将数字转化成有单位的,单位: 千,万,亿

示例

{{ 100|number_to_human }}
{{ 1001|number_to_human }}
{{ 10001|number_to_human }}
{{ 100000001|number_to_human }}

以上会输出:

100
1千
1万 
1亿

fileurl

描述

返回绝对的路径

参数

字段是否必填描述
path文件路径
defaultKey默认显示的图片

filepath

描述

返回相对路径

参数

字段是否必填描述
path文件路径
defaultKey默认显示的图片

lazy_img

描述

返回符合懒加载格式的img标签

参数

字段是否必填描述
srcimg标签路径
classimg标签的样式类
altimg标签描述
img懒加时显示的默认图片

avatar_path

描述

返回用户的头像路径

参数

字段是否必填描述
user用户对象
type头像大小 参数项: small,middle,large

setting

描述

根据name,返回setting表对应的数据

参数

字段是否必填描述
name
default默认数据

percent

描述

计算百分比

参数

number 必填 分子 total 必填 分母

字段是否必填描述
number分子
total分母

示例

{{ percent(12,51) }}
{{ percent(12,0) }}
{{ percent(51,0) }}

以上会输出:

23%
0% 
0%

upload_max_filesize

描述

返回文件上传的最大值

参数

字段是否必填描述
formated布尔值

示例

{{ upload_max_filesize() }}
{{ upload_max_filesize(false) }}

以上会输出:

1.0GB 
1073741824

is_plugin_installed

描述

插件是否安装

参数

字段是否必填描述
code

plugin_version

描述

返回插件版本号

参数

字段是否必填描述
code

upload_token

描述

返回文件上传的token

参数

字段是否必填描述
group上传分类,对应不同的目录存储
type上传类型

countdown_time

描述

返回 包含天,小时,分,秒的倒计时对象

参数

字段是否必填描述
value时间戳

示例

{{ dump(countdown_time(12222222222)) }}

以上会输出:

array(4) {
  ["days"]=>
  int(124083)
  ["hours"]=>
  int(18)
  ["minutes"]=>
  int(42)
  ["seconds"]=>
  int(10)
}

convert_ip

描述

返回 ip所属的地址

参数

字段是否必填描述
ip

user_account

描述

返回 用户的账户信息

参数

字段是否必填描述
userIduserId

blur_phone_number

描述

模糊手机号码,中间4位以 **** 显示

参数

字段是否必填描述
phoneNum手机号

blur_idcard_number

描述

模糊身份证号码,中间12位以 ************ 显示

参数

字段是否必填描述
idcardNum身份证号码

order_payment

描述

返回订单的支付方式

参数

字段是否必填描述
order订单对象
default默认显示的值

crontab_next_executed_time

描述

返回定时任务下次执行时间

getFingerprint

描述

返回用户指纹信息

getParametersFromUrl

描述

返回url里的参数

参数

字段是否必填描述
url链接地址

timestamp

描述

返回当前时间戳

get_user_vip_level

描述

返回用户的会员信息

参数

字段是否必填描述
userId用户ID

route_exsit

描述

路由是否存在

参数

字段是否必填描述
name路由名称

is_micro_messenger

描述

是否微信浏览器

plugin_update_notify

描述

插件更新通知

is_show_mobile_page

描述

是否开启手机微网校,只在移动设备访问才生效


is_mobile_client

描述

是否移动端设备访问

select_options

描述

返回 option 标签

参数

字段是否必填描述
choices下拉框的选项
selected当前选中的项
empty没有选中某项时,显示的内容

示例

<select>
    {{ select_options({'A':'A', 'B':'B', 'C':'C'}, 'A', '选项') }}
</select>

以上会输出:

<select>
    <option value="">选项</option>
    <option value="A" selected="selected">A</option>
    <option value="B">B</option>
    <option value="C">C</option>
</select>

radios

描述

返回 input 单选框 标签

参数

字段是否必填描述
nameinput标签的name属性
choices单选框的选项
checked当前选中的项

示例

{{ radios('learnMode', { 'freeMode': '自由', 'lockMode': '解锁' }, 'freeMode') }}

以上会输出:

<label><input type="radio" name="learnMode" value="freeMode" checked="checked"> 自由</label>
<label><input type="radio" name="learnMode" value="lockMode"> 解锁</label>

checkboxs

描述

返回 input 复选框标签

参数

字段是否必填描述
nameinput标签的name属性
choices复选框的选项
checkeds当前选中的项

示例

{{ checkboxs('boxs', {'A':'A', 'B':'B','C':'C'},['A','C']) }}

以上会输出:

<label><input type="checkbox" name="boxs[]" value="A" checked="checked"> A</label>
<label><input type="checkbox" name="boxs[]" value="B"> B</label>
<label><input type="checkbox" name="boxs[]" value="C" checked="checked"> C</label>

dict

描述

字典,预先定义好的数据,在dict.zh_CN.yml定义 返回一个对象

参数

字段是否必填描述
name字典名称

示例

{{ dump(dict('courseType')) }}

以上会输出:

array(4) {
  ["live"]=>
  string(12) "直播课程"
  ["open"]=>
  string(15) "录播公开课"
  ["liveOpen"]=>
  string(15) "直播公开课"
  ["normal"]=>
  string(12) "普通课程"
}

dict_text

描述

返回字典中的对应key的文本

参数

字段是否必填描述
name字典名称
key

示例

{{ dict_text('courseType', 'open') }}

以上会输出:

直播课程