macgyer/yii2-materializecss

为 Yii2 实现的 Materialize CSS

安装数: 41,744

依赖者: 0

推荐者: 0

安全: 0

星标: 91

关注者: 15

分支: 29

开放问题: 0

类型:yii2-extension

4.1.1 2023-03-25 18:09 UTC

README

license Github Release Packagist

为 Yii2 实现的 Materialize

这是当前正在积极开发的 4.x 分支,实现了 Materialize 版本 1.1,因此破坏了向后兼容性。

转到 1.x 版本

转到 2.x 版本

转到 3.x 版本

此包将 Materialize CSS 框架集成到 Yii2Materialize 是一个基于 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
  • 添加了滑块属性 pauseOnHoverpauseOnFocus

4.1.0 - 2022-12-10

  • 更新到 Materialize v1.2.0

4.0.0 - 2022-11-27

3.0.0 - 2018-11-16

  • 实现 Materialize v1.0.0
  • 包含重大变更

2.0.0 - 2017-07-30

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

1.1.0 - 2017-01-05

1.0.9 - 2016-09-01

1.0.8 - 2016-08-08

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

1.0.2 - 2016-03-09

1.0.1 - 2016-03-09

  • 更新了README
  • 增加了Packagist支持

1.0.0 - 2016-03-09

  • 首次发布