2

我在 Employee.xml 中有一个定义为模型的敏捷内容类型。

<model xmlns="http://namespaces.plone.org/supermodel/schema"
   xmlns:marshal="http://namespaces.plone.org/supermodel/marshal"
   xmlns:i18n="http://xml.zope.org/namespaces/i18n"
   i18n:domain="plone">
  <schema>
    <field name="fullname" type="zope.schema.TextLine">
      <description />
      <required>True</required>
      <title>Firstname and Surname</title>
    </field>
    <field name="position" type="zope.schema.TextLine">
      <description />
      <required>True</required>
      <title>Position</title>
    </field>
  </schema>
</model>

很容易。该类在 content.py 中定义。

class Employee(Item):
    """Convenience subclass for ``Employee`` portal type
    """

我的数据库中有一些 Employee 实例。

现在我想为我的内容类型添加一个新功能。

class Employee(Item):
    """Convenience subclass for ``Employee`` portal type
    """

    def Title(self):
        return self.fullname

现在我可以在 folder_contents 视图中看到员工的全名。但它仅适用于修改后添加的实例。“旧”内容似乎需要迁移。我的问题:如何?文档没有帮助。(https://docs.plone.org/develop/plone/persistency/migrations.html

4

1 回答 1

4

较旧的实例尚未重新编制索引,因此基于目录的所有内容(集合、导航、搜索、文件夹内容等)都无法知道它们的新 Title 属性。

只需重新索引您的 portal_catalog 就可以了。

于 2017-05-05T13:35:12.910 回答