در این پست قصد داریم درباره کار با CKEditor 5 آموزشی را به صورت ویدیویی ارائه دهیم . سرفصل مواردی که در این آموزش مورد برسی قرار دادیم شامل موارد زیر است :
ادیتور CK به کاربران اجازه می دهد تا هر نوع محتوایی را در برنامه شما ایجاد کنند، مثل اسناد، گزارش ها، ایمیل ها، یادداشت ها یا پیام های چت. CKEditor یک ویرایشگر آنلاین WYSIWYG جاوااسکریپتی است که برای ویرایش اسناد HTML در مرورگر استفاده می شود. CKEditor یک ویرایشگر متن قدرتمند و فوق مدرن جاوا اسکریپتی با معماری MVC است. آخرین نسخه از CKEdiotr نسخه ۵ آن یعنی CKEditor 5 است. CKEditor 5، رویکردی متفاوت و مدرن نسبت به نسخه قبلی خود دارد که از ابتدا در ES6 نوشته شده است.
پروژه های Asp.net MVC نیاز به آماده سازی خاصی ندارند فقط فیلد هایی که قرار است از CKeditor استفاده کنند باید به آن Data Annotation – دیتا انوتیشن های زیر اضافه شود.
[DataType(DataType.MultilineText)]
[AllowHtml]
Data Annotation اول باعث میشود تا Input ما تبدیل به TextArea شود.
Data Annotation دوم به ما اجازه میدهد تا اطلاعاتی با فرمت Html را در دیتابیس ذخیره کنیم.
بهتر است CKEditor نسخه ۵ را به صورت سفارشی دانلود کنید. یعنی قابلیت ها و ماژول هایی که نیاز دارید را به آن اضافه کنید و آنهایی که نیاز ندارید را حذف کنید. خوشبختانه این قابلت در سایت CKEditor وجود دارد.
https://ckeditor.com/
https://ckeditor.com/ckeditor-5/download/
General HTML Support
HTML comment
HTML embed
Image
Auto image
Image resize
Image insert
Link image
Font background color
Font color
Font size
Source editing
Code
Code blocks
Alignment
<script src="~/ckeditor5/build/ckeditor.js"></script>
<textarea class="editor"></textarea>
ClassicEditor
.create( document.querySelector( '.editor' ), {
// Editor configuration.
} )
.then( editor => {
window.editor = editor;
} )
.catch( handleSampleError );
function handleSampleError( error ) {
const issueUrl = 'https://github.com/ckeditor/ckeditor5/issues';
const message = [
'Oops, something went wrong!',
`Please, report the following error on ${ issueUrl } with the build id "npwdoukyfz5-3bd6as171pns" and the error stack trace:`
].join( '\n' );
console.error( message );
console.error( error );
}
htmlSupport: {
allow: [
{
name: /.*/,
attributes: true,
classes: true,
styles: true
}
]
}
در صورتی که نمیخواهید کد های Html در متن نمایش داده شود، و میخواهید آن کد های Html روی متن اعمال شود. میتوانید به جای استفاده از هلپر Html.DisplayFor از هلپر Html.Raw استفاده کنید.
//نمایش متن همراه با کد های اچ تی ام ال
@Html.DisplayFor(modelItem => item.PostTitle)
//عدم نمایش کد های اچ تی ام ال و اعمال آن روی متن
@Html.Raw(item.PostContent)
سلام مهندس وقت بخیر خسته نباشید دستت طلا واسه این دوره خوبی که داری، ببخشید مهندس من وقتی میخوام دیتا رو به سمت سرور ارسال کنم اون مقدار داخل ckeditor به سمت سرور ارسال نمیشه پیغام میزنه که خالیه و زمانی که inspect میگیرم و قسمت element رو نگاه میکنم پایین textarea که ساختم طبق فیلم میاد یه تگ div خودش میسازه و مقدار ها رو میزاره داخل اون و اینه که پیغام خالی میزنه راهنمایی میکنید بی زحمت