我有一個老式的產品有幾個類。在課堂上,我已經定義了meta_type,我也註冊他們__init__.py
,即:zmi:重複添加產品列表
def initialize(context):
context.registerClass(
ClassA.ClassA,
permission = "Add ClassA",
constructors = (ClassA.manage_addClassA,
ClassA.manage_addClassA),
icon = 'www/images/ClassA.gif'
)
,直到我從2.9更新了我的Zope 2.13這工作得很好。現在在zmi中,在「添加產品」下拉列表中,這些meta_types分別顯示兩次。
我試圖跟蹤此錯誤的來源:
- ObjectManager.py,filtered_meta_types
- ObjectManager.py,all_meta_types
- GETATTR(產品信息, 'meta_types',())
現在我不知道下一步要看的地方:)
這只是一個滋擾,它不會導致產品功能的任何問題。也許我應該更新它到一個新的zope產品,但我很好奇這個錯誤來自哪裏。
確實好奇;我自己沒有見過。是否有一個帶'five:registerPackage'指令的'configure.zcml'文件? –
感謝Martijn,它做到了:我只需要在configure.zcml中註釋掉它,重複就消失了。它沒有反過來:在'__init __。py'中註釋掉兩個重複項。也許你想發佈解決方案,以便問題被標記爲回答? :) – Rastaf
你走了;擴展解釋爲什麼*你的初始化器被調用兩次。 –