syntro / silverstripe-bootstrap-forms
Silverstripe 模块,用于在前端添加表单字段
1.0.4
2024-02-03 13:47 UTC
Requires
- php: ^7.4.0 || ^8
- giggsey/libphonenumber-for-php: ^8.0
- silverstripe/cms: ^4 || ^5
- silverstripe/framework: ^4 || ^5
Requires (Dev)
This package is auto-updated.
Last update: 2024-09-10 04:25:14 UTC
README
Silverstripe 模块,简化在前端添加 Bootstrap 表单的过程。
简介
使用 Silverstripe 提供的表单字段创建与 Bootstrap CSS 框架兼容的表单并不容易。Silverstripe 内部使用的表单字段最初并不是为了用作前端字段,这意味着该框架对如何在管理界面中渲染这些字段以及强加这些标准给前端字段有着强烈的观点。然而,这些标准与 Bootstrap,尤其是 Bootstrap v5,兼容性不佳。
为了解决这个问题,本模块引入了一套新的字段,它们的行为与原始字段相似,但以 Bootstrap 兼容的方式渲染。它们还添加了一个单独的 holderClasses
属性,允许通过间距类轻松格式化表单。
安装
要安装此模块,请运行以下命令
composer require syntro/silverstripe-bootstrap-forms
用法
快速入门
目前可用的字段如下
use Syntro\SilverstripeBootstrapForms\Forms\CheckboxField; use Syntro\SilverstripeBootstrapForms\Forms\CheckboxSetField; use Syntro\SilverstripeBootstrapForms\Forms\DropdownField; use Syntro\SilverstripeBootstrapForms\Forms\EmailField; use Syntro\SilverstripeBootstrapForms\Forms\OptionsetField; use Syntro\SilverstripeBootstrapForms\Forms\TextareaField; use Syntro\SilverstripeBootstrapForms\Forms\TextField; // does not have the HolderClass trait use Syntro\SilverstripeBootstrapForms\Forms\FieldGroup;
所有字段都有额外的一组方法,类似于 extraClass
方法
holderClass()
setupDefaultHolderClasses()
hasHolderClass($class)
addHolderClass($class)
removeHolderClass($class)
它们的行为与它们的 xxxExtraClass
对应物完全相同,但它们控制外层(holder)div 上的类。
示例
要创建一个看起来好的多列表单,只需添加正确的类
FieldGroup::create( TextField::create('Name', 'Your Name')->addHolderClass('col'), EmailField::create('Email', 'Email')->addHolderClass('col'), DropdownField::create( 'choose', 'Choose an option', [ 'yes' => 'Yes', 'no' => 'No' ] )->addHolderClass('col'), )->addExtraClass('row row-cols-1 row-cols-md-3'),
文档
暂无文档
贡献
有关更多信息,请参阅 CONTRIBUTION.md。