przyjętego rozwiązania może być nieco niejasne, więc oto kilka wyjaśnień:
1) Nie wolno zmieniać swoją globalną konfigurację rodzajowe.
Chyba że robisz coś bardzo dziwnego, musisz konfiguracji witryny w postaci szeregu rozszerzeń Plone i mają strukturę folderów jak:
app.plugin/
app.plugin/app/
app.plugin/app/configure.zcml
app.plugin/app/profiles/
app.plugin/app/profiles/default
app.plugin/app/profiles/default/types
app.plugin/app/profiles/default/types/Folder.xml
app.plugin/app/profiles/default/types/app.mydexteritytype.xml
app.plugin/app/profiles/default/types.xml
app.plugin/app/profiles/default/portlets.xml
app.plugin/app/profiles/default/catalog.xml <---- ADD THIS
2) użytkownik nie mieć mieć blok xml (zgodnie z przyjętym rozwiązaniem) w pliku catalog.xml, możesz po prostu utworzyć indeks z ZMI interfejsu. Jeśli jednak to zrobisz, zostanie zerwany podczas następnego instalowania wtyczek. Więc prawdopodobnie chcesz do chcesz.
3) Po zainstalowaniu catalog.xml, przejdź do interfejsu ZMI do portal_catalog i sprawdzić, czy na karcie „” Twoje indeksy indeks istnieje. Jeśli to nie pomieszałeś.
4) Aby zbudować indeks, należy przejść do zakładki "zaawansowane" i wybrać odbudować.
5) Indeksator łapczywie pochłania wyjątki i nie podnosi ich (szczególnie ważne dla AttributeError; nie można indeksować niektórych wartości, które mają być indeksowane), więc jeśli chcesz się upewnić, że indeksator faktycznie działa, spróbuj dodać dziennik lub druk oświadczenie w nim:
@indexer(IMyDexterityType)
def dummy_indexer(obj, **kw):
try:
print('indexed: %r' % obj)
return obj.title
except Exception as e:
print('index fail: %r' % e)
return ''
Jeżeli nic innego nie powinny być widoczne jakieś wyjście jak:
2013-08-12 16:42:28 INFO GenericSetup.archetypetool Archetype tool imported.
2013-08-12 16:42:28 INFO GenericSetup.resourceregistry Stylesheet registry imported.
2013-08-12 16:42:28 INFO GenericSetup.resourceregistry Javascript registry imported.
indexed: <MyDexterityType at /Plone/test/cat-document-0>
indexed: <MyDexterityType at /Plone/test/hello>
6) grok.global_adapter() jak wspomniano w niektórych z dokumentacją (http://developer.plone.org/reference_manuals/external/plone.app.dexterity/advanced/catalog-indexing-strategies.html?highlight=custom%20indexing#creating-custom-indexers) jest o rejestrowaniu wirtualnych p właściwości i nie zmniejsza konieczności konfigurowania pliku catalog.xml.
Wreszcie ktoś umieścić przykład przerobieniu na github tutaj, co jest niezwykle przydatne:
https://github.com/aclark4life/event_days_indexer
Nadal nie dodać nowy indeks z Generic instalacji, ponieważ spowoduje utratę wszystkich danych, jeśli ponowna używając quick_installer. –
Ponowna instalacja produktów jest oznaką, że robisz to źle. – MatthewWilkes