Das Front-End (in diesem Fall TinyMCE) ist nicht für den Standardwert verantwortlich, es ist das Formular darunter.
Plone 5 verwendet Dexterity-Typen mit z3c-Formen.
EDIT: Dies ist, wie Sie dies die alte Schule Art und Weise zu tun - ich meine die plone Richtlinien Weg - Sry für Sie irreführend. Ich benutze immer noch plone.directives
, die diese Art von Default-Adapter unterstützt.
Der Standardinhaltstyp Document
von plone.app.contenttypes verwendet plone.supermodel. Dies hat ein anderes Konzept.
Wenn Sie immer noch bereit sind, Ihr eigenes Verhalten Rich-Text erstellen Sie diese Anweisungen folgen: http://docs.plone.org/external/plone.app.dexterity/docs/advanced/defaults.html
In Ihrem Fall:
def richtext_default_value(**kwargs):
return RichTextValue('<p>Some text</p>')
@provider(IFormFieldProvider)
class IRichText(model.Schema):
text = RichTextField(
title=_(u'Text'),
description=u"",
required=False,
defaultFactory=richtext_default_value,
)
model.primary('text')
Sie können eine defaultFactory
in das Textfeld hinzuzufügen.
Wenn Sie diese Linien auf Ihrem Ei hacken, wird es funktionieren.
Hier einige Informationen über programmatisch einen Standardwert festlegen:
from plone.directives.form import default_value
from plone.app.contenttypes.behaviors.richtext import IRichText
from plone.app.textfield.value import RichTextValue
@default_value(field = IRichText['text'])
def richtext_default_value(data):
return RichTextValue('<p>Some text</p>')
:
Also in Ihrem Fall so etwas wie folgt aussehen
Sie können die default_value Dekorateur von context
Parametern erweitern um genauer zu sein: @default_value(field = IRichText['text'], context=my.package.content.interfaces.IMyType)
aber da wir das Konzept der Verhaltensweisen kann es besser sein, Ihr eigenes Rich-Text-Verhalten mit einem Standardwert zu implementieren:
- Erstellen eines Verhaltens ->http://docs.plone.org/external/plone.app.dexterity/docs/behaviors/creating-and-registering-behaviors.html UND das plone Standard Richtext Verhalten als Vorlage für Ihre eigenen ->https://github.com/plone/plone.app.contenttypes/blob/1.2.16/plone/app/contenttypes/behaviors/richtext.py
- Entfernen Sie die 'plone.app.contenttypes.behaviors.richtext.IRichText` Verhalten von Ihrem Inhaltstyp (Dokument) durch ZMI (portal_types -> Dokument)
- Fügen Sie Ihr eigenes Richtext-Verhalten hinzu, das kann etwas wie
my.package.behaviors.richtext.IRichtextWithDefaultValue
sein.
Danke für den nützlichen Vorschlag. Ich wollte Ihre Lösung testen, indem Sie sie in mein 'richtext.py' in meinem Verhaltensordner einfügen. Es scheint nicht zu wirken. Aber ich bin mir nicht sicher, ob ich die ganze Zeit im richtigen Ordner bin. Es ist ein '.egg'-Ordner in' Buildout-Cache'. Bin ich auf dem falschen Weg? – Waynebird
@Waynebir: Könnten Sie Ihren Code online veröffentlichen (z. B. github Repo)? Außerdem schlage ich vor, dass Sie das Training bei http://training.plone.org/5 machen, damit Sie verstehen können, wo was ist. –
Ich habe meine Antwort mit einigen Infos über plone.supermodel und einer anderen Möglichkeit, einen Standardwert für das Textfeld zu implementieren, aktualisiert. – Mathias