در z3c.formwidget.ckeditor ویجت CKEditor برای کتابخانه z3c.form فراهم می کند. آن را نیز یک میدان طرح RichText، که باعث می شود استفاده از CKEditor کاملا شفاف را فراهم می کند.
مستندات دقیق
RichText زمینه و CKEditor ابزارک
این بسته یک میدان جدید به نام RichText است، که یک پسوند ساده برای زمینه به طور پیش فرض متن را فراهم می کند. درست RichText اعلام کرد که در آن وجود دارد HTML-نشانه گذاری به عنوان بخشی از متن آن است.
و & nbsp؛ > & nbsp؛ در > & nbsp؛ در > & nbsp؛ در از z3c.formwidget.ckeditor واردات richtext
بنابراین اجازه دهید یک فیلد متن غنی ایجاد:
و & nbsp؛ > & nbsp؛ در > & nbsp؛ در > & nbsp؛ در متن = richtext.RichText (__ __ نام = 'متن')
بیایید به بررسی کنید که درست فراهم می کند متن و متن غنی طرح:
و & nbsp؛ > & nbsp؛ در > & nbsp؛ در > & nbsp؛ در واردات zope.schema
و & nbsp؛ > & nbsp؛ در > & nbsp؛ در > & nbsp؛ در از واردات zope.interface بررسی
و & nbsp؛ > & nbsp؛ در > & nbsp؛ در > & nbsp؛ در از رابط واردات z3c.formwidget.ckeditor
و & nbsp؛ > & nbsp؛ در > & nbsp؛ در > & nbsp؛ در verify.verifyObject (interfaces.IRichText، متن)
& nbsp؛ از واقعی
و & nbsp؛ > & nbsp؛ در > & nbsp؛ در > & nbsp؛ در verify.verifyObject (zope.schema.interfaces.IText، متن)
& nbsp؛ از واقعی
در مرحله بعد، یک ویجت است تا با ویرایش قسمت متن غنی است. آن استفاده می کند CKEditor.
و & nbsp؛ > & nbsp؛ در > & nbsp؛ در > & nbsp؛ در از رابط واردات z3c.formwidget.ckeditor، ckeditor
CKEditorWidget یک ویجت است:
و & nbsp؛ > & nbsp؛ در > & nbsp؛ در > & nbsp؛ در از z3c.form.interfaces وارد IWidget
و & nbsp؛ > & nbsp؛ در > & nbsp؛ در > & nbsp؛ در verify.verifyClass (interfaces.ICKEditorWidget، ckeditor.CKEditorWidget)
& nbsp؛ از واقعی
و & nbsp؛ > & nbsp؛ در > & nbsp؛ در > & nbsp؛ در verify.verifyClass (IWidget، ckeditor.CKEditorWidget)
& nbsp؛ از واقعی
ویجت می تواند یک فیلد ورودی تنها با تطبیق یک درخواست ارائه:
و & nbsp؛ > & nbsp؛ در > & nbsp؛ در > & nbsp؛ در از z3c.form.testing TestRequest واردات
و & nbsp؛ > & nbsp؛ در > & nbsp؛ در > & nbsp؛ در درخواست = TestRequest ()
و & nbsp؛ > & nbsp؛ در > & nbsp؛ در > & nbsp؛ در ویجت = ckeditor.CKEditorWidget (درخواست)
چنین ویجت را فراهم می کند IWidget:
و & nbsp؛ > & nbsp؛ در > & nbsp؛ در > & nbsp؛ در IWidget.providedBy (ویجت)
& nbsp؛ از واقعی
اجازه دهید اضافه کردن برخی از داده های کلی معنی دار:
و & nbsp؛ > & nbsp؛ در > & nbsp؛ در > & nbsp؛ در widget.id = "شناسه"
و & nbsp؛ > & nbsp؛ در > & nbsp؛ در > & nbsp؛ در widget.name = 'نام'
اگر ما ویجت ارائه ما می توانید از HTML:
و & nbsp؛ > & nbsp؛ در > & nbsp؛ در > & nbsp؛ در widget.update ()
و & nbsp؛ > & nbsp؛ در > & nbsp؛ در > & nbsp؛ در چاپ widget.render ()
استفاده
CKEDITOR.replace ('نام'، {})؛
همانطور که می بینید، در ابتدا، CK ویرایشگر پیش فرض خود را با تمام نمونه. این را می توان با تغییر ویژگی پیکربندی بر روی ویجت را تغییر داد.
اگر ویژگی پیکربندی یک رشته است، آن را به عنوان نام متغیر جاوا اسکریپت تفسیر شده است. متغیر باید از قبل اعلام شود.
و & nbsp؛ > & nbsp؛ در > & nbsp؛ در > & nbsp؛ در widget.config = 'myCKEditorConfig'
و & nbsp؛ > & nbsp؛ در > & nbsp؛ در > & nbsp؛ در widget.update ()
و & nbsp؛ > & nbsp؛ در > & nbsp؛ در > & nbsp؛ در چاپ widget.render ()
استفاده
CKEDITOR.replace ('نام'، myCKEditorConfig)؛
روش دیگر، صفت پیکربندی می تواند یک فرهنگ لغت از گزینه ها، که بر زمان ارائه به جاوا اسکریپت کد گذاری:
و & nbsp؛ > & nbsp؛ در > & nbsp؛ در > & nbsp؛ در widget.config = {'نوار ابزار': 'عمومی'، 'uiColor': '# 9AB8F3'}
و & nbsp؛ > & nbsp؛ در > & nbsp؛ در > & nbsp؛ در widget.update ()
و & nbsp؛ > & nbsp؛ در > & nbsp؛ در > & nbsp؛ در چاپ widget.render ()
استفاده
CKEDITOR.replace ('نام'، {"uiColor": "# 9AB8F3"، "نوار ابزار": "عمومی"})؛
همه ارزش های دیگر باعث ValueError به مطرح شود.
و & nbsp؛ > & nbsp؛ در > & nbsp؛ در > & nbsp؛ در widget.config = 3
و & nbsp؛ > & nbsp؛ در > & nbsp؛ در > & nbsp؛ در widget.update ()
کنید. & nbsp؛ Traceback (تماس آخرین آخرین):
& nbsp؛ در ...
& nbsp؛ در ValueError: ('شی پیکربندی نامعتبر، 3)
ویجت زمینه برای زمینه متن غنی در دسترس بیش از حد البته:
و & nbsp؛ > & nbsp؛ در > & nbsp؛ در > & nbsp؛ در واردات zope.component
و & nbsp؛ > & nbsp؛ در > & nbsp؛ در > & nbsp؛ در از z3c.form.interfaces وارد IFieldWidget
و & nbsp؛ > & nbsp؛ در > & nbsp؛ در > & nbsp؛ در ویجت = zope.component.getMultiAdapter ((متن، درخواست)، IFieldWidget)
و & nbsp؛ > & nbsp؛ در > & nbsp؛ در > & nbsp؛ در ویجت
و & nbsp؛ > & nbsp؛ در > & nbsp؛ در > & nbsp؛ در widget.update ()
و & nbsp؛ > & nbsp؛ در > & nbsp؛ در > & nbsp؛ در چاپ widget.render ()
استفاده
CKEDITOR.replace ('متن'، {})؛
شما همچنین می توانید کارخانه CKEditor درست ویجت در پرواز با استفاده از یک پیکربندی داده شده ایجاد:
و & nbsp؛ > & nbsp؛ در > & nbsp؛ در > & nbsp؛ در MinimalCKEditorWidget = ckeditor.CKEditorFieldWidgetFactory (
از & nbsp؛ ... {'نوار ابزار': 'عمومی'، 'uiColor': '# 9AB8F3'})
و & nbsp؛ > & nbsp؛ در > & nbsp؛ در > & nbsp؛ در ویجت = MinimalCKEditorWidget (متن، درخواست)
و & nbsp؛ > & nbsp؛ در > & nbsp؛ در > & nbsp؛ در widget.update ()
و & nbsp؛ > & nbsp؛ در > & nbsp؛ در > & nbsp؛ در چاپ widget.render ()
استفاده
CKEDITOR.replace ('متن'،
از & nbsp؛ {"uiColor": "# 9AB8F3"، "نوار ابزار": "عمومی"})؛
در چه در این نسخه جدید است:
اضافه شدن پشتیبانی برای پایتون 3.3.
جایگزین استفاده zope.interface.implements توصیه نمی با دکوراتور zope.interface.implementer معادل آن.
پشتیبانی از پایتون 2.4 و 2.5 کاهش یافته است.
به چه چیزی جدید در نسخه 1.1.0 است:
در CKEditor ارتقاء به 3.5.2.
هشدار میلی حذف شده است.
در مورد نیاز:
پایتون
نظر یافت نشد