macgyer / yii2-materializecss
为 Yii2 实现的 Materialize CSS
Requires
- php: ^7.4 || ^8.0
- npm-asset/materializecss--materialize: 1.2.2
- yiisoft/yii2: ~2.0.0
README
为 Yii2 实现的 Materialize
这是当前正在积极开发的 4.x 分支,实现了 Materialize 版本 1.1,因此破坏了向后兼容性。
此包将 Materialize CSS 框架集成到 Yii2。 Materialize 是一个基于 Material Design 的现代响应式前端框架。
查看 官方文档页面 以查看 repo 的实际效果(仅限 v4)。
当前实现的 Materialize 版本:1.2.0。
安装
首选的安装方式是通过 Composer。如果您没有 Composer,您可以从这里获取: https://getcomposer.org.cn/
您还应该在 repositories
部分引用 Asset Packagist,以处理 NPM 和 Bower 资产
"repositories": [ { "type": "composer", "url": "https://asset-packagist.org" } ]
要安装包,请在您的 composer.json 的 require
部分添加以下内容
"require": { "macgyer/yii2-materializecss": "^4.0" },
使用方法
要加载 Materialize CSS 文件,将 MaterializeAsset 集成到您的应用程序中。有两种方法可以实现这一点:在主布局中注册资产或将资产作为依赖项添加到您的 AppAsset.php 中
// @app/views/layouts/main.php \macgyer\yii2materializecss\assets\MaterializeAsset::register($this); // further code
或
// @app/assets/AppAsset.php public $depends = [ 'macgyer\yii2materializecss\assets\MaterializeAsset', // more dependencies ];
Material Icons
为了与 GDPR (EU) 兼容,MaterializeFontAsset 不会自动通过 MaterializeAsset 加载。字体资产从 Google 服务器请求 Material Icon 字体(如 Materialize 文档中所述)。
如果您 不受 GDPR 影响,只需在布局或 AppAsset 中加载 MaterializeFontAsset 即可。
否则,您需要自行托管 Material Icon 字体(即不要从 Google 请求它们)。您可以使用 material-icons
(https://npmjs.net.cn/package/material-icons) 从 NPM 加载字体文件、CSS 和 SCSS,并在构建过程中包含它们。
SCSS
通过 SCSS 自定义 Materialize 很简单。将 Materialize SCSS 集成到您自己的 SCSS 文件中,并构建自己的版本。不要使用 MaterializeAsset,因为它加载了 Materialize 提供的预构建 CSS。
小部件
目前有以下小部件可用
- ActiveField
- ActiveForm
- Alert
- Breadcrumbs
- Button
- Carousel
- ChipInput
- Collapsible
- DatePicker
- DetailView
- Dropdown
- FloatingActionButton
- 带有 ActionColumn 的 GridView
- Icon
- LinkPager
- MaterialBox
- Modal
- Nav
- NavBar
- Parallax
- Progress
- RangeInput
- Select
- SideNav
- Slider
- Spinner
- StaticChip
- SubmitButton
- SwitchButton
- TimePicker
Gii 支持
如果您正在使用 Gii 创建 CRUD 控制器和视图文件,您可以通过集成适应的 Gii 模板来获取 materialized 视图文件。
// @app/config/main-local.php $config['modules']['gii'] = [ 'class' => 'yii\gii\Module', 'allowedIPs' => ['127.0.0.1', '::1', '192.168.0.*', '192.168.178.20'], 'generators' => [ 'crud' => [ 'class' => 'yii\gii\generators\crud\Generator', 'templates' => [ // setting materializecss templates 'materializecss' => '@vendor/macgyer/yii2-materializecss/src/gii-templates/generators/crud/materializecss', ] ] ], ];
您可以将这些模板复制到任何您希望的位置进行进一步自定义。确保根据您的配置相应地调整路径。
已知问题
在正常参数下运行的系统 :)
示例布局
软件包中包含一个示例布局文件。您可以使用此文件来获取自己布局的灵感,或者用提供的文件替换相应的 views/layouts/main.php
。
您可以在 src/layout/main.php
中找到示例布局文件。
变更日志
4.1.1 - 2023-03-25
- 更新到 Materialize v1.2.2
- 添加了滑块属性
pauseOnHover
和pauseOnFocus
4.1.0 - 2022-12-10
- 更新到 Materialize v1.2.0
4.0.0 - 2022-11-27
- 实现 Materialize v1.1.0(社区分支 https://materializecss.github.io/materialize/)
- PHP 8 支持
- 使用 NPM 代替 Bower
- 使用常量来配置 图标
- 包含重大变更:
- MaterializeFontAsset 不自动加载
3.0.0 - 2018-11-16
- 实现 Materialize v1.0.0
- 包含重大变更
2.0.0 - 2017-07-30
- 请注意:此版本包含重大变更
- 将 面包屑、下拉菜单、固定操作按钮、导航、导航栏 和 侧边导航 移至专用命名空间(重大变更)
- 弃用 chingyawhao/materialize-clockpicker,转而使用 Materialize 原生时间选择器实现(重大变更)
- 添加 可折叠
- 更新 Materialize 到 v0.100.1
1.5.0 - 2017-07-03
1.4.0 - 2017-06-05
- 添加 范围输入
- 更新 Materialize 到 v0.98.2
- 添加了一些缺失的 PHPDoc 注释
1.3.0 - 2017-03-02
1.2.1 - 2017-02-05
- 选择:添加了 multiple 属性
- 将 Yii 的 Composer 依赖限制为 ~2.0.0
- 将 PHP 的 Composer 依赖设置为 >= 5.6.0
1.2.0 - 2017-02-01
- 更新 Materialize 到 v0.98.0
- 添加 选择
- ActiveField:添加了 dropDownList()
- ActiveField:将 characterCounter() 更改为与 Materialize v0.98.0 兼容
- Modal:固定模态插件调用
- FixedActionButton:增加了工具栏支持
1.1.0 - 2017-01-05
- 增加了侧边导航
- Nav:增加了侧边导航支持
- NavBar:将移动切换按钮移动到Nav
- ActiveField:增加了Materialize自动完成支持
- ActiveField:增加了Materialize字符计数支持
- ActiveField:复选框和单选框默认不包含在标签内
1.0.9 - 2016-09-01
- 增加了时间选择器
1.0.8 - 2016-08-08
- 按钮:修复了标签渲染问题
- 开关按钮:修复了未选中属性
- Alert:增加了
默认
上下文类 - 按钮:增加了
type
属性 - 按钮:增加了
large
属性 - 按钮:增加了
disabled
属性 - Spinner:增加了
size
属性 - Spinner:增加了
color
属性 - 开关按钮:增加了对图标/HTML标签的支持
- 增加了提交按钮
1.0.7 - 2016-07-27
- 完整源代码文档
- 将Materialize版本固定为0.97.6,以便在集成之前监控0.97.7的发布
1.0.6 - 2016-05-16
- 增加了示例布局
- 修复了行分隔符问题
- 从“已知问题”部分移除了日期选择器问题
1.0.5 - 2016-04-24
- 更新README以包含修复的日期选择器问题
- 重构了面包屑
1.0.3 - 2016-03-10
- 修复了重复使用MaterializeWidgetTrait产生的错误
- 更新了NavBar中的PHPDoc
1.0.2 - 2016-03-09
1.0.1 - 2016-03-09
- 更新了README
- 增加了Packagist支持
1.0.0 - 2016-03-09
- 首次发布