स्वीकार कर लिया समाधान थोड़ा अस्पष्ट हो सकता है, इसलिए यहाँ स्पष्टीकरण के एक जोड़े हैं:
1) अपने वैश्विक जेनेरिक सेटअप संपादित न करें।
जब तक आप कुछ बेहद अजीब कर रहे हैं, आप प्लोन विस्तारीकरण की एक श्रंखला के रूप में अपनी साइट सेटअप होगा, और की तरह एक फ़ोल्डर संरचना है:
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) आप नहीं है catalog.xml में एक एक्सएमएल ब्लॉक (स्वीकार्य समाधान के अनुसार) रखने के लिए, आप केवल फ्रंटेंड जेएमआई से इंडेक्स बना सकते हैं। हालांकि, अगर आप ऐसा करते हैं, तो अगली बार जब आप अपने प्लगइन इंस्टॉल करेंगे तो इसे उड़ा दिया जाएगा। तो आप शायद करना चाहते हैं।
3) अपना कैटलॉग.एक्सएमएल स्थापित करने के बाद, पोर्टल_catalog में जेएमआई इंटरफ़ेस पर ब्राउज़ करें और जांचें कि 'इंडेक्स' टैब के अंतर्गत आपकी अनुक्रमणिका मौजूद है। यदि यह गड़बड़ नहीं हुआ है।
4) इंडेक्स बनाएं, आपको 'उन्नत' टैब पर जाना होगा और पुनर्निर्माण करना होगा।
5) सूचकांक लालच से अपवादों का उपभोग करता है और उन्हें विशेष रूप से महत्वपूर्ण नहीं बनाता है (विशेष रूप से विशेषता के लिए महत्वपूर्ण; आप कुछ मानों को इंडेक्स नहीं कर सकते हैं जिन्हें आप अनुक्रमणित करना चाहते हैं), इसलिए यदि आप यह सुनिश्चित करना चाहते हैं कि आपका इंडेक्सर वास्तव में चल रहा है, तो जोड़ने का प्रयास करें उस में एक लॉग या प्रिंट बयान:
@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 ''
और कुछ नहीं है कि आपने कभी उत्पादन की तरह देखना चाहिए:
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() के रूप में से कुछ प्रलेखन (http://developer.plone.org/reference_manuals/external/plone.app.dexterity/advanced/catalog-indexing-strategies.html?highlight=custom%20indexing#creating-custom-indexers में उल्लेख किया है) है आभासी पी पंजीकरण के बारे में roperties, और अपने catalog.xml सेटअप करने की आवश्यकता को कम नहीं करता है।
अंत में, कोई एक काम उदाहरण ऊपर GitHub पर यहाँ रखा है, जो अत्यंत उपयोगी है:
https://github.com/aclark4life/event_days_indexer
फिर भी,, सामान्य सेटअप के साथ नया सूचकांक में शामिल न करें यदि आप को पुन: क्योंकि आप अपने सभी डेटा खो देंगे यह quick_installer का उपयोग कर रहा है। –
सामान्य रूप से उत्पादों को पुनर्स्थापित करना एक संकेत है जिसे आप गलत कर रहे हैं। – MatthewWilkes