ابزار سایت

افزونه_ویرایش_گر_پیشرفته_متن

فصل 38- افزونه ویرایش‌گر پیشرفته متن

38-1- مقدمه

پردازشگر متن پیش‌فرض در موتور Oxwall‌ که برای درج و ویرایش محتوای متنی در قسمت‌های مختلف استفاده می‌شود، تنها شامل تعدادی ابزارک ابتدایی بوده و به‌خوبی پاسخگوی نیازهای کاربر برای شخصی‌سازی متون جهت درج در بخش‌های مختلف نیست. با بررسی پردازشگرهای موجود و ابزارک‌های آن‌ها و همچنین نیازهایی که برای پردازنده متن در شبکه اجتماعی احساس می‌شود، محرز شد که یک پردازشگر متن قوی‌تر و با امکانات بیشتر به‌صورت یک افزونه مورد نیاز است.

استفاده از ویرایشگر متن پیشرفته در صفحاتی که به کاربر اجازه نوشتن متن با قابلیت درج مولفه‌های HTML داده شده است. این ویرایشگر از نسخه 4.4.8 کتابخانه CK-Editor استفاده می‌کند.

38-2- شرح افزونه

امکانات موجود در پردازشگر متن پیش‌فرض Oxwall به شرح زیر هستند:

  • توپرکردن متن (Bold)
  • مایل کردن متن (Italic)
  • درج خط زیر متن (Underline)
  • درج لینک (Hyperlink)
  • درج تصویر
  • افزودن ویدئو

این امکانات ممکن است برای تمام کاربران شبکه اجتماعی که قصد دارند در بخش‌های مختلف نوشته‌هایی درج کنند کافی نباشد. لذا یک پردازنده پیشرفته متن مورد نیاز است.

CKeditor

CKeditor یک پردازنده متن‌باز است که به‌صورت رایگان منتشرشده و قابلیت استفاده در وب‌گاه‌های مختلف را دارد. این پردازنده در سه نسخه آماده پایه (Basic)، استاندارد (Standard) و کامل (Full) ارائه‌شده و دارای قابلیت سفارشی‌سازی نیز است. نسخه‌های پایه و استاندارد این پردازنده ازنظر ظاهر و امکانات، قابلیت استفاده در وب‌گاه به‌جای پردازنده فعلی را دارند؛ اما نسخه کامل دارای امکانات اضافی و غیرضروری است. می‌توان با استفاده از قابلیت سفارشی‌سازی CKeditor، تنها امکاناتی که در بخش قبل بیان شد انتخاب شوند. به‌عبارت‌دیگر، با انتخاب ابزارهای ذکرشده، می‌توان از این ویرایشگر در وب‌گاه استفاده کرد.

این افزونه پس از طی مراحل طراحی لازم، آماده به استفاده بوده و کاربران می‌توانند با پس از نصب آن در قسمت‌های مختلف درگاه که نیاز به درج متن وجود دارد استفاده کنند.

نمایی از این پردازنده متن در شکل 1 زیر نشان داده‌شده است.

شکل 1: نمایی از افزونه ویرایش‌گر پیشرفته متن

