z3c.formwidget.ckeditor παρέχει ένα widget ckeditor για τη βιβλιοθήκη z3c.form. Παρέχει επίσης μια richtext πεδίο σχήμα, το οποίο καθιστά η χρήση της ckeditor απολύτως διαφανής.
λεπτομερή τεκμηρίωση
Richtext Πεδία και ckeditor Widgets
Αυτό το πακέτο παρέχει ένα νέο πεδίο που ονομάζεται richtext, η οποία είναι μια απλή επέκταση του πεδίου προεπιλεγμένο κείμενο. Η richtext πεδίο δηλώνει ότι περιέχει HTML-σήμανση ως μέρος του κειμένου της.
& Nbsp? > & Nbsp? > & Nbsp? > & Nbsp? από z3c.formwidget.ckeditor richtext εισαγωγής
Ας δημιουργήσουμε ένα πλούσιο πεδίο κειμένου:
& Nbsp? > & Nbsp? > & Nbsp? > & Nbsp? text = richtext.RichText (__ __ όνομα = 'text')
Ας τώρα βεβαιωθείτε ότι το πεδίο παρέχει κείμενο και εμπλουτισμένο κείμενο το σχήμα:
& 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? True
& Nbsp? > & Nbsp? > & Nbsp? > & Nbsp? verify.verifyObject (zope.schema.interfaces.IText, κείμενο)
& Nbsp? True
Στη συνέχεια, ένα widget προβλέπεται να επεξεργαστείτε το πλούσιο πεδίο κειμένου. Χρησιμοποιεί το ckeditor.
& Nbsp? > & Nbsp? > & Nbsp? > & Nbsp? από διεπαφές εισαγωγής z3c.formwidget.ckeditor, ckeditor
Η CKEditorWidget είναι ένα widget:
& Nbsp? > & Nbsp? > & Nbsp? > & Nbsp? από z3c.form.interfaces εισαγωγή IWidget
& Nbsp? > & Nbsp? > & Nbsp? > & Nbsp? verify.verifyClass (interfaces.ICKEditorWidget, ckeditor.CKEditorWidget)
& Nbsp? True
& Nbsp? > & Nbsp? > & Nbsp? > & Nbsp? verify.verifyClass (IWidget, ckeditor.CKEditorWidget)
& Nbsp? True
Το widget μπορεί να καταστήσει ένα πεδίο εισαγωγής μόνο με την προσαρμογή αίτημα:
& Nbsp? > & Nbsp? > & Nbsp? > & Nbsp? από z3c.form.testing TestRequest εισαγωγής
& Nbsp? > & Nbsp? > & Nbsp? > & Nbsp? αίτημα = TestRequest ()
& Nbsp? > & Nbsp? > & Nbsp? > & Nbsp? widget = ckeditor.CKEditorWidget (αίτηση)
Μια τέτοια widget παρέχει IWidget:
& Nbsp? > & Nbsp? > & Nbsp? > & Nbsp? IWidget.providedBy (widget)
& Nbsp? True
Ας προσθέσουμε κάποια σημαντική γενική δεδομένα:
& Nbsp? > & Nbsp? > & Nbsp? > & Nbsp? widget.id = 'id'
& Nbsp? > & Nbsp? > & Nbsp? > & Nbsp? widget.name = «όνομα»
Αν έχουμε καταστήσει το widget παίρνουμε τον κώδικα HTML:
& Nbsp? > & Nbsp? > & Nbsp? > & Nbsp? widget.update ()
& Nbsp? > & Nbsp? > & Nbsp? > & Nbsp? εκτύπωση widget.render ()
CKEDITOR.replace («όνομα», {})?
Όπως μπορείτε να δείτε, αρχικά, CK επεξεργαστής αρχικοποιείται με όλα προεπιλογές του. Αυτό μπορεί να αλλάξει τροποποιώντας το χαρακτηριστικό config για το widget.
Εάν το χαρακτηριστικό config είναι ένα string, ερμηνεύεται ως μεταβλητή το JavaScript όνομα. Η μεταβλητή πρέπει να δηλωθεί εκ των προτέρων.
& Nbsp? > & Nbsp? > & Nbsp? > & Nbsp? widget.config = 'myCKEditorConfig »
& Nbsp? > & Nbsp? > & Nbsp? > & Nbsp? widget.update ()
& Nbsp? > & Nbsp? > & Nbsp? > & Nbsp? εκτύπωση widget.render ()
CKEDITOR.replace («όνομα», myCKEditorConfig)?
Εναλλακτικά, το χαρακτηριστικό config μπορεί να είναι ένα λεξικό των επιλογών, οι οποίες κωδικοποιούνται με Javascript κατά καταστήσουν το χρόνο:
& Nbsp? > & Nbsp? > & Nbsp? > & Nbsp? widget.config = {«εργαλειοθήκη»: «Βασική», «uiColor»: «# 9AB8F3»}
& Nbsp? > & Nbsp? > & Nbsp? > & Nbsp? widget.update ()
& Nbsp? > & Nbsp? > & Nbsp? > & Nbsp? εκτύπωση widget.render ()
CKEDITOR.replace («όνομα», {"uiColor": "# 9AB8F3", "εργαλείων": "Basic"})?
Όλες οι άλλες τιμές προκαλέσει ValueError να αυξηθεί.
& Nbsp? > & Nbsp? > & Nbsp? > & Nbsp? widget.config = 3
& Nbsp? > & Nbsp? > & Nbsp? > & Nbsp? widget.update ()
& Nbsp? Traceback (πιο πρόσφατη κλήση τελευταία):
& Nbsp? ...
& Nbsp? ValueError: («έγκυρο αντικείμενο config», 3)
Το widget πεδίο για το πλούσιο πεδίο κειμένου είναι διαθέσιμη πολύ φυσικά:
& Nbsp? > & Nbsp? > & Nbsp? > & Nbsp? zope.component εισαγωγής
& Nbsp? > & Nbsp? > & Nbsp? > & Nbsp? από z3c.form.interfaces εισαγωγή IFieldWidget
& Nbsp? > & Nbsp? > & Nbsp? > & Nbsp? widget = zope.component.getMultiAdapter ((κείμενο, αιτήματος), IFieldWidget)
& Nbsp? > & Nbsp? > & Nbsp? > & Nbsp? widget
& Nbsp? > & Nbsp? > & Nbsp? > & Nbsp? widget.update ()
& Nbsp? > & Nbsp? > & Nbsp? > & Nbsp? εκτύπωση widget.render ()
CKEDITOR.replace («κείμενο», {})?
Μπορείτε επίσης να δημιουργήσετε ckeditor πεδίο Widget εργοστάσια on the fly χρησιμοποιώντας μια δεδομένη διάταξη:
& Nbsp? > & Nbsp? > & Nbsp? > & Nbsp? MinimalCKEditorWidget = ckeditor.CKEditorFieldWidgetFactory (
& Nbsp? ... {«Εργαλειοθήκη»: «Βασική», «uiColor»: «# 9AB8F3 '})
& Nbsp? > & Nbsp? > & Nbsp? > & Nbsp? widget = MinimalCKEditorWidget (κείμενο, αιτήματος)
& Nbsp? > & Nbsp? > & Nbsp? > & Nbsp? widget.update ()
& Nbsp? > & Nbsp? > & Nbsp? > & Nbsp? εκτύπωση widget.render ()
CKEDITOR.replace («κείμενο»,
& Nbsp? {"UiColor": "# 9AB8F3", "εργαλείων": "Basic"})?
Τι είναι καινούργιο σε αυτή την έκδοση:
- Προστέθηκε υποστήριξη για την Python 3.3.
- Αντικαταστάθηκε αποδοκιμαστεί zope.interface.implements χρήση με ισοδύναμο zope.interface.implementer διακοσμητή.
- Αποσύρεται υποστήριξη για την Python 2.4 και 2.5.
Τι είναι καινούργιο στην έκδοση 1.1.0:.
- Αναβαθμισμένες ckeditor να 3.5.2
- προειδοποιήσεις Αφαιρέθηκε υποτίμηση.
Απαιτήσεις :
- Python
Τα σχόλια δεν βρέθηκε