kba-team/cakephp-filter-plugin

Filter is a CakePHP plugin which enables you to create filtering forms for your data in a very fast and simple way, without getting in the way of paging, sorting and other "standard" things when displaying data. It also remembers the filter conditions in a session, but this can be turned off if unde

v2.1.0 2024-07-03 10:57 UTC

This package is auto-updated.

Last update: 2024-10-21 10:46:57 UTC


README

About

Filter is a CakePHP plugin which enables you to create filtering forms for your data in a very fast and simple way, without getting in the way of paging, sorting and other "standard" things when displaying data. It also remembers the filter conditions in a session, but this can be turned off if undesirable.

It also features callback methods for further search refinement where necessary.

IMPORTANT: These instructions are for CakePHP 2.0. If you're using CakePHP 1.3.x the correct path to unload the plugin is app/plugins/filter/. More importantly, if you're using CakePHP 1.3.x you should use the 1.3.x version of this plugin, not the latest version from GitHub.

Usage

First, obtain the plugin. If you're using Git, run this while in your app folder:

composer require kba-team/cakephp-filter-plugin

To use the plugin, you need to tell it which model to filter and which fields to use. For a quick tutorial, visit https://github.com/lecterror/cakephp-filter-plugin/wiki/Basic-usage

If you need more than this plugin provides by default, there are ways to customize it, see this article: https://github.com/lecterror/cakephp-filter-plugin/wiki/Advanced-usage

In order to generate GET forms add 'type' => 'GET' to the filterForm() or beginForm() options array.

Testing

To run PHPUnit tests:

Test/phpunit.sh <args>

Execute shell for manual testing

docker pull devkba/cake2-app-template:staging
docker run \
    --rm \
    --init \
    -it \
    -v "$(pwd)":/cakephp-filter-plugin \
    -e DEBUG=0 \
    -e BEFORE_SCRIPT="/cakephp-filter-plugin/Test/before_script.sh" \
    -e AFTER_SCRIPT="/cakephp-filter-plugin/Test/after_script.sh" \
    devkba/cake2-app-template:staging

Contributing

If you'd like to contribute, clone the source on GitHub, make your changes and send me a pull request. If you don't know how to fix the issue, or you're too lazy to do it, create a ticket, and we'll see what happens next.

Important: If you're sending a patch, follow the coding style! If you don't, there is a great chance I won't accept it. For example:

// bad
public function drink() {
    return false;
}
// good
public function drink()
{
    return true;
}

Licence

Multi-licensed under: