plone + formlib: как ссылаться на form.pt

Я работаю над plone 3.2.1 и сделал форму formlib с пользовательским шаблоном:

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

class MyForm(formbase.PageForm):
    ...

    template = ViewPageTemplateFile('myform.pt')

Я хочу внести простое изменение в стандартный шаблон formlib. У меня вопрос: как мне сослаться на parts/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> 

person jdinunzio    schedule 28.05.2009    source источник


Ответы (2)


Наконец, я нашел ответ:

<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>
person jdinunzio    schedule 05.06.2009

Просто будьте осторожны (для тех, кто ищет это, как я): строка:

<divmetal:fill-slot="main">

нужен пробел между div и metal:

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

Спасибо; очень полезное решение.

person DJ.    schedule 29.10.2009