На предыдущем
шаге я сделал вкладку 'View'
для Zope Product. Теперь
рассмотрим, что надо сделать, чтобы в
ZMI появилась вкладка 'Properties'
для объектов типа VCUFile.
Вообще говоря, изменений
чуть, ибо вся логика наследуется из
OFS.PropertyManager/PropertyManager:
from OFS.PropertyManager import PropertyManager
from AccessControl import ClassSecurityInfo
from Globals import InitializeClass
from vcufile import IVCUFile
from zope.interface import implements
from Products.PageTemplates.PageTemplateFile import PageTemplateFile # ZPT files
from Globals import DTMLFile # dtml files
addForm = DTMLFile('www/vcuFileAdd', globals())
def addFunction(self, id, filename, REQUEST=None):
"""addForm processor function. Constructor.
Create a new VCUFile and add it to container.
"""
p = VCUFileProduct(id, filename)
self.Destination()._setObject(id, p)
if REQUEST is not None:
return self.manage_main(self, REQUEST, update_menu=0)
return id
#def addFunction(dispatcher, id, filename):
class VCUFileProduct(Implicit, Persistent, RoleManager, Item, PropertyManager):
"""VCUFile product class, implements IVCUFile
"""
implements(IVCUFile)
#Item requerements
meta_type = 'VCUFile'
id = ''
title = ''
# ZMI views
manage_options = (
{'label':'Edit', 'action': 'editForm'}, # # editForm invoke editFunction
{'label':'View', 'action': ''}, # If your class has a default view method (index_html) you should also include a View view whose action is an empty string.
) + PropertyManager.manage_options + RoleManager.manage_options + Item.manage_options # properties, security, undo, ownership
|
В модуль с
классом продукта внесены изменения
(выделены жирным) — добавлена одна
строка (импорт) и изменены две (список
наследования класса и добавка к
'manage_options').
Эти изменения
реализуют вкладку 'Options'
в ZMI для объектов VCUFile.
Что и требовалось.
На этом можно
и закончить обзор вопроса «как же мне
создать Zope Product».
Вот так и создать:
Про установку
Zope:
А мне теперь
надо наполнять эту заготовку логикой
моего мегааплоада.
Комментариев нет:
Отправить комментарий