Я пытаюсь реализовать базовый тип контента Zope2 напрямую, не используя ловкость или архетипы, потому что мне нужно, чтобы это было чрезвычайно бережно
from OFS.SimpleItem import SimpleItem
from Products.ZCatalog.CatalogPathAwareness import CatalogAware
from persistent.list import PersistentList
class Doculite(SimpleItem, CatalogAware):
""" implement our class """
meta_type = 'Doculite'
def __init__(self, id, title="No title", desc=''):
self.id = id
self.title = title
self.desc = desc
self.tags = PersistentList()
self.default_catalog = 'portal_catalog'
def add_tags(self, tags):
self.tags.extend(tags)
def Subject(self):
return self.tags
def indexObject(self):
self.reindex_object()
Из внешнего метода я делаю это:
def doit(self):
pc = self.portal_catalog
res1 = pc.searchResults()
o1 = self['doc1']
o1.add_tags(['test1', 'test2'])
o1.reindex_object()
res2 = pc.searchResults()
return 'Done'
Я очищаю каталог и запускаю свой внешний метод. Мой объект не попадает в каталог. Но на вкладке индексов, когда я просматриваю предметный указатель, я вижу свой элемент контента в списке со значениями. И res1 и res2 и пусто.
Почему мой элемент контента не отображается внутри searchResuts () каталога?