Skip to content

Edusoho 主题的开发支持使用宏

宏的定义

twig
example:
{% macro test(text) %}
    <p>{{ test }}</p>
{% endmacro %}

宏的引入

twig
{% import 'macro.html.twig' as web_macro %}

提示

本页所有示例的宏的引入命名都为web_macro

官方提供的宏

user_avatar_link(user, size, options)

输出单个用户的头像链接。

参数:

名称必需说明
user array用户对象
size string图片规格 smallmediumlarge
options array设置项 card(显示卡片), _blank(新开窗口), null_link(空链接)

用法:

输出带卡片,并新开窗口的头像的链接:

twig
{{ web_macro.user_avatar_link(user, 'small', ['card', '_blank']) }}

输出链接为空的用户头像:

twig
{{ web_macro.user_avatar_link(user, 'small', ['null_link']) }}

user_avatar_img

user_avatar_img(user, size)

输出单个用户含头像。

参数:

名称必需说明
user array用户对象
size string图片规格 smallmediumlarge

用法:

输出单个用户含头像:

twig
{{ web_macro.user_avatar_img(user, 'small'}}
user_link(user, class, options)

输出单个用户昵称链接。

参数:

名称必需说明
user array用户对象
class stringcss
options array设置项 card(显示卡片), _blank(新开窗口), null_link(空链接)

用例:

输出带卡片,并新开窗口的用户名的链接:

twig
{{ web_macro.user_link(user, 'example-class', ['card', '_blank']}}

输出链接为空的用户名:

twig
{{ web_macro.user_link(user, 'example-class', ['null_link']}}

flash_messages

flash_messages()

显示页面顶部弹条

参数:

用例:

显示当前页面的通知

twig
{{ web_macro.flash_messages() }}

bytesToSize

bytesToSize(bytes)

自动将字节数(bytes)转换成KB、MB、GB、TB。

参数:

名称必需说明
bytes int容量字节数

用例:

将字节数自动转换成合适的容量格式

twig
{{ web_macro.bytesToSize(size) }}

paginator

paginator(paginator, class)

生成页面分页器

参数:

名称必需说明
paginator objectpaginator对象
class string默认值text-center CSS class<nav class="[class]"></nav>

用例:

显示分页

twig
{{ paginator(paginator, 'text-center') }}

star

star(score)

生成1-5星级模块

参数:

名称必需说明
score int星级数量 1~5

用例:

twig
{{ web_macro.star(number) }}

ajax_paginator

ajax_paginator(paginator)

ajax加载页面的分页器

参数:

名称必需说明
paginator objectpaginator对象

用例:

生成ajax分页器

twig
{{ web_macro.ajax_paginator(paginator) }}
link(name, url, title = '', target = '_blnak')

生成链接

参数:

名称必需说明
name string链接显示文案
url stringa.href
title stringa.title
target stringa.target

用例:

生成链接

twig
{{ link(name, url, title = '', target = '_blnak') }}