paulredmond / chosen-cakephp
Chosen CakePHP 插件用于 CakePHP 2
Requires
- php: >=5.2.6
- composer/installers: 1.*
README
ChosenHelper 是一个类,用于将 HarvestHQ Chosen 选择框集成到 CakePHP 2 中。查看 HarvestHQ 的 演示 了解文档和用法。
变更日志
现在有一个 变更日志 Wiki 页面。请仔细阅读,以确保您不要过早升级。例如:最新版本(2.1.0)与 CakePHP 2.0.x 的向后兼容性已中断。
安装
Chosen CakePHP 2 插件支持 Composer 和 Packagist。下载 composer.phar 并将其放入您的路径后
Composer 会负责将插件安装到正确的位置。在 path/to/app
包含以下 composer.json
文件
{ "require": { "paulredmond/chosen-cakephp": "*" } }
使用合适的稳定版本进行插件。上面的 '*' 只是一个示例。
cd path/to/app
php composer.phar install
在 app/Config/bootstrap.php 中启动插件
<?php // ... CakePlugin::load('Chosen'); ?>
可选 webroot 符号链接
cd /path/to/app/webroot ln -s ../Plugin/Chosen/webroot chosen
设置
在 /app/Controller/AppController.php
<?php public $helpers = array( 'Chosen.Chosen', );
默认情况下,ChosenHelper 将与 jQuery 一起工作;但您可能想要使用 prototype 或自定义类
<?php public $helpers = array( 'Chosen.Chosen' => array( 'framework' => 'prototype', 'class' => 'chosen-custom', // Deselect-enabled class would be 'chosen-custom-deselect' ), );
现在所有通过 helper 渲染的类,或使用您配置的类进行配置的其他 <select>
输入都将被选中。
JQuery / Prototype
确保您正在以您想要的方式加载 JQuery (1.4+) 或 Prototype
<?php // One way in In default.ctp echo $this->Html->script('jquery'); // sets src to /js/jquery.js
- 注意:只有在至少调用一次 helper 的 select 方法时才会加载 Chosen CSS/JS 文件。
拉取请求
Chosen CakePHP 插件从 Github 社区获得了 贡献。我非常感谢这些建议、修复和改进。如果您想提交拉取请求,请遵循以下简单说明
- 2.1.x 版本的拉取请求应提交到
2.1
分支 - 如果受支持的
2.0
分支(针对 CakePHP 2.0.x)可以从您的拉取请求中受益,请考虑为该分支打开另一个拉取请求。 master
分支反映了最新的稳定版本。
测试
您可以从 app
文件夹运行 Chosen 的测试。了解更多关于 CakePHP 2 中的测试 的信息。
请确保您已通过composer或其他方式安装了此插件的供应商依赖项。
./Console/cake testsuite Chosen View/Helper/ChosenHelper
示例
Chosen输入与FormHelper::input()方法的行为相同。
多选
<?php echo $this->Chosen->select( 'Article.category_id', array(1 => 'Category 1', 2 => 'Category 2'), array('data-placeholder' => 'Pick categories...', 'multiple' => true) ); ?>
默认选中
<?php echo $this->Chosen->select( 'Article.category_id', array(1 => 'Category 1', 2 => 'Category 2'), array( 'data-placeholder' => 'Pick categories...', 'default' => 1, ) ); ?>
分组
<?php echo $this->Chosen->select( 'Profile.favorite_team', array( 'NFC East' => array( 'Dallas Cowboys', 'New York Giants', 'Philadelphia Eagles', 'Washington Redskins' ), 'NFC North' => array( 'Chicago Bears', 'Detroit Lions', 'Greenbay Packers', 'Minnesota Vikings' ), // .... ), array( 'data-placeholder' => 'Pick your favorite NFL team...', 'style' => 'width: 350px' ) ); ?>
单选时取消选中
<?php echo $this->Chosen->select( 'Profile.optional', $options, array('data-placeholder' => 'Please select...', 'deselect' => true), ); ?>
不要与取消选中一起使用 'empty' => '请选择...'
属性,而是使用 'data-placeholder' => '请选择...'
代替。
许可
版权所有2013保罗·雷德蒙德。这是免费软件,可以在LICENSE文件中指定的条款下重新分发。许可信息也可在线上找到。