simkimsia/forked-chosen-cakephp

为 CakePHP 2 定制的 Forked Chosen 插件

安装: 28

依赖: 0

建议者: 0

安全: 0

星标: 0

关注者: 3

分支: 15

语言:JavaScript

类型:cakephp-plugin

2.1.4 2013-05-11 22:25 UTC

README

ChosenHelper 是一个用于在 CakePHP 2 中集成 HarvestHQ Chosen 选择框的类。查看 HarvestHQ 的 演示 以获取文档和用法。

Build Status

变更日志

现在有一个 变更日志 Wiki 页面 可用。仔细查看以确保您不会提前升级。例如:最新版本(2.1.0)与 CakePHP 2.0.x 不兼容。

安装

Chosen CakePHP 2 插件支持 ComposerPackagist。在您下载 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 文件中指定的条款重新分发。许可协议也可在 网上 获取。