首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >将传统界面用于Dexterity模式还是XML?

将传统界面用于Dexterity模式还是XML?
EN

Stack Overflow用户
提问于 2012-08-08 17:06:40
回答 3查看 301关注 0票数 1

Plone Dexterity支持通过接口(使用zope.schema进行定义)或XML文件定义内容类型模式。首选/推荐的方式是什么?

此外:是否有用于定义模式(model/mytype.xml)的XML方言的文档?

presentation看起来很接近,但并不完整。

EN

回答 3

Stack Overflow用户

发布于 2012-08-08 17:47:05

就我个人而言,我更喜欢zope.schema路线;如果我真的想要,我可以用python动态地改变接口属性,而XML定义当然是静态的。

此外,请注意,要针对XML定义的模式注册适配器和视图,无论如何都需要将其放入python代码中:

代码语言:javascript
复制
from plone.dexterity import api

class IMyXMLDefinedType(api.Schema):
    api.model('my_xml_defined_type.xml')

XML方言是plone.supermodel package的一部分;除了source code之外,我找不到任何文档。

票数 2
EN

Stack Overflow用户

发布于 2012-08-11 04:00:13

与xml模型相比,我更喜欢接口。部分原因是我更喜欢Python而不是XML。部分原因是您不能使用XML做某些事情。例如,如果您想使用collective.dexteritytextindexer将一个字段注册为可搜索的,您(目前)不能在Plone界面中设置它,因此您必须使用Python代码,因此必须使用一个界面。但是Martijn在他的回答中表明,您可以在接口中使用api.model来引用xml文件,所以如果您真的想这样做,也许这是一种解决方法。

票数 0
EN

Stack Overflow用户

发布于 2012-08-11 07:48:33

我要说的是,没有硬性而快速的答案,这会导致混乱。

对于更简单的内容类型,或者在开发更复杂的内容类型的早期阶段,我通常倾向于使用超模型XML,因为它与dexterity TTW编辑器的协作非常紧密。它允许我与客户一起工作,可以非常快速地反馈他们希望从其内容类型中获得什么。

有时,我甚至会转到一些功能的文件系统开发中,同时仍然在FTI via supermodel中定义字段。

然而,对于更复杂的内容类型,你几乎肯定会遇到一些仅通过超级模型无法完成的事情。在这一点上,我通常会转换成模式--这通常很容易做到。

理想情况下,如果您正在进行大量的灵活性开发,那么您应该能够非常容易地来回转换。它们只是表示相同对象和属性的不同方式。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/11861182

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档