• This site uses cookies. By continuing to use this site, you are agreeing to our use of cookies. Learn more.

XF 2.0 Remove Editor Buttons

AndyB

Well-known member
#1
I have an add-on called "Remove Editor Buttons" for XF1.

https://xenforo.com/community/resources/remove-editor-buttons.3628/

I would like to update this add-on to XF2 but I'm not finding a simple solution. It appears currently there's no way to add CSS to hide editor toolbar buttons. So far the only way I'm able to hide any of the editor toolbar buttons is to hack the editor.js file directly by removing the button name.

js/xf/editor.js

Code:
		getButtonConfig: function()
		{
			var buttons =
				'clearFormatting,|,bold,italic,underline,strikeThrough,'
				+ '|,color,fontFamily,fontSize,'
				+ '|,insertLink,insertImage,xfSmilie,xfInsert,'
				+ '|,xfCustomPlaceholder,'
				+ '|,align,xfList,'
				+ '|,undo,redo,'
				+ '|,xfDraft,xfBbCode';

			var buttonClass = {
				_basic: ['bold', 'italic', 'underline', 'strikeThrough'],
				_extended: ['color', 'fontFamily', 'fontSize'],
				_link: ['insertLink'],
				_align: ['align'],
				_list: ['formatOL', 'formatUL', 'outdent', 'indent'],
				_indent: ['outdent', 'indent'],
				_smilies: ['xfSmilie'],
				_image: ['insertImage'],
				_media: ['xfMedia'],
				_block: ['xfQuote', 'xfCode', 'xfSpoiler']
			};
Hopefully there's an easy solution so an add-on can be created that allows selecting which buttons to remove.
 

AndyB

Well-known member
#5
Thanks to Chris' suggestion I've made some progress. If I add this line of code to the forum_post_thread template:

data-buttons-remove="{$disabledButtons|join(',')}"

Code:
				<xf:editorrow name="message" value="{{ $post.message ?: $forum.draft.message }}"
					rowtype="fullWidth noLabel mergePrev"
					data-buttons-remove="{$disabledButtons|join(',')}"
					label="{{ phrase('message') }}" />
that works great as long as I define $disabledButtons as the following array:

$disabledButtons = array('_extended','_align','_indent');

My question is there any way to define $disabledButtons in the template? Or do I have to define it in PHP and make the variable available in those templates the editor is used?