امکانات موجود در این افزونه به ترتیب به شرح زیر است:

  • منبع: با استفاده از این ابزار کاربر قادر است کد HTML‌ مربوط به نوشته را مشاهده یا ویرایش کند.
  • ابزارهای مدیریت نوشته: این قسمت شامل ابزارهای برش، رونوشت، چسباندن، چسباندن متن به‌عنوان متن ساده، چسباندن از word که برای حالتی است که کاربر قصد داشته باشد متن را به‌صورت مستقیم از نرم‌افزار word درج کند، واچیدن و درنهایت بازچیدن است.
  • ابزارهای جستجو: این قسمت شامل دو ابزار جستجو در متن و جابجایی است.
  • ابزارهای حالت: در این قسمت ابزارهای مربوط به توپر کردن، مایل کردن، زیرخط دار و حذف قالب وجود دارد.
  • ابزارهای تنظیم: در این قسمت ابزارهای فهرست شماره‌دار، فهرست نقطه‌ای، کاهش تورفتگی، افزایش تورفتگی، بلوک نقل قول، چپ‌چین، وسط‌چین، راست‌چین و بلوک چین است.
  • ابزارهای درج لینک: این قسمت شامل ابزارهای درج و حذف لینک است که برای افزودن لینک به قسمت‌های مختلف کاربرد دارد.
  • قسمت نشانه‌ها و شکلک‌ها: کاربر با استفاده از ابزارهای شکلک و نشانه‌ها قادر است شکلک‌های مختلف و علائم خاص را به نوشته خود اضافه کند.
  • ابزار اندازه: کاربر با استفاده از این ابزار قادر است اندازه متن انتخابی را تغییر بدهد.
  • ابزارهای تغییر رنگ: با استفاده از این ابزارها کاربر قادر است رنگ متن یا رنگ پس‌زمینه آن را به رنگ دلخواه خود تغییر دهد.
  • ابزارهای نمایش: با استفاده از ابزار تمام‌صفحه کاربر قادر است متن خود را در پنجره‌ای که کل صفحه را در برگرفته است ویرایش کند. ابزار دیگر نمایش بلوک‌ها است که با استفاده از آن می‌توان بلوک‌های موجود در نوشته را به‌صورت خط‌چین مشخص کرد.
  • ابزارهای درج: کاربر می‌تواند با استفاده از این ابزارها تصاویر یا ویدیوهای مختلف را در متن خود درج کند. همچنین ابزار انتهای پیش‌نمایش به کاربر این امکان را می‌دهد که متن خود را دو قسمت تقسیم کند که قسمت اول نشان داده‌شده و قسمت دوم با انتخاب گزینه «نمایش بیشتر» قابل‌دسترسی است.

نکته: در صورت انتخاب گزینه ‌«غیرفعال‌سازی HTML» در تنظیمات محتوا در مدیریت این افزونه قابل استفاده نیست.

38-3- سفارشی سازی افزونه ویرایش‌گر پیشرفته متن

در کتابخانه CK-editor‌ این امکان برای توسعه دهنده‌گان تعبیه شده‌است که ابزارهای ویرایش متن که در اختیار کابران قرار داده شده‌اند را سفارشی‌سازی کنند. برای این کار لازم است فایل init.js در مسیر زیر تغییر داده شود.

\ow_plugins\iisadvanceeditor\static\js\init.js

در این فایل متغیر config.toolbarGroups برای کنترل ابزارهای نشان داده‌شده در افزونه و config.removeButtons نشان‌گر نام ابزارهایی است که غیرفعال هستند.

		config.toolbarGroups = [
			{ name: 'document', groups: [ 'mode', 'document', 'doctools' ] },
			{ name: 'clipboard', groups: [ 'clipboard', 'undo' ] },
			{ name: 'editing', groups: [ 'find', 'selection', 'spellchecker', 'editing' ] },
			{ name: 'forms', groups: [ 'forms' ] },
			'/',
			{ name: 'basicstyles', groups: [ 'basicstyles', 'cleanup' ] },
			{ name: 'paragraph', groups: [ 'list', 'indent', 'blocks', 'align', 'bidi', 'paragraph' ] },
			{ name: 'links', groups: [ 'links' ] },
			{ name: 'insert', groups: [ 'insert' ] },
			'/',
			{ name: 'styles', groups: [ 'styles' ] },
			{ name: 'colors', groups: [ 'colors' ] },
			{ name: 'tools', groups: [ 'tools' ] },
			{ name: 'others', groups: [ 'others' ] },
			{ name: 'about', groups: [ 'about' ] }
		];
		config.removeButtons = 'Styles,Format,Table,About,Language,PageBreak,Iframe,HorizontalRule,Anchor,Flash,CreateDiv,HiddenField,ImageButton,Textarea,Form,Checkbox,Radio,TextField,Select,Button,Scayt,SelectAll,Save,NewPage,Preview,Print,Templates,Font';

توسعه دهنده‌گان جهت افزودن یک ابزار به افزونه کافیست ابتدا نام آن ابزار را از قسمت config.removeButtons برداشته و در متغیر config.toolbarGroups - به همان روش که سایر ابزارهای موجود در این متغیر تعریف شده اند - بیافزایند.

افزونه_ویرایش_گر_پیشرفته_متن.txt · آخرین ویرایش: 2019/01/15 12:45