axllent / silverstripe-bootstrap-forms
为 Silverstripe 表单添加 CSS 类的扩展,以便更好地与 Twitter Bootstrap 一起工作
Requires
- silverstripe/framework: ^4.0 || ^5.0
This package is auto-updated.
Last update: 2024-08-29 02:50:22 UTC
README
这是一个扩展,用于向 Silverstripe 表单添加 CSS 类以更好地与 Twitter Bootstrap 一起工作,主要通过向表单元素(输入、下拉、提交等)添加 form-control
Bootstrap CSS 类来实现。
这是一个即插即用型扩展,不需要您更改网站上现有的表单。这包括登录表单、密码重置表单以及您创建的任何其他表单。
它扩展了 FormField
以尝试提供对渲染表单字段的透明“操作”,向渲染的字段添加一些 Bootstrap CSS。它不会为您的表单生成 特定的 Bootstrap HTML。
FormField
很遗憾在 Field
中只有 $this->extend('onBeforeRender', $this);
,这允许操作字段本身,而不能操作父字段容器。这仅允许有限的可扩展性,并防止扩展更改字段容器。
表单提交按钮会添加 btn btn-primary
类,而任何其他按钮都会添加 btn btn-default
类。
由于表单的字段容器不能修改上述限制,因此表单仍需要一些额外的 CSS 样式(以设置间距)。
功能
为所有前端添加 form-control
CSS 类
- TextField(及其扩展类)
- TextAreaField
- DropdownField
它使用不同的字段模板渲染 CheckboxSetField & OptionsetField(请参阅 templates/Forms)。
它 不
- 修改字段容器(
onBeforeRender()
不允许这样做) - 支持 FieldGroup(您需要使用 CSS 来实现这一点)
- 将 Bootstrap 特定的 CSS 类应用于表单消息
需求
- Silverstripe ^4 || ^5
安装
通过 Composer 安装
您可以通过 composer 使用 composer require axllent/silverstripe-bootstrap-forms
来安装它
基本用法
只需安装(并刷新),添加复选框 CSS 即可。