ebarrosjr / ckeditor
CkEditor plugin for CakePHP 3.x with version selection
Installs: 153
Dependents: 0
Suggesters: 0
Security: 0
Stars: 1
Watchers: 1
Forks: 0
Open Issues: 0
Type:cakephp-plugin
Requires
- php: >=5.5.9
- cakephp/cakephp: >=3.3.2 <4.0.0
Requires (Dev)
This package is auto-updated.
Last update: 2025-04-24 01:48:39 UTC
README
Installation
You can install this plugin into your CakePHP application using composer. This is a personal version of: https://github.com/CakeCoded/CkEditor with the possibility of choose the version and distribution.
The recommended way to install composer packages is:
composer require ebarrosjr/ckeditor
Then in config/bootstrap.php add:
Plugin::load('CkEditor');
In either src/Controller/AppController.php, or any controller where you want to use CKEditor, add:
public $helpers = ['CkEditor.Ck' => [ 'distribution' => 'full', // Default Option :: Others options => 'basic', 'standard' 'version' => '4.11.4', //Default option, others via CDN page 'script' => null // You can now point to a custom ckeditor JS file ]];
Finally, in your template file, simply add this to call CKEditor:
echo $this->Ck->input('field_name');
This is the equilivant of using
echo $this->Form->input('field_name');
Except that CKEditor will be loaded instead of a text area!
Advanced Options
You can make adjustments to CKEditor and the form input as needed. There is full flexibility in this regard.
The full explaination is as follows:
echo $this->Form->input($input, $options, $ckEditorOptions, $ckEditorUrl);
@param string $input
The name of the field, can be field_name or model.field_name
@param array $options
Options include $options['label'] for a custom label and any other custom Form Helper options
@param array $ckEditorOptions
This will pass any options from http://docs.ckeditor.com/#!/guide/dev_configuration to CKEditor
@param string $ckEditorUrl
This gives an option to overwrite the CKEditor URL. You can use a local URL then if required.
Examples
Use an associated field name
echo $this->Ck->input('category.description');
Generate a custom label
echo $this->Ck->input('field_name', ['label' => 'A unique label']);
Add options to CKEditor from http://docs.ckeditor.com/#!/guide/dev_configuration
echo $this->Ck->input('field_name', [], ['fullPage' => true, 'allowedContent' => 'true']);
Load a local version of CKEditor, or a different version
echo $this->Ck->input('field_name', [], [], '/js/ckeditor.js');
Example showing all the options together
echo $this->Ck->input('field_name', ['label' => 'A unique label'], ['fullPage' => true, 'allowedContent' => 'true'], '/js/ckeditor.js');