2009-05-28 9 views
0

Ich arbeite an plone 3.2.1 verweisen und ich habe eine formlib der Form mit einer benutzerdefinierten Vorlage gemacht:plone + formlib: Wie form.pt

from Products.Five.formlib import formbase 
from Products.Five.browser.pagetemplatefile import ViewPageTemplateFile 
... 

class MyForm(formbase.PageForm): 
    ... 

    template = ViewPageTemplateFile('myform.pt') 

Ich mag eine einfache Änderung vornehmen zu die Standard-Formlib-Vorlage. Meine Frage ist: Wie referenziere ich die Teile/zope2/lib/python/zope/formlib/pageform.pt in meiner Vorlage?

<!-- myform.pt --> 
<metal:macro metal:use-macro="WHAT GOES HERE??"> 
    <div metal:fill-slot="extra-info"> 
    I just want to put a text before the standard formlib template 
    </div> 
</metal:macro> 

Antwort

1

Schließlich fand ich die Antwort:

<html xmlns="http://www.w3.org/1999/xhtml"            
     xmlns:metal="http://xml.zope.org/namespaces/metal" 
     xmlns:tal="http://xml.zope.org/namespaces/tal" 
     xmlns:i18n="http://xml.zope.org/namespaces/i18n" 
     metal:use-macro="context/main_template/macros/master"> 
<body> 
    <div metal:fill-slot="main"> 
    <div metal:use-macro="context/@@base-pageform.html/macros/form"> 
     <metal:block fill-slot="extra_info"> 
     <!-- HERE we go --> 
     </metal:block> 
    </div> 
    </div> 
</body> 
</html> 
0

Gerade dort aufgepasst (für alle, die diese suchen, wie ich): die Zeile:

<divmetal:fill-slot="main"> 

braucht einen Platz in zwischen div und metall:

<div metal:fill-slot="main"> 

Danke; sehr hilfreiche Lösung.