Edusoho 主题的开发支持使用宏

宏的定义

  1. example:
  2. {% macro test(text) %}
  3. <p>{{ test }}</p>
  4. {% endmacro %}

宏的引入

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

提示

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

官方提供的宏

  1. user_avatar_link(user, size, options)

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

参数:

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

用法:

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

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

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

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

user_avatar_img

  1. user_avatar_img(user, size)

输出单个用户含头像。

参数:

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

用法:

输出单个用户含头像:

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

输出单个用户昵称链接。

参数:

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

用例:

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

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

输出链接为空的用户名:

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

flash_messages

  1. flash_messages()

显示页面顶部弹条

参数:

用例:

显示当前页面的通知

  1. {{ web_macro.flash_messages() }}

bytesToSize

  1. bytesToSize(bytes)

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

参数:

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

用例:

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

  1. {{ web_macro.bytesToSize(size) }}

paginator

  1. paginator(paginator, class)

生成页面分页器

参数:

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

用例:

显示分页

  1. {{ paginator(paginator, 'text-center') }}

star

  1. star(score)

生成1-5星级模块

参数:

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

用例:

  1. {{ web_macro.star(number) }}

ajax_paginator

  1. ajax_paginator(paginator)

ajax加载页面的分页器

参数:

名称必需说明
paginator objectpaginator对象

用例:

生成ajax分页器

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

生成链接

参数:

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

用例:

生成链接

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