На предыдущем
шаге я сделал вкладку '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:
А мне теперь
надо наполнять эту заготовку логикой
моего мегааплоада.
Комментариев нет:
Отправить комментарий