๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
Basics/Develop

ckeditor toolbar ์ปค์Šคํ…€ํ•˜๊ธฐ ์•„์ด์ฝ˜ ์ง€์šฐ๊ธฐ ํˆด๋ฐ” ์—ฌ๋Ÿฌ์ค„ ํ•œ์ค„๋กœ ๋งŒ๋“ค๊ธฐ ๋“ฑ

by IworldT 2023. 1. 17.
๋ฐ˜์‘ํ˜•

ck์—๋””ํ„ฐ toolbar ์ปค์Šคํ…€ํ•˜๊ธฐ

ck์—๋””ํ„ฐ์˜ Toolbar๋Š” CKEDITOR.editorConfig ๋กœ ์ง€์ •ํ•ด์ค„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

๊ทธ๋Ÿฌ๋‚˜ ์ผ๋ถ€ ํ™”๋ฉด์—์„œ๋งŒ ๋‹ค๋ฅธ ์—๋””ํ„ฐ UI๋ฅผ ์‚ฌ์šฉํ•˜๊ณ  ์‹ถ๋‹ค๋ฉด CKEDITOR.replace๋กœ ์„ค์ •์„ ๋ณ€๊ฒฝํ•ด์ค„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

 

ck์—๋””ํ„ฐ config.js

์šฐ์„  ๊ธฐ๋ณธ ์„ค์ • ๋ฐ ๊ธฐ๋ณธ ui๋Š” ckeditor4 ํด๋” ๋‚ด์˜ config.js ํŒŒ์ผ์— ๋ชจ๋‘ ์ •์˜๋˜์–ด ์žˆ์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

config.toolbar = [
		{ name: 'document', items: [ 'Source', 'NewPage', 'ExportPdf', 'Preview', 'Print', '-', 'Templates' ] },
		{ name: 'clipboard', items: [ 'Cut', 'Copy', 'Paste', 'PasteText', '-', 'Undo', 'Redo' ] },
		{ name: 'editing', items: [ 'Find', 'Replace' ] },
		{ name: 'links', items: [ 'Link', 'Unlink' ] },
		{ name: 'insert', items: [ 'Image', 'Table', 'HorizontalRule', 'SpecialChar' ] },
		{ name: 'tools', items: [ 'Maximize' ] },
		{ name: 'about', items: [ 'About' ] },
        '/',
		{ name: 'styles', items: [ 'Font', 'FontSize' ] },
		{ name: 'colors', items: [ 'TextColor', 'BGColor' ] },
		{ name: 'basicstyles', items: [ 'Bold', 'Italic', 'Underline', 'Strike' ] },
		{ name: 'paragraph', items: [ 'NumberedList', 'BulletedList', '-', 'Outdent', 'Indent', '-', 'JustifyLeft', 'JustifyCenter', 'JustifyRight', 'JustifyBlock' ] }
	];

๊ทธ ์ค‘์—์„œ toolbar์˜ ๊ธฐ๋ณธ ์„ค์ • ๋ถ€๋ถ„๋งŒ ํ™•์ธํ•ด๋“œ๋ฆฌ์ž๋ฉด ์œ„์™€ ๊ฐ™์Šต๋‹ˆ๋‹ค.

์ € items ์•ˆ์˜ ์š”์†Œ ํ•˜๋‚˜ํ•˜๋‚˜๊ฐ€ ์•„์ด์ฝ˜ ํ•˜๋‚˜์”ฉ์ด๋ผ๊ณ  ๋ณด์‹œ๋ฉด ๋ฉ๋‹ˆ๋‹ค.

 

์ค‘๊ฐ„์— '/'์˜ ์˜๋ฏธ๋Š” ckeditor ํˆด๋ฐ”์—์„œ ํ•œ ์ค„์„ ๋„์šฐ๊ฒ ๋‹ค๋Š” ๋œป์ž…๋‹ˆ๋‹ค.(๋‹ค์Œ ์ค„๋กœ ๋„˜์–ด๊ฐ€๊ธฐ)

๊ทธ๋ฆฌ๊ณ  items ๋ฐฐ์—ด ์‚ฌ์ด์˜ '-'๋Š” ํˆด๋ฐ” ์‚ฌ์ด์‚ฌ์ด | ๋กœ ์นธ์„ ๋‚˜๋ˆ„์–ด์ฃผ๊ฒ ๋‹ค๋Š” ์˜๋ฏธ์ž…๋‹ˆ๋‹ค.

 

์˜ˆ์‹œํ™”๋ฉด)

