tomjamon / laravel-custom-html
为 Laravel 定制的 HTML 生成器(基于 LaravelCollective HTML)
Requires
- php: >=7.2.5
- illuminate/http: ^8.0|^9.0
- illuminate/routing: ^8.0|^9.0
- illuminate/session: ^8.0|^9.0
- illuminate/support: ^8.0|^9.0
- illuminate/view: ^8.0|^9.0
Requires (Dev)
- illuminate/database: ^6.0|^7.0|^8.0|^9.0
- mockery/mockery: ~1.0
- phpunit/phpunit: ~10.1
README
Laravel Custom HTML
基于 HTML 和表单构建器,来自 Laravelcollective
本库提供
- 14 个可发布组件
- 2 种主题(TailwindCSS 和 Bootstrap)。
- 一个新的组件 "control()" 允许您在单个调用中拥有输入、标签和错误消息。
安装此库的最简单方法是直接用此工具替换 LC/HTML。
安装
只需从您项目的根目录运行此命令
composer require tomjamon/laravel-custom-html
自定义组件
如果您想使用主题或自定义视图
发布供应商视图: php artisan vendor:publish
选择: Provider: TomJamon\Html\HtmlServiceProvider
将创建一个包含所有组件的新文件夹 resources/views/vendor/customhtml
。
您现在可以更改每个组件的类和内容。
主题
如果您想使用主题,可以在 config/customhtml.php 中自定义它
请注意:创建 TailwindCSS 主题与 Tailwind 的设计目的相反。请自定义主题,主题只是提供一点帮助,每个组件的示例。
组件列表
- 按钮
- 复选框
- 关闭
- control
- datalist
- 表单
- 输入
- 标签
- 链接
- optgroup
- option
- 选择
- 提交
- 文本区域
- 文件
无自动发现
从 Laravel 5.5 开始,Taylor Otwell 引入了自动发现系统。您不再需要在 app.php 中放置提供者和别名,但如果您尚未启用自动发现
编辑您的 config/app.php
并添加以下行
提供者
TomJamon\Html\HtmlServiceProvider::class,
别名
'Form' => TomJamon\Html\FormFacade::class, 'Html' => TomJamon\Html\HtmlFacade::class,
示例
Laravel Custom HTML 中的登录和注册项目
https://github.com/TiDJ/laravel-custom-html-example
命令: Composer install && npm run prod && php artisan serve
提示:只需更改 config/customhtml.php
并运行 php artisan optimize
简单的文本输入
{!! Form::control('text', 'name', $errors, [ 'label' => 'Nom Prenom', 'placeholder' => 'John Doe', 'md' => '1/2' ]) !!}
选择
{!! Form::control('select', 'type', $errors, [ 'label' => 'Type', 'message' => 'Choose wisely the type of object', 'data' => [ 'one' => 'First choice', 'two' => 'Second choice', 'three' => 'Third choice' ] ]) !!}
带有覆盖行数的文本区域(第二个数组参数)
{!! Form::control('textarea', 'content', $errors, [ 'label' => 'Content', 'placeholder' => 'Post content', ], [ 'rows' => '25' ]) !!}
输入文件
使用 control 调用,为您生成标签和父块
{!! Form::control('file', 'thumbnail', $errors, [ 'label' => 'Your thumbnail', ]) !!}
或者您可以直接插入输入文件
{!! Form::file('thumbnail') !!}
不要忘了在 Form::model() 或 Form::open() 中设置 'files' => true
为什么使用:清晰和简洁
以下是表单的外观
登录表单
{!! Form::open(['route' => 'login']) !!} {!! Form::control('text', 'email', $errors, [...], [...]) !!} {!! Form::control('password', 'password', $errors, [...]) !!} {!! Form::control('checkbox', 'remember', $errors, [...], [...]) !!} {!! Form::submit('Sign in') !!} {!! Form::close() !!}