leoruhland/cakephp-fieldtypes

FieldTypes plugin for CakePHP. CakeAdmin compatible.

Installs: 489

Dependents: 0

Suggesters: 0

Security: 0

Stars: 2

Watchers: 2

Forks: 2

Open Issues: 0

Type:cakephp-plugin

dev-master 2016-07-05 11:25 UTC

This package is not auto-updated.

Last update: 2024-05-11 16:18:04 UTC


README

Note: This is a non-stable plugin for CakePHP 3.x at this time. It is currently under development and should be considered experimental.

Installation

You can install this plugin into your CakePHP application using composer.

The recommended way to install composer packages is:

composer require leoruhland/cakephp-fieldtypes

Now load the plugin with the command:

bin/cake plugin load -r -b FieldTypes

Usage

You can use the FieldTypes extending core FormHelper with BootstrapUI.Form then setting the widgets you want to use.

$this->loadHelper('Form', [
    'className' => 'BootstrapUI.Form',
    'widgets' => [
        //Date
        'flatpickr' => ['FieldTypes\View\Widget\FlatpickrWidget', '_view'],
        'bootstrap-datepicker' => ['FieldTypes\View\Widget\BootstrapDatepickerWidget', '_view'],
        'bootstrap-datetimepicker' => ['FieldTypes\View\Widget\BootstrapDatetimepickerWidget', '_view'],

        //Color
        'bootstrap-colorpicker' => ['FieldTypes\View\Widget\BootstrapColorpickerWidget', '_view'],

        //Number
        'bootstrap-touchspin' => ['FieldTypes\View\Widget\BootstrapTouchspinWidget', '_view'],

        //Boolean
        'bootstrap-switch' => ['FieldTypes\View\Widget\BootstrapSwitchWidget', '_view'],

        //Content
        'summernote' => ['FieldTypes\View\Widget\SummernoteWidget', '_view'],
        'wysiwygjs' => ['FieldTypes\View\Widget\WysiwygjsWidget', '_view'],

        //Select
        'bootstrap-select' => ['FieldTypes\View\Widget\BootstrapSelectWidget', '_view'],
        'select2' => ['FieldTypes\View\Widget\Select2Widget', '_view'],

        //Other
        'stringtoslug' => ['FieldTypes\View\Widget\StringToSlugWidget', '_view'],
        'textcount' => ['FieldTypes\View\Widget\TextCounterWidget', '_view'],
    ]
]);

You can override default widgets too.

$this->loadHelper('Form', [
    'className' => 'BootstrapUI.Form',
    'widgets' => [
        'date' => ['FieldTypes\View\Widget\FlatpickrWidget', '_view'],
        'select' => ['FieldTypes\View\Widget\Select2Widget', '_view']
    ]
]);

And then, using it:

$this->Form->input('some_field', ['type' => 'summernote']);

It also works nice with CakeAdmin formFields.

public function postType() {
	return [
		'formFields' => [
			'some_field' => [
				'type' => 'summernote',
			],
		]
	];
};

Types

Select2 - GitHub

'type' => 'select2'

select2

'type' => 'select2', 'multiple' => true

select2

Summernote - GitHub

'type' => 'summernote'

summernote

Bootstrap Datepicker - GitHub

'type' => 'datepicker'

datepicker

Bootstrap Colorpicker - GitHub

'type' => 'colorpicker'

colorpicker

Bootstrap TouchSpin - GitHub

'type' => 'touchspin'

touchspin

Bootstrap Toggle - GitHub

'type' => 'toggle'

toggle

CakeAdmin

The plugin is CakeAdmin compatible!