z3c.formwidget.ckeditor eine CKEditor-Widget für die z3c.form Bibliothek. Es bietet auch eine Richtext-Schema-Feld, das die Verwendung von CKEditor vollständig transparent macht.
Ausführliche Dokumentation
Richtext-Felder und CKEditor Widgets
Dieses Paket bietet ein neues Feld namens Richtext, der eine einfache Erweiterung auf den Standardtextfeld ist. Die Richtext-Feld erklärt, dass sie HTML-Markup enthält als Teil seines Textes.
& Nbsp; > & Nbsp; > & Nbsp; > & Nbsp; von z3c.formwidget.ckeditor import Rich
So erstellen wir eine Rich-Text-Feld:
& Nbsp; > & Nbsp; > & Nbsp; > & Nbsp; text = richtext.RichText (__ __ Name = 'text')
Lassen Sie uns jetzt überprüfen, ob der Bereich bietet den Text und Rich-Text-Schema:
& Nbsp; > & Nbsp; > & Nbsp; > & Nbsp; Import zope.schema
& Nbsp; > & Nbsp; > & Nbsp; > & Nbsp; von zope.interface Import überprüfen
& Nbsp; > & Nbsp; > & Nbsp; > & Nbsp; von z3c.formwidget.ckeditor Importschnittstellen
& Nbsp; > & Nbsp; > & Nbsp; > & Nbsp; verify.verifyObject (interfaces.IRichText, Text)
& Nbsp; Wahr
& Nbsp; > & Nbsp; > & Nbsp; > & Nbsp; verify.verifyObject (zope.schema.interfaces.IText, Text)
& Nbsp; Wahr
Als nächstes wird ein Widget zur Verfügung gestellt, um den Rich-Text-Feld zu bearbeiten. Es nutzt die CKEditor.
& Nbsp; > & Nbsp; > & Nbsp; > & Nbsp; von z3c.formwidget.ckeditor Importschnittstellen, ckeditor
Die CKEditorWidget ist ein Widget:
& Nbsp; > & Nbsp; > & Nbsp; > & Nbsp; von z3c.form.interfaces importieren IWidget
& Nbsp; > & Nbsp; > & Nbsp; > & Nbsp; verify.verifyClass (interfaces.ICKEditorWidget, ckeditor.CKEditorWidget)
& Nbsp; Wahr
& Nbsp; > & Nbsp; > & Nbsp; > & Nbsp; verify.verifyClass (IWidget, ckeditor.CKEditorWidget)
& Nbsp; Wahr
Das Widget kann ein Eingabefeld nur durch Anpassung eine Anfrage machen:
& Nbsp; > & Nbsp; > & Nbsp; > & Nbsp; von z3c.form.testing import TestRequest
& Nbsp; > & Nbsp; > & Nbsp; > & Nbsp; request = TestRequest ()
& Nbsp; > & Nbsp; > & Nbsp; > & Nbsp; Widget = ckeditor.CKEditorWidget (Anfrage)
Ein solches Widget bietet IWidget:
& Nbsp; > & Nbsp; > & Nbsp; > & Nbsp; IWidget.providedBy (Widget)
& Nbsp; Wahr
Fügen wir einige aussagefähige Daten:
& Nbsp; > & Nbsp; > & Nbsp; > & Nbsp; widget.id = 'id'
& Nbsp; > & Nbsp; > & Nbsp; > & Nbsp; widget.name = 'name'
Wenn wir machen das Widget wir den HTML:
& Nbsp; > & Nbsp; > & Nbsp; > & Nbsp; widget.update ()
& Nbsp; > & Nbsp; > & Nbsp; > & Nbsp; drucken widget.render ()
CKEDITOR.replace ('name', {});
Wie Sie sehen können, zunächst, CK Editor wird mit all seinen Standard instanziiert. Dies kann durch Änderung der Konfigurationsattribut auf den Widget geändert werden.
Wenn der Konfigurations Attribut ist eine Zeichenfolge, wird sie als JavaScript Variablennamen interpretiert. Die Variable muss vorher deklariert werden.
& Nbsp; > & Nbsp; > & Nbsp; > & Nbsp; widget.config = 'myCKEditorConfig'
& Nbsp; > & Nbsp; > & Nbsp; > & Nbsp; widget.update ()
& Nbsp; > & Nbsp; > & Nbsp; > & Nbsp; drucken widget.render ()
CKEDITOR.replace ('name', myCKEditorConfig);
Alternativ kann das Konfigurationsattribut ein Wörterbuch von Optionen, die auf Javascript Renderzeit kodiert werden sein:
& Nbsp; > & Nbsp; > & Nbsp; > & Nbsp; widget.config = {'Werkzeugleiste': 'Basic', 'UIColor': '# 9AB8F3'}
& Nbsp; > & Nbsp; > & Nbsp; > & Nbsp; widget.update ()
& Nbsp; > & Nbsp; > & Nbsp; > & Nbsp; drucken widget.render ()
CKEDITOR.replace ('name', {"UIColor": "# 9AB8F3", "Symbolleiste": "Basic"});
Alle anderen Werte verursachen ein Valueerror zu erheben sind.
& Nbsp; > & Nbsp; > & Nbsp; > & Nbsp; widget.config = 3
& Nbsp; > & Nbsp; > & Nbsp; > & Nbsp; widget.update ()
& Nbsp; Traceback (jüngste Aufforderung zuletzt):
& Nbsp; ...
& Nbsp; Valueerror: ('Ungültige Konfiguration Objekt', 3)
Das Feld-Widget für die Rich-Text-Feld ist natürlich auch:
& Nbsp; > & Nbsp; > & Nbsp; > & Nbsp; Import zope.component
& Nbsp; > & Nbsp; > & Nbsp; > & Nbsp; von z3c.form.interfaces importieren IFieldWidget
& Nbsp; > & Nbsp; > & Nbsp; > & Nbsp; Widget zope.component.getMultiAdapter = ((Text, Anfrage), IFieldWidget)
& Nbsp; > & Nbsp; > & Nbsp; > & Nbsp; Widget
& Nbsp; > & Nbsp; > & Nbsp; > & Nbsp; widget.update ()
& Nbsp; > & Nbsp; > & Nbsp; > & Nbsp; drucken widget.render ()
CKEDITOR.replace ('text', {});
Sie können auch CKEditor Feld Widget erstellen Fabriken im laufenden Betrieb mit einer bestimmten Konfiguration:
& Nbsp; > & Nbsp; > & Nbsp; > & Nbsp; MinimalCKEditorWidget = ckeditor.CKEditorFieldWidgetFactory (
& Nbsp; ... {'Werkzeugleiste': 'Basic', 'UIColor': '# 9AB8F3'})
& Nbsp; > & Nbsp; > & Nbsp; > & Nbsp; Widget = MinimalCKEditorWidget (Text, Anfrage)
& Nbsp; > & Nbsp; > & Nbsp; > & Nbsp; widget.update ()
& Nbsp; > & Nbsp; > & Nbsp; > & Nbsp; drucken widget.render ()
CKEDITOR.replace ('text',
& Nbsp; {"UIColor": "# 9AB8F3", "Symbolleiste": "Basic"});
Was ist neu in dieser Pressemitteilung:
- Unterstützung für Python 3.3.
- Ersetzt veraltet zope.interface.implements Nutzung mit gleichwertigen zope.interface.implementer Dekorateur.
- Dropped Unterstützung für Python 2.4 und 2.5.
Was ist neu in Version 1.1.0:.
- Verbesserte CKEditor zu 3.5.2
- Entfernt deprecation Warnungen.
Anforderungen :
- Python
Kommentare nicht gefunden