Skip to content

CakeCoded/CkEditor

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

41 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

CKEditor plugin for CakePHP

Installation

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

The recommended way to install composer packages is:

composer require cakecoded/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'];

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, $ckEditorPlugins);
@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.

@param array $ckEditorPlugins

An array of locally installed CKEditor plugins to include, as one sub-array per plugin, in the format specified in the CKEditor documentation at https://docs.ckeditor.com/ckeditor4/latest/api/CKEDITOR_plugins.html#addExternal.

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');

Load a locally installed CKEditor plugin

echo $this->Ck->input('field_name', [], [], null, [['myplugin', '/ckplugins/myplugin/', 'myplugin.js']]);

Example showing all the options together

echo $this->Ck->input('field_name', ['label' => 'A unique label'], ['fullPage' => true, 'allowedContent' => 'true'], '/js/ckeditor.js', [['myplugin', '/ckplugins/myplugin/', 'myplugin.js']]);

About

CKEditor Helper for CakePHP 3.x

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Contributors 4

  •  
  •  
  •  
  •  

Languages