simkimsia / forked-chosen-cakephp
为 CakePHP 2 定制的 Forked Chosen 插件
Requires
- php: >=5.2.6
- composer/installers: 1.*
This package is not auto-updated.
Last update: 2024-09-23 15:38:38 UTC
README
ChosenHelper 是一个用于在 CakePHP 2 中集成 HarvestHQ Chosen 选择框的类。查看 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' ), );
现在,所有使用助手渲染的类,或配置了您的类的其他 <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
- 注意:只有在至少调用一次助手选择方法时,才会加载 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' ) ); ?>
单选不选
<?= $this->Chosen->select( 'Profile.optional', $options, array('data-placeholder' => 'Please select...', 'deselect' => true), ); ?>
不要使用 'empty' => '请选择...' 属性与取消选择一起使用,而是使用 'data-placeholder' => '请选择...' 代替。
许可
版权所有 2013 Paul Redmond。这是免费软件,可以按照 LICENSE 文件中指定的条款重新分发。许可协议也可在 网上 获取。