【问题标题】:Updating old add-on with portal_tool from Plone 2.1 (Archetypes) to 4.3 (Dexterity)使用portal_tool 将旧插件从Plone 2.1(原型)更新到4.3(敏捷)
【发布时间】:2015-10-14 10:35:41
【问题描述】:

我正在尝试将具有 2 种内容类型(原型)的 plone 2.1 插件更新为 Plone 4(敏捷)。

其中一种内容类型 (foo) 的作用类似于 portal_tool,它是一个独特的“容器”,其中必须添加具有某些字段的另一种内容类型 (bar)(并且仅在此“容器”上)。

我不确定是否有办法在 Dexterity 上做到这一点,就像以前在 Archetypes 上一样。此外,在这种情况下,自定义 portal_tools 是 Plone 4.x+ 中可行的方式还是已弃用?

这里有一些摘录(来自 AT):

foo.py:

class foo(UniqueObject, BaseFolder):
    ...
    __implements__ = (getattr(UniqueObject,'__implements__',()),) + (getattr(BaseFolder,'__implements__',()),)
    ...
    allowed_content_types = ['bar']
    ...
    def __init__(self, id=None):
        BaseFolder.__init__(self,'portal_foo')
        self.setTitle('Foo')
    ...

bar.py:

class bar(BaseContent):
    ...

【问题讨论】:

    标签: plone


    【解决方案1】:

    不确定创建扩展 UniqueObject 的自定义 Dexterity 内容类型是否可行(可能不行),但使用 Plone 内容类型进行单点配置是一种非常古老且已弃用的方法。

    我的建议是将您的配置移至Plone registry

    【讨论】:

    • 感谢您的回复!实际上我是在 Plone 4.3 中从头开始创建这个插件的。我正在检查这个。
    • 我完成了创建一个文件夹作为内容类型 (foo) 并限制在此文件夹上添加 'bar' 内容类型。唯一的“不便”是“foo”可以添加到站点的任何位置,这不是原始行为(“foo”是唯一的)。无论如何感谢您的回答:)。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-04-07
    • 1970-01-01
    • 1970-01-01
    • 2012-02-04
    • 2012-08-09
    相关资源
    最近更新 更多