z3c.formwidget.ckeditor fornisce un widget CKEditor per la libreria z3c.form. Esso fornisce anche un campo dello schema RichText, che rende l'utilizzo di CKEditor completamente trasparente.
Documentazione dettagliata strong>
RichText Campi e CKEditor Widgets
Questo pacchetto fornisce un nuovo campo denominato RichText, che è una semplice estensione del campo predefinito testo. Il campo RichText dichiara che contiene HTML markup come parte del suo testo.
& Nbsp; > & Nbsp; > & Nbsp; > & Nbsp; da z3c.formwidget.ckeditor importazione richtext
Quindi cerchiamo di creare un campo di testo ricco:
& Nbsp; > & Nbsp; > & Nbsp; > & Nbsp; text = richtext.RichText (__ nome __ = 'text')
Passiamo ora verificare che il campo fornisce lo schema di testo e rich text:
& Nbsp; > & Nbsp; > & Nbsp; > & Nbsp; importazione zope.schema
& Nbsp; > & Nbsp; > & Nbsp; > & Nbsp; da zope.interface importazione verificare
& Nbsp; > & Nbsp; > & Nbsp; > & Nbsp; dalle interfacce di importazione z3c.formwidget.ckeditor
& Nbsp; > & Nbsp; > & Nbsp; > & Nbsp; verify.verifyObject (interfaces.IRichText, testo)
& Nbsp; La vera
& Nbsp; > & Nbsp; > & Nbsp; > & Nbsp; verify.verifyObject (zope.schema.interfaces.IText, testo)
& Nbsp; La vera
Avanti, un widget è previsto per modificare il campo di testo ricco. Esso utilizza il CKEditor.
& Nbsp; > & Nbsp; > & Nbsp; > & Nbsp; dalle interfacce z3c.formwidget.ckeditor importazione, ckeditor
Il CKEditorWidget è un widget:
& Nbsp; > & Nbsp; > & Nbsp; > & Nbsp; da z3c.form.interfaces importare iWidget
& Nbsp; > & Nbsp; > & Nbsp; > & Nbsp; verify.verifyClass (interfaces.ICKEditorWidget, ckeditor.CKEditorWidget)
& Nbsp; La vera
& Nbsp; > & Nbsp; > & Nbsp; > & Nbsp; verify.verifyClass (iWidget, ckeditor.CKEditorWidget)
& Nbsp; La vera
Il widget può rendere un campo di input solo adattando una richiesta:
& Nbsp; > & Nbsp; > & Nbsp; > & Nbsp; da z3c.form.testing TestRequest importazione
& Nbsp; > & Nbsp; > & Nbsp; > & Nbsp; richiesta = TestRequest ()
& Nbsp; > & Nbsp; > & Nbsp; > & Nbsp; widget di = ckeditor.CKEditorWidget (richiesta)
Tale widget di iWidget prevede:
& Nbsp; > & Nbsp; > & Nbsp; > & Nbsp; IWidget.providedBy (Widget)
& Nbsp; La vera
Aggiungiamo alcuni dati generici significativi:
& Nbsp; > & Nbsp; > & Nbsp; > & Nbsp; widget.id = 'id'
& Nbsp; > & Nbsp; > & Nbsp; > & Nbsp; widget.name = 'name'
Se rendiamo il widget si ottiene il codice HTML:
& Nbsp; > & Nbsp; > & Nbsp; > & Nbsp; widget.update ()
& Nbsp; > & Nbsp; > & Nbsp; > & Nbsp; stampare widget.render ()
CKEDITOR.replace ('name', {});
Come potete vedere, inizialmente, CK Editor è istanziato con tutti i suoi valori di default. Questo può essere cambiato modificando l'attributo di configurazione sul widget.
Se l'attributo di configurazione è una stringa, viene interpretato come un nome di variabile JavaScript. La variabile deve essere dichiarata in anticipo.
& Nbsp; > & Nbsp; > & Nbsp; > & Nbsp; widget.config = 'myCKEditorConfig'
& Nbsp; > & Nbsp; > & Nbsp; > & Nbsp; widget.update ()
& Nbsp; > & Nbsp; > & Nbsp; > & Nbsp; stampare widget.render ()
CKEDITOR.replace ('name', myCKEditorConfig);
In alternativa, l'attributo di configurazione può essere un dizionario di opzioni, che sono codificati a Javascript sul tempo di rendering:
& Nbsp; > & Nbsp; > & Nbsp; > & Nbsp; widget.config = {'toolbar': 'base', 'UIColor': '# 9AB8F3'}
& Nbsp; > & Nbsp; > & Nbsp; > & Nbsp; widget.update ()
& Nbsp; > & Nbsp; > & Nbsp; > & Nbsp; stampare widget.render ()
CKEDITOR.replace ('name', {"UIColor": "# 9AB8F3", "barra degli strumenti": "Basic"});
Tutti gli altri valori causano ValueError da sollevare.
& Nbsp; > & Nbsp; > & Nbsp; > & Nbsp; widget.config = 3
& Nbsp; > & Nbsp; > & Nbsp; > & Nbsp; widget.update ()
& Nbsp; Traceback (chiamata più recente scorso):
& Nbsp; ...
& Nbsp; ValueError: ('oggetto di configurazione non valido', 3)
Il campo del widget per il campo di testo ricco è disponibile anche, ovviamente:
& Nbsp; > & Nbsp; > & Nbsp; > & Nbsp; importazione zope.component
& Nbsp; > & Nbsp; > & Nbsp; > & Nbsp; da z3c.form.interfaces importare IFieldWidget
& Nbsp; > & Nbsp; > & Nbsp; > & Nbsp; widget di = zope.component.getMultiAdapter ((testo, richiesta), IFieldWidget)
& Nbsp; > & Nbsp; > & Nbsp; > & Nbsp; del widget
& Nbsp; > & Nbsp; > & Nbsp; > & Nbsp; widget.update ()
& Nbsp; > & Nbsp; > & Nbsp; > & Nbsp; stampare widget.render ()
CKEDITOR.replace ('testo', {});
È inoltre possibile creare le fabbriche CKEditor Campo Widget al volo con una determinata configurazione:
& Nbsp; > & Nbsp; > & Nbsp; > & Nbsp; MinimalCKEditorWidget = ckeditor.CKEditorFieldWidgetFactory (
& Nbsp; ... {'toolbar': 'base', 'UIColor': '# 9AB8F3'})
& Nbsp; > & Nbsp; > & Nbsp; > & Nbsp; widget di = MinimalCKEditorWidget (testo, richiesta)
& Nbsp; > & Nbsp; > & Nbsp; > & Nbsp; widget.update ()
& Nbsp; > & Nbsp; > & Nbsp; > & Nbsp; stampare widget.render ()
CKEDITOR.replace ('testo',
& Nbsp; {"UIColor": "# 9AB8F3", "barra degli strumenti": "Basic"});
Cosa c'è di nuovo in questa versione:
- Aggiunto il supporto per Python 3.3.
- Sostituito utilizzo zope.interface.implements deprecato con decoratore zope.interface.implementer equivalente.
- cessato il supporto per Python 2.4 e 2.5.
Cosa c'è di nuovo nella versione 1.1.0:.
- CKEditor Aggiornato a 3.5.2
- warning di deprecazione Rimosso.
Requisiti
- Python
I commenti non trovato