paulredmond/chosen-cakephp

此包已被废弃且不再维护。未建议替代包。

Chosen CakePHP 插件用于 CakePHP 2

安装数: 8,858

依赖者: 0

建议者: 0

安全: 0

星标: 72

关注者: 6

分支: 17

开放问题: 1

语言:JavaScript

类型:cakephp-plugin

2.2.0 2015-01-09 05:36 UTC

README

ChosenHelper 是一个类,用于将 HarvestHQ Chosen 选择框集成到 CakePHP 2 中。查看 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'
    ),
);

现在所有通过 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文件中指定的条款下重新分发。许可信息也可在线上找到。