vb.org Archive

vb.org Archive (https://vborg.vbsupport.ru/index.php)
-   vB4 Programming Discussions (https://vborg.vbsupport.ru/forumdisplay.php?f=252)
-   -   ckeditor customization (https://vborg.vbsupport.ru/showthread.php?t=271562)

fromtheflames 10-07-2011 08:10 AM

ckeditor customization
 
Hi,

I want to share how to make customization to ckeditor.

Before upgrade to 417, I'd made some modification to ckeditor toolbar adding the templates button (in /vb/ckeditor.php) and modifying the default templates (in /clientscript/ckeditor/plugins/templates/templates/default.js).

After the upgrade, all went wiped out (files overwritten by default files).

So today, I looked to found a new way for retain customization to ckeditor: is as easy as adding a new plugin, using the hook editor_toolbar_set, with code like this:

PHP Code:

$newButton = array('Templates');
$this->config['toolbar'][] = $newButton;
$newTemplateConfig = array('/clientscript/ckeditor/plugins/templates/templates/custom.js');
$this->config['templates_files'][] = $newTemplateConfig

That's all!
Hopes it can help some of you...

shyguy82 10-24-2011 05:37 PM

Thanks for sharing your find. Can you be so kind and post a little step by step on how to add a new button to the CKEditor's toolbar? I've looked at the CKEditor's documentation and it seems pretty straight forward but after looking at vB's implementation of CKEditor, I realized that the file structure in vB is different than in CKEditor core.

Thanks in advance.

Disasterpiece 10-31-2011 03:02 PM

I see how this works with the template js files and such, but it seems a bit too overkill to create a button which only wraps a tag like the code tag for example...

Isn't there an easier way to accomplish this?

fromtheflames 11-03-2011 01:02 PM

overkill yes, but the first (and perhaps the only) that I was able to think; any new suggestion is welcome

step by step? uh let's try
1) go to "plugins and products" in your admincp
2) at the bottom, click "add new plugin"
3) select "vbulletin" as product, "editor_toolbar_set" as hook, pick a descriptive name as title, leave execution order as is, and add the following as php code
PHP Code:

$newButton = array('Templates'); 
$this->config['toolbar'][] = $newButton

I used 'Templades' in the newButton array because I want that button, but you might replace it with the button you need.

shyguy82 11-09-2011 05:36 PM

fromtheflames, thank you very much. This is a great start. Now the only questions I have left is:

1. what javascript file do I use to add my client-side code?
2. How do I access CKEditor object in javascript to write back to the text editor?

Thank you very much


All times are GMT. The time now is 06:51 PM.

Powered by vBulletin® Version 3.8.12 by vBS
Copyright ©2000 - 2025, vBulletin Solutions Inc.

X vBulletin 3.8.12 by vBS Debug Information
  • Page Generation 0.00934 seconds
  • Memory Usage 1,720KB
  • Queries Executed 10 (?)
More Information
Template Usage:
  • (1)ad_footer_end
  • (1)ad_footer_start
  • (1)ad_header_end
  • (1)ad_header_logo
  • (1)ad_navbar_below
  • (2)bbcode_php_printable
  • (1)footer
  • (1)gobutton
  • (1)header
  • (1)headinclude
  • (6)option
  • (1)post_thanks_navbar_search
  • (1)printthread
  • (5)printthreadbit
  • (1)spacer_close
  • (1)spacer_open 

Phrase Groups Available:
  • global
  • postbit
  • showthread
Included Files:
  • ./printthread.php
  • ./global.php
  • ./includes/init.php
  • ./includes/class_core.php
  • ./includes/config.php
  • ./includes/functions.php
  • ./includes/class_hook.php
  • ./includes/modsystem_functions.php
  • ./includes/class_bbcode_alt.php
  • ./includes/class_bbcode.php
  • ./includes/functions_bigthree.php 

Hooks Called:
  • init_startup
  • init_startup_session_setup_start
  • init_startup_session_setup_complete
  • cache_permissions
  • fetch_threadinfo_query
  • fetch_threadinfo
  • fetch_foruminfo
  • style_fetch
  • cache_templates
  • global_start
  • parse_templates
  • global_setup_complete
  • printthread_start
  • bbcode_fetch_tags
  • bbcode_create
  • bbcode_parse_start
  • bbcode_parse_complete_precache
  • bbcode_parse_complete
  • printthread_post
  • printthread_complete