codaxis/cakephp-bootstrap3-helpers

CakePHP为Bootstrap 3框架提供的可高度配置的助手类。

1.2 2015-12-29 19:50 UTC

README

又一个Cake 2.x表单助手,但具有最小化编码和高度可配置性。

欢迎提交代码/文档贡献或提出问题。

Build Status

安装

  1. 使用composer运行 composer require codaxis/cakephp-bootstrap3-helpers:1.1 或将文件克隆/复制到 app/Plugin/Bs3Helpers

  2. 在您的bootstrap.php中包含插件,使用 CakePlugin::load('Bs3Helpers')CakePlugin::load('Bs3Helpers', array('bootstrap' => true)) 以加载默认的Bootstrap表单样式。

  3. 在您的 AppController 中加载助手。如果您想保留助手别名作为Form,请使用类名选项。

    // In AppController.php
    public $helpers = array('Bs3Helpers.Bs3Form');
    // or
    public $helpers = array('Form' => array('className' => 'Bs3Helpers.Bs3Form'));
  4. 在您的bootstrap.php中随意定义自定义表单样式

表单助手使用选项

BsFormHelper::create()自定义选项

  • formStyle => 自定义表单样式的快捷方式。例如:formStyle => inline 将在表单标签中添加 'form-inline' 类

  • submitDiv => 如果设置,将启用end()方法div选项并设置传递的div类。在全局或与定义的表单样式一起使用时很有用

Bs3FormHelper::input()默认基本选项

  • class => 'form-control'
  • div => array('class' => 'form-group')
  • label => array('class' => 'control-label')
  • error => array('attributes' => array('class' => 'help-block'))

Bs3FormHelper::input()自定义选项

  • beforeInput => 在输入之前拼接的HTML代码。
  • afterInput => 在输入之后拼接的HTML代码。
  • wrap => 如果设置,将使用传递的CSS类将表单输入包裹在div中。用于输入尺寸。
  • help => 显示在输入后的帮助文本。将在带有 .help-block 类的div中渲染。
  • errorClass => .form-group div的错误类。默认为 'has-error'。
  • errorsAlwaysAsList => 如果设置为true,则无论是否有多个错误,错误消息始终以列表形式渲染。确保UI一致性很有用。
  • feedback => 允许在文本输入中使用反馈图标,传递 fa-icon-nameglyphicon-icon-name 将渲染完整的 <i> 标签。
  • inputGroup => 支持以下参数的数组选项
    • size => 可以是 smlg
    • prepend: 预拼接的HTML代码。如果以 faglyphicon 开头,将解释为图标,并将渲染完整的图标标签。
    • append: 预拼接的HTML代码。如果以 faglyphicon 开头,将解释为图标,并将渲染完整的图标标签。
  • externalWrap => 如果设置,整个输入div(不考虑 .help-block)将包裹在另一个带有给定类的div中,防止在某些情况下不必要的缩小。解决了此问题 twbs/bootstrap#9694
  • checkboxLabel: 如果设置,将单选框包裹在 div.checkbox 中,并带有传递文本的 label
  • inline => 与复选框和单选按钮组一起使用,允许内联显示。

全局表单样式

全局表单样式可以在bootstrap.php中定义,并在create()方法中通过传递 formStyle 选项在任何地方使用。

内建的样式水平和内联包括定义如下

Configure::write('Bs3.Form.styles', array(
	'horizontal' => array(
		'formDefaults' => array(
			'submitDiv' => 'col-sm-10 col-sm-offset-2'
		),
		'inputDefaults' => array(
			'label' => array(
				'class' => 'col-sm-2 control-label'
			),
			'wrap' => 'col-sm-10',
		)
	),
	'inline' => array(
		'inputDefaults' => array(
			'label' => array(
				'class' => 'sr-only'
			),
		)
	)
));

HTML助手使用选项

待办事项

许可协议

MIT 许可协议下许可