2012-08-27 26 views
7

मैं एक प्लोन ऐड-ऑन पर काम कर रहा हूं जिसके लिए निपुणता सामग्री के लिए फिर से स्किन किए गए वैकल्पिक संपादन फ़ॉर्म की आवश्यकता होती है। मुझे एक AJAX ओवरले में संपादन फ़ॉर्म का केवल एक भाग प्रदर्शित करने में सक्षम होना चाहिए (JQuery UI का उपयोग करके, JQuery टूल्स नहीं, इसलिए जावास्क्रिप्ट में फ़िल्टर करने के बजाय यह सर्वर-पक्ष करना अधिक उचित लगता है) **।प्लान में अनुकूलित निपुणता संपादन फॉर्म टेम्पलेट?

Dexterity Developer's Guide से प्रलेखन इंगित करता है कि मैक्रोज़ का उपयोग करके एक कस्टम टेम्पलेट हो सकता है। यद्यपि इस खंड से कुछ गुम है - हो सकता है कि लोगों के लिए कुछ महत्वपूर्ण संदर्भ हो, जो विचारों को बांधने के लिए ग्रोक का उपयोग नहीं कर रहे हैं, लेकिन शायद कुछ और। टेम्पलेट-केवल दृश्य बनाना विफल रहता है (स्पष्ट रूप से दृश्य वर्ग से नाम नहीं मिल सकता है), और जेडसीएमएल में कस्टम टेम्पलेट को या तो स्टॉक व्यू क्लास या इसके सबक्लास में बाध्य करने का प्रयास करने में विफल रहता है (टेम्पलेट को इसके पक्ष में अनदेखा किया जाता है स्टॉक टेम्पलेट)।

मेरे लक्ष्य:

  1. उस के लिए एक संपादन कि अनिवार्य रूप से सिर्फ #content div अंदर सामग्री में शामिल हैं एक नंगे टेम्पलेट में लपेटा जाता है है।
  2. मैं केवल एक अनचाहे z3c.form प्रतिपादन नहीं चाहता हूं, मुझे इसे लपेटने के लिए एक न्यूनतम टेम्पलेट चाहिए - केवल स्टॉक प्लोन व्यूलेट प्रबंधक और फर्निचर नहीं।

क्या काम नहीं करता:

from plone.dexterity.browser.edit import DefaultEditForm 
from Products.Five.browser.pagetemplatefile import ViewPageTemplateFile 

class MyEditForm(DefaultEditForm): 
    index = ViewPageTemplateFile('my_edit_template.pt') 

ZCML समकक्ष (क्रम जादू के साथ सूचकांक को परिभाषित) भी यहां काम नहीं करता।

मैं एक संपादन टेम्पलेट में एक कस्टम टेम्पलेट कैसे इंजेक्ट कर सकता हूं?

** मैं plone.app.event के निपुणता-आधारित प्रकार के साथ Solgema.fullcalendar संगतता पर काम कर रहा हूं। Solgema.fullcalendar पॉपअप के लिए jQuery UI का उपयोग करता है, नहीं plone.app.jquerytools ओवरले हेल्पर्स; स्थिरता के लिए, यह सामान्य प्लोन ओवरलेज़ की जावास्क्रिप्ट में फ़िल्टर तंत्र की नकल करने का प्रयास करने के लिए यह न्यूनतम दृश्य नहीं है और यह समझ में आता है।

+0

पीछे की ओर, यह जवाब देने के लिए एक आसान सवाल होगा यदि आपने जो कोशिश की थी, उसका कोड नमूना प्रदान किया था, लेकिन आपने नहीं किया था। –

+1

सहमत, ओपी को कोड उदाहरण जोड़ा गया और उत्तर देने के लिए (लंबित समीक्षा)। – sdupton

उत्तर

9

z3c.form template विशेषता के रूप में टेम्पलेट के लिए लग रहा है, तो आप अपने कस्टम टेम्पलेट (जहां टेम्पलेट ZCML विशेषता कहते है) बल्कि index से, अपने संपादित रूप उपवर्ग के template विशेषता को सौंपने होंगे।

from plone.dexterity.browser.edit import DefaultEditForm 
from Products.Five.browser.pagetemplatefile import ViewPageTemplateFile 

class MyEditForm(DefaultEditForm): 
    template = ViewPageTemplateFile('my_edit_template.pt')