我们正在使用 quintagroup.transmogrifier 内容导入配置文件来为我们的自动化测试加载内容(非常有用)。设置默认页面似乎不起作用。
文档建议 quintagroup.transmogrifier 支持设置默认页面,但不支持通用设置导入步骤。我最终发现您需要将 properties.xml 文件添加到文件夹项的文件夹中,其中包含以下内容:
<?xml version="1.0" encoding="utf-8"?>
<properties>
<property name="default_page" type="string">
index
</property>
</properties>
其中 index 替换为默认页面的 id 以及您需要的 import.cfg
[transmogrifier]
pipeline =
reader
…
propertiesimporter
[reader]
…
.properties.xml = propertymanager
[propertiesimporter]
blueprint = quintagroup.transmogrifier.propertiesimporter
但是,这不起作用。我们正在运行 Plone 4.1rc3 + Dexterity 1.0,大概它与 Dexterity 不兼容。我已经在 quintagroup.transmogrifier.propertymanager.PropertiesImporterSection 中找到了它正在下降的代码位:
path = item[pathkey]
obj = self.context.unrestrictedTraverse(path, None)
这里的 path 是一个 unicode 字符串,并且 unrestrictedTraverse 返回 None。如果您使用字节字符串,那么它会返回正确的对象。这是与敏捷不兼容还是我做错了什么?