์œ„ ์„ค์ •์œผ๋กœ ๋‚˜ํƒ€๋‚œ ek์—๋””ํ„ฐ์ž…๋‹ˆ๋‹ค.

๋งŒ์•ฝ ์ € '/'์ด ์—†๋‹ค๋ฉด ๊ฐ€๋Šฅํ•œ ํ•œ ์ค„๋กœ ์—๋””ํ„ฐ์˜ ํˆด๋ฐ”๋ฅผ ๋„์šฐ๊ฒŒ ๋ฉ๋‹ˆ๋‹ค.

์ € '/'๋ฅผ ๋‘ ๋ฒˆ ์“ฐ๋ฉด ์ด ์„ธ ์ค„์˜ ํˆด๋ฐ”๊ฐ€ ์™„์„ฑ๋  ๊ฒƒ์ž…๋‹ˆ๋‹ค.

 

ckeditor customConfig

๊ทธ๋Ÿผ ์ด์ œ ๊ธฐ๋ณธ ์„ค์ •์„ ์ปค์Šคํ…€ํ•œ ํŒŒ์ผ์„ ๋งŒ๋“ค๊ณ , ๊ทธ ํŒŒ์ผ์„ ์—๋””ํ„ฐ ์ƒ์„ฑ ์‹œ์— ์ ์šฉํ•ด๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค.

์šฐ์„  customConfig.jsํŒŒ์ผ์„ ๋งŒ๋“ค์–ด์ฃผ๋Š”๋ฐ, ์ด ๋•Œ ๊ฒฝ๋กœ๋Š” static ๋‚ด์˜ ์–ด๋Š ๊ณณ์ด๋“  ์ƒ๊ด€ ์—†์Šต๋‹ˆ๋‹ค.

๊ทธ๋ฆฌ๊ณ  config ๋ถ€๋ถ„์—์„œ ๋ณ€๊ฒฝํ•˜๊ณ  ์‹ถ์€ ๊ฒƒ๋“ค์„ ์ˆ˜์ •ํ•ด์ค๋‹ˆ๋‹ค.

config.toolbar = [
		{ name: 'insert', items: [ 'Image'] },
		{ name: 'styles', items: [ 'Font', 'FontSize' ] },
		{ name: 'colors', items: [ 'TextColor', 'BGColor' ] },
		{ name: 'basicstyles', items: [ 'Bold', 'Italic', 'Underline', 'Strike' ] },
		{ name: 'paragraph', items: ['JustifyLeft', 'JustifyCenter', 'JustifyRight', 'JustifyBlock' ] }
	];

ํ•„์š” ์—†๋Š” ckeditor์˜ ๊ธฐ๋Šฅ๊ณผ ์•„์ด์ฝ˜๋“ค์„ ์ง€์›Œ์ฃผ๊ณ ,

2์ค„ ์ด์—ˆ๋˜ ํˆด๋ฐ”๋ฅผ ํ•œ ์ค„๋กœ ์ค„์—ฌ์ฃผ์—ˆ์Šต๋‹ˆ๋‹ค.

์˜ˆ์‹œํ™”๋ฉด)

์ด๋ ‡๊ฒŒ ํ•œ ์ค„๋กœ ๊ฐ„๋‹จํ•œ ์—๋””ํ„ฐ๊ฐ€ ๋งŒ๋“ค์–ด์กŒ์Šต๋‹ˆ๋‹ค.

 

๊ทธ๋Ÿผ ๊ทธ ํŒŒ์ผ์„ replace๋ฅผ ํ†ตํ•ด ์ ์šฉํ•ด์ฃผ์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

CKEDITOR.replace( 'editorID', {
    customConfig: '/static/๊ฒฝ๋กœ/ํŒŒ์ผ๋ช….js'
});

 

์ฃผ์˜ํ•  ์ ์€, replace๋ฅผ ์—ฌ๋Ÿฌ๋ฒˆ ์‚ฌ์šฉํ•˜๋ฉด ์—๋Ÿฌ๊ฐ€ ๋‚˜๋ฏ€๋กœ CKEDITOR ๋กœ๋“œ ์‹œ width, height, on ๋“ฑ์€ ํ•จ๊ป˜ replaceํ•ด์ฃผ์‹ค ๊ฒƒ์„ ๊ถŒ์žฅ๋“œ๋ฆฝ๋‹ˆ๋‹ค.

728x90
๋ฐ˜์‘ํ˜•

๋Œ“๊ธ€