Go Back   vb.org Archive > vBulletin 4 Discussion > vB4 Programming Discussions
  #1  
Old 10-07-2011, 08:10 AM
fromtheflames fromtheflames is offline
 
Join Date: Dec 2009
Posts: 18
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default 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...
Reply With Quote
2 благодарности(ей) от:
AusPhotography, shyguy82
  #2  
Old 10-24-2011, 05:37 PM
shyguy82 shyguy82 is offline
 
Join Date: Feb 2010
Posts: 32
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

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.
Reply With Quote
  #3  
Old 10-31-2011, 03:02 PM
Disasterpiece's Avatar
Disasterpiece Disasterpiece is offline
 
Join Date: Apr 2007
Location: GER
Posts: 765
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

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?
Reply With Quote
  #4  
Old 11-03-2011, 01:02 PM
fromtheflames fromtheflames is offline
 
Join Date: Dec 2009
Posts: 18
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

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.
Reply With Quote
  #5  
Old 11-09-2011, 05:36 PM
shyguy82 shyguy82 is offline
 
Join Date: Feb 2010
Posts: 32
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

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
Reply With Quote
Reply

Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump


All times are GMT. The time now is 02:55 AM.


Powered by vBulletin® Version 3.8.12 by vBS
Copyright ©2000 - 2024, vBulletin Solutions Inc.
X vBulletin 3.8.12 by vBS Debug Information
  • Page Generation 0.03874 seconds
  • Memory Usage 2,191KB
  • Queries Executed 11 (?)
More Information
Template Usage:
  • (1)SHOWTHREAD
  • (1)ad_footer_end
  • (1)ad_footer_start
  • (1)ad_header_end
  • (1)ad_header_logo
  • (1)ad_navbar_below
  • (1)ad_showthread_beforeqr
  • (1)ad_showthread_firstpost
  • (1)ad_showthread_firstpost_sig
  • (1)ad_showthread_firstpost_start
  • (2)bbcode_php
  • (1)footer
  • (1)forumjump
  • (1)forumrules
  • (1)gobutton
  • (1)header
  • (1)headinclude
  • (1)navbar
  • (3)navbar_link
  • (120)option
  • (5)post_thanks_box
  • (2)post_thanks_box_bit
  • (5)post_thanks_button
  • (1)post_thanks_javascript
  • (1)post_thanks_navbar_search
  • (1)post_thanks_postbit
  • (5)post_thanks_postbit_info
  • (5)postbit
  • (5)postbit_onlinestatus
  • (5)postbit_wrapper
  • (1)spacer_close
  • (1)spacer_open
  • (1)tagbit_wrapper 

Phrase Groups Available:
  • global
  • inlinemod
  • postbit
  • posting
  • reputationlevel
  • showthread
Included Files:
  • ./showthread.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/functions_bigthree.php
  • ./includes/class_postbit.php
  • ./includes/class_bbcode.php
  • ./includes/functions_reputation.php
  • ./includes/functions_post_thanks.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
  • showthread_start
  • showthread_getinfo
  • forumjump
  • showthread_post_start
  • showthread_query_postids
  • showthread_query
  • bbcode_fetch_tags
  • bbcode_create
  • showthread_postbit_create
  • postbit_factory
  • postbit_display_start
  • post_thanks_function_post_thanks_off_start
  • post_thanks_function_post_thanks_off_end
  • post_thanks_function_fetch_thanks_start
  • fetch_musername
  • post_thanks_function_fetch_thanks_end
  • post_thanks_function_thanked_already_start
  • post_thanks_function_thanked_already_end
  • post_thanks_function_fetch_thanks_bit_start
  • post_thanks_function_show_thanks_date_start
  • post_thanks_function_show_thanks_date_end
  • post_thanks_function_fetch_thanks_bit_end
  • post_thanks_function_fetch_post_thanks_template_start
  • post_thanks_function_fetch_post_thanks_template_end
  • postbit_imicons
  • bbcode_parse_start
  • bbcode_parse_complete_precache
  • bbcode_parse_complete
  • postbit_display_complete
  • post_thanks_function_can_thank_this_post_start
  • tag_fetchbit_complete
  • forumrules
  • navbits
  • navbits_complete
  • showthread_complete