Go Back   vb.org Archive > vBulletin 4 Discussion > vB4 General Discussions
FAQ Community Calendar Today's Posts Search

Reply
 
Thread Tools Display Modes
  #1  
Old 02-25-2013, 09:56 AM
mathforum mathforum is offline
 
Join Date: Nov 2005
Posts: 165
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default Change order of toolbar buttons

I have read everything possible on this topic before it seems as if this has been asked and answered. There are a couple of proposed methods to add/delete buttons but nothing confirmed about moving their positions that has been explicitly defined each step of the way and confirmed by someone, at least not that I found after 2-3 hours.

I'm adding custom BB code and these buttons all end up on the last row, bottom-right. Some of these are directly related to other groups of buttons and should be there. Let's say for example I make a custom BB code for center-justified formatting. I fill out everything correctly, upload the image and it's working fine except for its location.

How can I move it to another area of the toolbar?
Reply With Quote
  #2  
Old 02-25-2013, 02:32 PM
kh99 kh99 is offline
 
Join Date: Aug 2009
Location: Maine
Posts: 13,185
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

You need a plugin to do that. In file vb/ckeditor.php there's a function called setToolbar() that builds an array describing the buttons on the toolbar. At hook location editor_toolbar_set, the array is in $this->config['toolbar'] and you can change it however you want.

Since you asked for instructions every step of the way I went ahead and wrote somehting to move a button. To use this you create a new plugin using hook editor_toolbar_set and this code:

Code:
$insert_after = 'JustifyLeft'; // change this if you want it somewhere other than after JustifyRight
$move_button = 'justify'; // change this to 'title' of your bbcode

foreach ($this->config['toolbar'] AS &$row)
{
   if (!is_array($row))
      continue;
   if (in_array($insert_after, $row))
      $insert_row = &$row;
   if (in_array($move_button, $row))
      $remove_row = &$row;
}
if ($insert_row AND $remove_row)
{
   $offset = 0;
   foreach($insert_row AS $val)
   {
      $offset++;
      if ($val == $insert_after)
         break;
   }
   array_splice($insert_row, $offset, 0, $move_button);

   if (($k = array_search($move_button, $remove_row)) !== FALSE)
   {
      unset($remove_row[$k]);
      if (($last = array_pop($remove_row)) !== '-')
         array_push($remove_row, $last);
   }
}

and as mentioned in the comments, you would want to change $move_button to the title of your bbocde (unless it happens to be 'justify'), and also change $insert_after to the name of the button you want it to be after (the justify buttons are JustifyLeft, JustifyCenter, and JustifyRight. If you want it somewhere else you can look in the ckeditor.php file I mentioned and you can probably figure out the name for each of the buttons).
Reply With Quote
Благодарность от:
mathforum
Reply


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:05 AM.


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.03454 seconds
  • Memory Usage 2,171KB
  • 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
  • (1)bbcode_code
  • (1)footer
  • (1)forumjump
  • (1)forumrules
  • (1)gobutton
  • (1)header
  • (1)headinclude
  • (1)navbar
  • (3)navbar_link
  • (120)option
  • (2)post_thanks_box
  • (1)post_thanks_box_bit
  • (2)post_thanks_button
  • (1)post_thanks_javascript
  • (1)post_thanks_navbar_search
  • (1)post_thanks_postbit
  • (2)post_thanks_postbit_info
  • (2)postbit
  • (2)postbit_onlinestatus
  • (2)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
  • postbit_imicons
  • bbcode_parse_start
  • bbcode_parse_complete_precache
  • bbcode_parse_complete
  • postbit_display_complete
  • post_thanks_function_can_thank_this_post_start
  • 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
  • tag_fetchbit_complete
  • forumrules
  • navbits
  • navbits_complete
  • showthread_complete