如何将创建TTW的内容类型定义移动到文件系统

时间:2015-06-11 19:28:49

标签: plone dexterity

我使用Dexterity Types控制面板configlet上的Web界面为内容类型定义建模,以便在项目中包含生成的代码:

我最终得到了一个像这样的文件,其中包含一个RichText字段:

<model
    xmlns:i18n="http://xml.zope.org/namespaces/i18n"
    xmlns:security="http://namespaces.plone.org/supermodel/security"
    xmlns:marshal="http://namespaces.plone.org/supermodel/marshal"
    xmlns:form="http://namespaces.plone.org/supermodel/form"
    xmlns:indexer="http://namespaces.plone.org/supermodel/indexer"
    xmlns="http://namespaces.plone.org/supermodel/schema">
  <schema>
    ...
    <field name="biography" type="plone.app.textfield.RichText">
      <description>A detailed description of a person's life.</description>
      <required>False</required>
      <title>Biography</title>
    </field>
    ...
  </schema>
</model>

我将该文件复制到项目中我称为models的目录。

我也导出了类型信息,我编辑的文件如下所示:

<?xml version="1.0"?>
<object name="mytype" meta_type="Dexterity FTI">
  ...
  <property name="schema">my.project.content.IMyType</property>
  <property name="klass">my.project.content.MyType</property>
  ...
</object>

然后我在content.py模块中添加了以下代码:

from plone.dexterity.content import Item
from plone.supermodel import model

class IMyType(model.Schema):

    """My Type."""

    model.load('models/mytype.xml')

class MyType(Item):

    """My Type."""

最后,我添加了一些基本测试,但是它们失败并出现以下错误(完全回溯here):

ConfigurationExecutionError: <class 'plone.supermodel.parser.SupermodelParseError'>: Field type plone.app.textfield.RichText specified for field biography is not supported

我在这里做错了什么?我忘了什么吗?

0 个答案:

没有答案