tomjamon/laravel-custom-html

为 Laravel 定制的 HTML 生成器(基于 LaravelCollective HTML)

v9.0.0 2023-05-25 06:59 UTC

README

Laravel Custom Html

Total Downloads Latest Stable Version Latest Unstable Version License

Laravel Custom HTML

基于 HTML 和表单构建器,来自 Laravelcollective

本库提供

  • 14 个可发布组件
  • 2 种主题(TailwindCSSBootstrap)。
  • 一个新的组件 "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'
]) !!}

Input Medium

选择

{!! 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() !!}

Login Form