1
我创建了这个对象,它继承自plone.app.folder.base.BaseBTreeFolder
。在创建它之后,Plone设置一个包含对象名称和创建日期的长名称。我如何将名称更改为与标题相同?如何设置BaseBTreeFolder对象的名称?
我创建了这个对象,它继承自plone.app.folder.base.BaseBTreeFolder
。在创建它之后,Plone设置一个包含对象名称和创建日期的长名称。我如何将名称更改为与标题相同?如何设置BaseBTreeFolder对象的名称?
您需要使用工厂工具注册您的类型。
当在沙箱内最初创建注册内容时,只需要您首次填写编辑表单即可。一旦您提交编辑表单,该项目就会创建为真实,并根据标题给出一个ID。
要注册,或者在“工厂类型”的portal_factory
对象的标签(在ZMI)手动启用你的类型,或在您GenericSetup轮廓与名为factorytool.xml
文件包含注册类型:
<?xml version="1.0"?>
<object name="portal_factory">
<factorytypes>
<type portal_type="YourTypeName" />
<factorytypes>
</object>
您还需要确保您的类型将重命名标志设置为True;在你的班级定义中加入:
_at_rename_after_creation = True
我这样做了,但是不起作用。也许我没有清楚地解释我的问题。它不是在父文件夹中可以看到的名称,而是对象的网址。例如,我创建了这个对象并将标题设置为'test',我可以在父文件夹中看到它的名字'test',但url是'objectname.2012-10-17.2203112108',我希望它是'test '以及。 – tmaster
@tman:是的,这就是我所理解的。对象的id(这是URL中使用的)。扩大。 –
@Martjin你是天才的人。你再次拯救了我的一天。我从来不知道有这样的标志。谢谢。 – tmaster