2009-05-28 1 views
0

form.pt参照するために、私はPloneの3.2.1に取り組んでいると私は、カスタムテンプレートでformlibのフォームを作りました:Ploneの+ formlib:どのように

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

class MyForm(formbase.PageForm): 
    ... 

    template = ViewPageTemplateFile('myform.pt') 

は私がに簡単な変更をしたいです標準のformlibテンプレート私の質問は、私のテンプレート内の/ zope2/lib/python/zope/formlib/pageform.ptの部分をどのように参照するのですか?

<!-- 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> 

答えて

1

最後に、私は答えを見つけた:

<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

ただ、(私のような本を探している人のために)そこに気をつけてください:ライン:

<divmetal:fill-slot="main"> 

は、内のスペースを必要としますdivと金属の間:

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

ありがとうございます;非常に有用な解決策。