Sektionen
Benutzerspezifische Werkzeuge
Sie sind hier: Startseite Support Dokumentation docs Plone configlet mit RichText-Feld

Plone configlet mit RichText-Feld

In Plone configlets wird Standardmäßig formlib zur Formularerzeugung verwendet. Dieser Artikel beschreibt die Verwendung von einem RichTextWidget (WYSIWYGWidget) in einem configlet.

Schema definieren

Wir definieren uns zunächst ein schema:

from zope.interface import Interface
from zope import schema

class IDashboardConfig(Interface):
"""Edit Dashboard settings."""
dashboard_prolog = schema.Text(
default = u"",
required = True,
title = _(u"Dashboard prolog text"),
)

Wie man sieht, wird hier ein ganz normales Text-field verwendet.

Das RichText-Widget (WYSIWYGWidget) aktivieren

In der Definition des Formulars, wird nun dem Feld mittels custom_widget Attribut das RichText-widget (WYSIWYGWidget) zugewiesen.

from plone.app.controlpanel.form import ControlPanelForm
from plone.app.form.widgets.wysiwygwidget import WYSIWYGWidget
from interfaces import IDashboardConfig

class DashboardControlPanel(ControlPanelForm):
""" Controlpanel form for dashboard configuration."""
form_fields = form.Fields(IDashboardConfig)
form_fields['dashboard_prolog'].custom_widget = WYSIWYGWidget
description = _(u"Define settings for dashboard.")
form_name = _(u"Dashboard Config Panel")
label = _(u"Dashboard Configuration Panel")