[Zope3-Users] Page Template not interpreted

Sébastien VINOT sebastien.vinot at logisphere.fr
Wed Sep 6 17:09:03 EDT 2006


Hello,

I'm working with Philipp Von Weitershausen's book and I get a strong 
result concerning the "Customizing a site's layout" (chapt. 8) : After 
setting up all the files my object receipt displays a page which 
contains (on the code) the metal tags.

I've reduced the receiptview.pt to a title and a simple content and the 
result is :

My PT :

<html xmlns="http://www.w3.org/1999/xhtml"
      xmlns:tal="http://xml.zope.org/namespaces/tal"
      xmlns:metal="http://xml.zope.org/namespace/metal"
      metal:use-macro="context/@@standard_macros/page">

<head>
  <title metal:fill-slot="title"
        tal:content="context/@@standard_macros/page">Name</title>
</head>

<body>
  <div metal:fill-slot="body">
    Bonjour !!!
    Ici
  </div>
</body>
</html>

And the HTML :

<html xmlns="http://www.w3.org/1999/xhtml"
      xmlns:metal="http://xml.zope.org/namespace/metal"
      metal:use-macro="context/@@standard_macros/page">

<head>
  <title metal:fill-slot="title">[('version', '1.6'), ('mode', 'html'), ('setPosition', (1, 1)), ('setSourceFile', '/opt/Zope-3.2.1/lib/python/zope/app/rotterdam/template_tablelayout.pt'), ('beginScope', {u'define-macro': u'page'}), ('optTag', (u'metal:block', None, 'metal', 0, [('startTag', (u'metal:block', [(u'define-macro', u'page', 'metal')]))], [('setPosition', (1, 34)), ('defineSlot', (u'doctype', [('beginScope', {u'define-slot': u'doctype'}), ('optTag', (u'metal:block', None, 'metal', 0, [('startTag', (u'metal:block', [(u'define-slot', u'doctype', 'metal')]))], [('rawtextOffset', (u'&lt;!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"&gt;', 121))])), ('endScope', ())])), ('setPosition', (1, 190)), ('setSourceFile', '/opt/Zope-3.2.1/lib/python/zope/app/rotterdam/template_tablelayout.pt'), ('rawtextColumn', (u'\n\n', 0)), ('setPosition', (3, 0)), ('beginI18nContext', {'source': None, 'domain': u'zope', 'target': None}), ('beginScope', {u'lang': u'en', u'i18n:domain': u'zope', u'xmlns': u'http://www.w3.org/1999/xhtml', u'tal:define': u"sitemgmt python:'/++etc++site/' in str(request.URL)", u'xml:lang': u'en'}), ('setLocal', (u'sitemgmt', &lt;PythonExpr ('/++etc++site/' in str(request.URL))&gt;)), ('startTag', (u'html', [(u'xmlns', u'xmlns="http://www.w3.org/1999/xhtml"'), (u'xml:lang', u'xml:lang="en"'), (u'lang', u'lang="en"'), (u'i18n:domain', u'zope', 'i18n'), (u'tal:define', u"sitemgmt python:'/++etc++site/' in str(request.URL)", 'tal')])), ('rawtextColumn', (u'\n\n  &lt;head&gt;\n    ', 4)), ('setPosition', (10, 4)), ('defineSlot', (u'title', [('beginI18nContext', {'source': None, 'domain': u'zope', 'target': None}), ('beginScope', {u'metal:define-slot': u'title', u'tal:content': u'string:Z3: ${context/zope:title_or_name}'}), ('startTag', (u'title', [(u'metal:define-slot', u'title', 'metal'), (u'tal:content', u'string:Z3: ${context/zope:title_or_name}', 'tal')])), ('insertText', (&lt;StringExpr u'Z3: ${context/zope:title_or_name}'&gt;, [('rawtextOffset', (u'Z3 UI', 5))])), ('endScope', ()), ('rawtextOffset', (u'&lt;/title&gt;', 8)), ('endI18nContext', ())])), ('setPosition', (11, 71)), ('setSourceFile', '/opt/Zope-3.2.1/lib/python/zope/app/rotterdam/template_tablelayout.pt'), ('rawtextBeginScope', (u'\n\n    ', 4, (13, 4), 0, {u'media': u'all', u'type': u'text/css', u'tal:content': u'string:@import url(${context/++resource++zope3_tablelayout.css});'})), ('startTag', (u'style', [(u'type', u'type="text/css"'), (u'media', u'media="all"'), (u'tal:content', u'string:@import url(${context/++resource++zope3_tablelayout.css});', 'tal')])), ('insertText', (&lt;StringExpr u'@import url(${context/++resource++zope3_tablelayout.css});'&gt;, [('rawtextColumn', (u'\n      @import url(zope3_tablelayout.css);\n    ', 4))])), ('rawtextBeginScope', (u'&lt;/style&gt;\n\n    ', 4, (18, 4), 1, {u'media': u'all', u'tal:condition': u'sitemgmt', u'type': u'text/css', u'tal:content': u'string:@import url(${context/++resource++site_management_tablelayout.css});'})), ('condition', (&lt;PathExpr standard:u'sitemgmt'&gt;, [('startTag', (u'style', [(u'type', u'type="text/css"'), (u'media', u'media="all"'), (u'tal:condition', u'sitemgmt', 'tal'), (u'tal:content', u'string:@import url(${context/++resource++site_management_tablelayout.css});', 'tal')])), ('insertText', (&lt;StringExpr u'@import url(${context/++resource++site_management_tablelayout.css});'&gt;, [('rawtextColumn', (u'\n      @import url(site_management_tablelayout.css);\n    ', 4))])), ('rawtextOffset', (u'&lt;/style&gt;', 8))])), ('endScope', ()), ('rawtextColumn', (u'\n\n    &lt;meta http-equiv="Content-Type" content="text/html;charset=utf-8" /&gt;\n\n    ', 4)), ('setPosition', (26, 4)), ('defineSlot', (u'headers', [('beginI18nContext', {'source': None, 'domain': u'zope', 'target': None}), ('beginScope', {u'define-slot': u'headers'}), ('optTag', (u'metal:block', None, 'metal', 1, [('startEndTag', (u'metal:block', [(u'define-slot', u'headers', 'metal')]))], [])), ('endScope', ()), ('endI18nContext', ())])), ('setPosition', (26, 4)), ('setSourceFile', '/opt/Zope-3.2.1/lib/python/zope/app/rotterdam/template_tablelayout.pt'), ('rawtextColumn', (u'\n    ', 4)), ('setPosition', (27, 4)), ('defineSlot', (u'style_slot', [('beginI18nContext', {'source': None, 'domain': u'zope', 'target': None}), ('beginScope', {u'define-slot': u'style_slot'}), ('optTag', (u'metal:block', None, 'metal', 1, [('startEndTag', (u'metal:block', [(u'define-slot', u'style_slot', 'metal')]))], [])), ('endScope', ()), ('endI18nContext', ())])), ('setPosition', (27, 4)), ('setSourceFile', '/opt/Zope-3.2.1/lib/python/zope/app/rotterdam/template_tablelayout.pt'), ('rawtextColumn', (u'\n    ', 4)), ('setPosition', (28, 4)), ('defineSlot', (u'ecmascript_slot', [('beginI18nContext', {'source': None, 'domain': u'zope', 'target': None}), ('beginScope', {u'define-slot': u'ecmascript_slot'}), ('optTag', (u'metal:block', None, 'metal', 1, [('startEndTag', (u'metal:block', [(u'define-slot', u'ecmascript_slot', 'metal')]))], [])), ('endScope', ()), ('endI18nContext', ())])), ('setPosition', (28, 4)), ('setSourceFile', '/opt/Zope-3.2.1/lib/python/zope/app/rotterdam/template_tablelayout.pt'), ('rawtextBeginScope', (u"\n\n    &lt;!-- Basic zope3 javascript's --&gt;\n    ", 4, (31, 4), 0, {u'src': u'zope3.js', u'type': u'text/javascript', u'tal:attributes': u'src string:${context/++resource++zope3.js}'})), ('startTag', (u'script', [(u'type', u'type="text/javascript"'), (u'src', u'zope3.js', 'replace', &lt;StringExpr u'${context/++resource++zope3.js}'&gt;, False, None), (u'tal:attributes', u'src string:${context/++resource++zope3.js}', 'tal')])), ('endScope', ()), ('rawtextColumn', (u'\n    &lt;/script&gt;\n\n    ', 4)), ('setPosition', (35, 4)), ('useMacro', (u'context/@@standard_macros/navigation_tree_js', &lt;PathExpr standard:u'context/@@standard_macros/navigation_tree_js'&gt;, {}, [('beginScope', {u'use-macro': u'context/@@standard_macros/navigation_tree_js'}), ('optTag', (u'metal:tree', None, 'metal', 1, [('startEndTag', (u'metal:tree', [(u'use-macro', u'context/@@standard_macros/navigation_tree_js', 'metal')]))], [])), ('endScope', ())])), ('setPosition', (35, 4)), ('setSourceFile', '/opt/Zope-3.2.1/lib/python/zope/app/rotterdam/template_tablelayout.pt'), ('rawtextBeginScope', (u'\n\n    ', 4, (37, 4), 0, {u'type': u'image/png', u'tal:attributes': u'href context/++resource++favicon.png', u'rel': u'icon'})), ('startEndTag', (u'link', [(u'rel', u'rel="icon"'), (u'type', u'type="image/png"'), (u'tal:attributes', u'href context/++resource++favicon.png', 'tal'), (u'href', None, 'insert', &lt;PathExpr standard:u'context/++resource++favicon.png'&gt;, False, None)])), ('rawtextBeginScope', (u'\n  &lt;/head&gt;\n\n  ', 2, (41, 2), 1, {u'tal:attributes': u'onload body_onload | nothing'})), ('startTag', (u'body', [(u'tal:attributes', u'onload body_onload | nothing', 'tal'), (u'onload', None, 'insert', &lt;PathExpr standard:u'body_onload | nothing'&gt;, False, None)])), ('rawtextColumn', (u'\n        &lt;table id="layout" border="0" cellspacing="0" cellpadding="0"&gt;\n            &lt;tr&gt;\n                &lt;td colspan="2" id="top"&gt;\n                    ', 20)), ('setPosition', (45, 20)), ('defineSlot', (u'global', [('beginI18nContext', {'source': None, 'domain': u'zope', 'target': None}), ('beginScope', {u'define-slot': u'global'}), ('optTag', (u'metal:slot', None, 'metal', 0, [('startTag', (u'metal:slot', [(u'define-slot', u'global', 'metal')]))], [('rawtextColumn', (u'\n                        ', 24)), ('setPosition', (46, 24)), ('defineMacro', (u'global', [('version', '1.6'), ('mode', 'html'), ('setPosition', (46, 24)), ('setSourceFile', '/opt/Zope-3.2.1/lib/python/zope/app/rotterdam/template_tablelayout.pt'), ('startTag', (u'div', [(u'id', u'id="global"'), (u'metal:define-macro', u'global', 'metal')])), ('rawtextColumn', (u'\n                            ', 28)), ('setPosition', (47, 28)), ('defineSlot', (u'user_details', [('beginI18nContext', {'source': None, 'domain': u'zope', 'target': None}), ('startTag', (u'div', [(u'id', u'id="userDetails"'), (u'metal:define-slot', u'user_details', 'metal')])), ('rawtextColumn', (u'\n                                ', 32)), ('setPosition', (48, 32)), ('defineMacro', (u'logged_user', [('version', '1.6'), ('mode', 'html'), ('setPosition', (48, 32)), ('setSourceFile', '/opt/Zope-3.2.1/lib/python/zope/app/rotterdam/template_tablelayout.pt'), ('beginScope', {u'define-macro': u'logged_user'}), ('optTag', (u'metal:block', None, 'metal', 0, [('startTag', (u'metal:block', [(u'define-macro', u'logged_user', 'metal')]))], [('rawtextColumn', (u'\n                                    ', 36)), ('setPosition', (49, 36)), ('beginI18nContext', {'source': None, 'domain': u'zope', 'target': None}), ('beginScope', {u'tal:omit-tag': u'', u'i18n:translate': u''}), ('optTag', (u'span', u'', None, 0, [('startTag', (u'span', [(u'tal:omit-tag', u'', 'tal'), (u'i18n:translate', u'', 'i18n')]))], [('insertTranslation', (u'', [('rawtextOffset', (u'User:', 5))]))])), ('endScope', ()), ('endI18nContext', ()), ('rawtextBeginScope', (u'\n                                    ', 36, (50, 36), 0, {u'replace': u'request/principal/title'})), ('optTag', (u'tal:block', '', 'tal', 0, [('startTag', (u'tal:block', [(u'replace', u'request/principal/title', 'tal')]))], [('insertText', (&lt;PathExpr standard:u'request/principal/title'&gt;, [('rawtextColumn', (u'\n                                        User\n                                    ', 36))]))])), ('endScope', ()), ('rawtextColumn', (u'\n                                ', 32))])), ('endScope', ())])), ('rawtextColumn', (u'\n                                ', 32)), ('setPosition', (54, 32)), ('defineSlot', (u'login_logout', [('beginI18nContext', {'source': None, 'domain': u'zope', 'target': None}), ('beginScope', {u'define-slot': u'login_logout'}), ('optTag', (u'metal:block', None, 'metal', 0, [('startTag', (u'metal:block', [(u'define-slot', u'login_logout', 'metal')]))], [('rawtextColumn', (u'\n                                    ', 36)), ('setPosition', (55, 36)), ('defineMacro', (u'login_logout', [('version', '1.6'), ('mode', 'html'), ('setPosition', (55, 36)), ('setSourceFile', '/opt/Zope-3.2.1/lib/python/zope/app/rotterdam/template_tablelayout.pt'), ('beginScope', {u'define-macro': u'login_logout'}), ('optTag', (u'metal:macro', None, 'metal', 0, [('startTag', (u'metal:macro', [(u'define-macro', u'login_logout', 'metal')]))], [('rawtextBeginScope', (u'\n                                    ', 36, (56, 36), 0, {u'content': u'structure context/@@login_logout'})), ('optTag', (u'tal:block', None, 'tal', 0, [('startTag', (u'tal:block', [(u'content', u'structure context/@@login_logout', 'tal')]))], [('insertStructure', (&lt;PathExpr standard:u'context/@@login_logout'&gt;, {}, []))])), ('endScope', ()), ('rawtextColumn', (u'\n                                    ', 36))])), ('endScope', ())])), ('rawtextColumn', (u'\n                                ', 32))])), ('endScope', ()), ('endI18nContext', ())])), ('setPosition', (58, 32)), ('setSourceFile', '/opt/Zope-3.2.1/lib/python/zope/app/rotterdam/template_tablelayout.pt'), ('rawtextColumn', (u'\n                            &lt;/div&gt;', 34)), ('endI18nContext', ())])), ('setPosition', (59, 28)), ('setSourceFile', '/opt/Zope-3.2.1/lib/python/zope/app/rotterdam/template_tablelayout.pt'), ('rawtextColumn', (u'\n                            ', 28)), ('setPosition', (60, 28)), ('defineSlot', (u'logo', [('beginI18nContext', {'source': None, 'domain': u'zope', 'target': None}), ('beginScope', {u'define-slot': u'logo'}), ('optTag', (u'metal:slot', None, 'metal', 0, [('startTag', (u'metal:slot', [(u'define-slot', u'logo', 'metal')]))], [('rawtextBeginScope', (u'\n                                ', 32, (61, 32), 0, {u'href': u'#', u'name': u'top', u'tal:attributes': u'href string:${request/URL/0}/@@SelectedManagementView.html'})), ('startTag', (u'a', [(u'href', u'#', 'replace', &lt;StringExpr u'${request/URL/0}/@@SelectedManagementView.html'&gt;, False, None), (u'name', u'name="top"'), (u'tal:attributes', u'href string:${request/URL/0}/@@SelectedManagementView.html', 'tal')])), ('setPosition', (62, 113)), ('beginScope', {u'tal:attributes': u'src context/++resource++zope3logo.gif'}), ('startEndTag', (u'img', [(u'tal:attributes', u'src context/++resource++zope3logo.gif', 'tal'), (u'src', None, 'insert', &lt;PathExpr standard:u'context/++resource++zope3logo.gif'&gt;, False, None)])), ('endScope', ()), ('endScope', ()), ('rawtextColumn', (u'&lt;/a&gt;\n                            ', 28))])), ('endScope', ()), ('endI18nContext', ())])), ('setPosition', (63, 28)), ('setSourceFile', '/opt/Zope-3.2.1/lib/python/zope/app/rotterdam/template_tablelayout.pt'), ('rawtextColumn', (u'\n                        &lt;/div&gt;', 30))])), ('rawtextColumn', (u'\n                        ', 24))])), ('endScope', ()), ('endI18nContext', ())])), ('setPosition', (65, 24)), ('setSourceFile', '/opt/Zope-3.2.1/lib/python/zope/app/rotterdam/template_tablelayout.pt'), ('rawtextColumn', (u'\n                &lt;/td&gt;\n            &lt;/tr&gt;\n            &lt;tr&gt;\n                &lt;td colspan="2"&gt;\n                    ', 20)), ('setPosition', (70, 20)), ('defineSlot', (u'breadcrumbs', [('beginI18nContext', {'source': None, 'domain': u'zope', 'target': None}), ('beginScope', {u'define-slot': u'breadcrumbs'}), ('optTag', (u'metal:slot', None, 'metal', 0, [('startTag', (u'metal:slot', [(u'define-slot', u'breadcrumbs', 'metal')]))], [('rawtextColumn', (u'\n                    ', 20)), ('setPosition', (71, 20)), ('defineMacro', (u'breadcrumbs', [('version', '1.6'), ('mode', 'html'), ('setPosition', (71, 20)), ('setSourceFile', '/opt/Zope-3.2.1/lib/python/zope/app/rotterdam/template_tablelayout.pt'), ('startTag', (u'div', [(u'id', u'id="breadcrumbs"'), (u'metal:define-macro', u'breadcrumbs', 'metal')])), ('rawtextColumn', (u'\n                        ', 24)), ('setPosition', (72, 24)), ('beginI18nContext', {'source': None, 'domain': u'zope', 'target': None}), ('beginScope', {u'tal:omit-tag': u'', u'i18n:translate': u''}), ('optTag', (u'div', u'', None, 0, [('startTag', (u'div', [(u'tal:omit-tag', u'', 'tal'), (u'i18n:translate', u'', 'i18n')]))], [('insertTranslation', (u'', [('rawtextOffset', (u'Location:', 9))]))])), ('endScope', ()), ('endI18nContext', ()), ('rawtextOffset', (u'&amp;nbsp;', 6)), ('setPosition', (72, 84)), ('beginScope', {u'repeat': u'breadcrumb context/@@absolute_url/breadcrumbs'}), ('loop', (u'breadcrumb', &lt;PathExpr standard:u'context/@@absolute_url/breadcrumbs'&gt;, [('optTag', (u'tal:block', None, 'tal', 0, [('startTag', (u'tal:block', [(u'repeat', u'breadcrumb context/@@absolute_url/breadcrumbs', 'tal')]))], [('setPosition', (74, 29)), ('beginI18nContext', {'source': None, 'domain': u'zope', 'target': None}), ('beginScope', {u'href': u'', u'i18n:translate': u'', u'tal:attributes': u'\n                                    href string:${breadcrumb/url}/@@SelectedManagementView.html', u'tal:condition': u'repeat/breadcrumb/start'}), ('condition', (&lt;PathExpr standard:u'repeat/breadcrumb/start'&gt;, [('startTag', (u'a', [(u'href', u'', 'replace', &lt;StringExpr u'${breadcrumb/url}/@@SelectedManagementView.html'&gt;, False, None), (u'tal:condition', u'repeat/breadcrumb/start', 'tal'), (u'tal:attributes', u'\n                                    href string:${breadcrumb/url}/@@SelectedManagementView.html', 'tal'), (u'i18n:translate', u'', 'i18n')])), ('insertTranslation', (u'', [('rawtextOffset', (u'[top]', 5))])), ('rawtextOffset', (u'&lt;/a&gt;', 4))])), ('endScope', ()), ('endI18nContext', ()), ('rawtextBeginScope', (u'\n                            ', 28, (79, 28), 0, {u'tal:content': u'string:${breadcrumb/name}', u'href': u'', u'tal:attributes': u'\n                                 href string:${breadcrumb/url}/@@SelectedManagementView.html', u'tal:condition': u'not:repeat/breadcrumb/start'})), ('condition', (&lt;NotExpr u'repeat/breadcrumb/start'&gt;, [('startTag', (u'a', [(u'href', u'', 'replace', &lt;StringExpr u'${breadcrumb/url}/@@SelectedManagementView.html'&gt;, False, None), (u'tal:condition', u'not:repeat/breadcrumb/start', 'tal'), (u'tal:content', u'string:${breadcrumb/name}', 'tal'), (u'tal:attributes', u'\n                                 href string:${breadcrumb/url}/@@SelectedManagementView.html', 'tal')])), ('insertText', (&lt;StringExpr u'${breadcrumb/name}'&gt;, [('rawtextColumn', (u'\n                                breadcrumb item', 47))])), ('rawtextOffset', (u'&lt;/a&gt;', 4))])), ('endScope', ()), ('rawtextOffset', (u' / ', 3))]))])), ('endScope', ()), ('rawtextColumn', (u'\n                    &lt;/div&gt;', 26))])), ('rawtextColumn', (u'\n                    ', 20))])), ('endScope', ()), ('endI18nContext', ())])), ('setPosition', (86, 20)), ('setSourceFile', '/opt/Zope-3.2.1/lib/python/zope/app/rotterdam/template_tablelayout.pt'), ('rawtextColumn', (u'\n                &lt;/td&gt;\n            &lt;/tr&gt;\n            &lt;tr&gt;\n                &lt;td id="navigation"&gt;\n                ', 16)), ('setPosition', (91, 16)), ('defineSlot', (u'navigators', [('beginI18nContext', {'source': None, 'domain': u'zope', 'target': None}), ('beginScope', {u'define-slot': u'navigators'}), ('optTag', (u'metal:slot', None, 'metal', 0, [('startTag', (u'metal:slot', [(u'define-slot', u'navigators', 'metal')]))], [('rawtextColumn', (u'\n                ', 16)), ('setPosition', (92, 16)), ('defineMacro', (u'navigators', [('version', '1.6'), ('mode', 'html'), ('setPosition', (92, 16)), ('setSourceFile', '/opt/Zope-3.2.1/lib/python/zope/app/rotterdam/template_tablelayout.pt'), ('startTag', (u'div', [(u'id', u'id="navigators"'), (u'metal:define-macro', u'navigators', 'metal')])), ('rawtextColumn', (u'\n                    &lt;!-- Navigation tree box --&gt;\n                    ', 20)), ('setPosition', (94, 20)), ('useMacro', (u'context/@@standard_macros/navigation_tree_box', &lt;PathExpr standard:u'context/@@standard_macros/navigation_tree_box'&gt;, {}, [('beginScope', {u'use-macro': u'context/@@standard_macros/navigation_tree_box'}), ('optTag', (u'metal:tree', None, 'metal', 1, [('startEndTag', (u'metal:tree', [(u'use-macro', u'context/@@standard_macros/navigation_tree_box', 'metal')]))], [])), ('endScope', ())])), ('setPosition', (94, 20)), ('setSourceFile', '/opt/Zope-3.2.1/lib/python/zope/app/rotterdam/template_tablelayout.pt'), ('rawtextBeginScope', (u'\n                    ', 20, (95, 20), 0, {u'condition': u"python: macroname == 'view'"})), ('condition', (&lt;PythonExpr ( macroname == 'view')&gt;, [('optTag', (u'tal:block', None, 'tal', 0, [('startTag', (u'tal:block', [(u'condition', u"python: macroname == 'view'", 'tal')]))], [('rawtextBeginScope', (u'\n                        ', 24, (96, 24), 0, {u'tal:define': u'view context/@@commonTasks|nothing', u'tal:condition': u'view/strip|nothing', u'class': u'box', u'id': u'commonTasks'})), ('setLocal', (u'view', &lt;PathExpr standard:u'context/@@commonTasks|nothing'&gt;)), ('condition', (&lt;PathExpr standard:u'view/strip|nothing'&gt;, [('startTag', (u'div', [(u'class', u'class="box"'), (u'id', u'id="commonTasks"'), (u'tal:define', u'view context/@@commonTasks|nothing', 'tal'), (u'tal:condition', u'view/strip|nothing', 'tal')])), ('rawtextColumn', (u'\n                            ', 28)), ('setPosition', (99, 28)), ('beginI18nContext', {'source': None, 'domain': u'zope', 'target': None}), ('beginScope', {u'i18n:translate': u''}), ('startTag', (u'h4', [(u'i18n:translate', u'', 'i18n')])), ('insertTranslation', (u'', [('rawtextOffset', (u'Add:', 4))])), ('endScope', ()), ('rawtextOffset', (u'&lt;/h4&gt;', 5)), ('endI18nContext', ()), ('rawtextBeginScope', (u'\n                            &lt;div class="body"&gt;\n                                ', 32, (101, 32), 0, {u'tal:replace': u'structure view'})), ('optTag', (u'span', '', None, 1, [('startEndTag', (u'span', [(u'tal:replace', u'structure view', 'tal')]))], [('insertStructure', (&lt;PathExpr standard:u'view'&gt;, {}, []))])), ('endScope', ()), ('rawtextColumn', (u'\n                            &lt;/div&gt;\n                        &lt;/div&gt;', 30))])), ('endScope', ()), ('rawtextColumn', (u'\n                    ', 20))]))])), ('endScope', ()), ('rawtextColumn', (u'\n                &lt;/div&gt;', 22))])), ('rawtextColumn', (u'\n                ', 16))])), ('endScope', ()), ('endI18nContext', ())])), ('setPosition', (106, 16)), ('setSourceFile', '/opt/Zope-3.2.1/lib/python/zope/app/rotterdam/template_tablelayout.pt'), ('rawtextColumn', (u'\n                &lt;/td&gt;\n                &lt;td id="content"&gt;\n                ', 16)), ('setPosition', (109, 16)), ('defineMacro', (u'workspace', [('version', '1.6'), ('mode', 'html'), ('setPosition', (109, 16)), ('setSourceFile', '/opt/Zope-3.2.1/lib/python/zope/app/rotterdam/template_tablelayout.pt'), ('startTag', (u'div', [(u'id', u'id="workspace"'), (u'metal:define-macro', u'workspace', 'metal')])), ('rawtextColumn', (u'\n                    ', 20)), ('setPosition', (110, 20)), ('defineSlot', (u'tabs', [('beginI18nContext', {'source': None, 'domain': u'zope', 'target': None}), ('beginScope', {u'define-slot': u'tabs'}), ('optTag', (u'metal:slot', None, 'metal', 0, [('startTag', (u'metal:slot', [(u'define-slot', u'tabs', 'metal')]))], [('rawtextBeginScope', (u'\n                    ', 20, (111, 20), 0, {u'tal:condition': u"python: macroname == 'view'", u'class': u'itemViews'})), ('condition', (&lt;PythonExpr ( macroname == 'view')&gt;, [('startTag', (u'div', [(u'tal:condition', u"python: macroname == 'view'", 'tal'), (u'class', u'class="itemViews"')])), ('setPosition', (112, 24)), ('beginScope', {u'repeat': u'view context/@@view_get_menu/zmi_views'}), ('loop', (u'view', &lt;PathExpr standard:u'context/@@view_get_menu/zmi_views'&gt;, [('rawtextColumn', (u'\n                        ', 24)), ('optTag', (u'tal:block', None, 'tal', 0, [('startTag', (u'tal:block', [(u'repeat', u'view context/@@view_get_menu/zmi_views', 'tal')]))], [('rawtextColumn', (u'\n                            ', 28)), ('setPosition', (113, 28)), ('beginI18nContext', {'source': None, 'domain': u'zope', 'target': None}), ('beginScope', {u'tal:content': u'view/title', u'href': u'', u'i18n:translate': u'', u'tal:attributes': u'href view/action;\n                                    class view/selected;'}), ('startTag', (u'a', [(u'href', u'', 'replace', &lt;PathExpr standard:u'view/action'&gt;, False, None), (u'tal:attributes', u'href view/action;\n                                    class view/selected;', 'tal'), (u'tal:content', u'view/title', 'tal'), (u'i18n:translate', u'', 'i18n'), (u'class', None, 'insert', &lt;PathExpr standard:u'view/selected'&gt;, False, None)])), ('insertI18nText', (&lt;PathExpr standard:u'view/title'&gt;, [('rawtextColumn', (u'\n                                label\n                            ', 28))])), ('endScope', ()), ('rawtextOffset', (u'&lt;/a&gt;', 4)), ('endI18nContext', ()), ('rawtextColumn', (u'\n                        ', 24))]))])), ('endScope', ()), ('rawtextColumn', (u'\n                    &lt;/div&gt;', 26))])), ('rawtextBeginScope', (u"\n                    &lt;!-- OnlineHelp with popup support --&gt;\n                    &lt;!-- note, we reverse the actions list 'cos they're packed to the\n                             screen from the right --&gt;\n                    ", 20, (124, 20), 1, {u'tal:condition': u"python: macroname == 'view'", u'id': u'action'})), ('condition', (&lt;PythonExpr ( macroname == 'view')&gt;, [('startTag', (u'div', [(u'tal:condition', u"python: macroname == 'view'", 'tal'), (u'id', u'id="action"')])), ('rawtextBeginScope', (u'\n                        ', 24, (125, 24), 0, {u'tal:define': u'\n                              help_actions context/@@view_get_menu/help_actions|nothing;\n                              actions context/@@view_get_menu/zmi_actions'})), ('setLocal', (u'help_actions', &lt;PathExpr standard:u'context/@@view_get_menu/help_actions|nothing'&gt;)), ('setLocal', (u'actions', &lt;PathExpr standard:u'context/@@view_get_menu/zmi_actions'&gt;)), ('startTag', (u'ul', [(u'tal:define', u'\n                              help_actions context/@@view_get_menu/help_actions|nothing;\n                              actions context/@@view_get_menu/zmi_actions', 'tal')])), ('setPosition', (129, 28)), ('beginScope', {u'tal:repeat': u'info actions', u'tal:condition': u'actions'}), ('condition', (&lt;PathExpr standard:u'actions'&gt;, [('loop', (u'info', &lt;PathExpr standard:u'actions'&gt;, [('rawtextColumn', (u'\n                            ', 28)), ('startTag', (u'li', [(u'tal:condition', u'actions', 'tal'), (u'tal:repeat', u'info actions', 'tal')])), ('setPosition', (130, 33)), ('beginI18nContext', {'source': None, 'domain': u'zope', 'target': None}), ('beginScope', {u'tal:content': u'info/title', u'href': u'#', u'i18n:translate': u'', u'tal:attributes': u'href info/action'}), ('startTag', (u'a', [(u'href', u'#', 'replace', &lt;PathExpr standard:u'info/action'&gt;, False, None), (u'tal:attributes', u'href info/action', 'tal'), (u'tal:content', u'info/title', 'tal'), (u'i18n:translate', u'', 'i18n')])), ('insertI18nText', (&lt;PathExpr standard:u'info/title'&gt;, [('rawtextColumn', (u'\n                                        Action name\n                                ', 32))])), ('endScope', ()), ('rawtextOffset', (u'&lt;/a&gt;', 4)), ('endI18nContext', ()), ('rawtextOffset', (u'&lt;/li&gt;', 5))]))])), ('endScope', ()), ('setPosition', (136, 28)), ('beginScope', {u'tal:repeat': u'help_info help_actions', u'tal:condition': u'help_actions'}), ('condition', (&lt;PathExpr standard:u'help_actions'&gt;, [('loop', (u'help_info', &lt;PathExpr standard:u'help_actions'&gt;, [('rawtextColumn', (u'\n                            ', 28)), ('startTag', (u'li', [(u'tal:condition', u'help_actions', 'tal'), (u'tal:repeat', u'help_info help_actions', 'tal')])), ('setPosition', (137, 33)), ('beginI18nContext', {'source': None, 'domain': u'zope', 'target': None}), ('beginScope', {u'tal:define': u"url string:'${view/__name__}/${help_info/action}';\n                                                             name string:'OnlineHelp';\n                                                             settings string:'height=500\n                                                                                             ,width=950\n                                                                                             ,resizable=1\n                                                                                             ,scrollbars=yes\n                                                                                             ,location=no\n                                                                                             ,status=no\n                                                                                             ,toolbar=no\n                                                                                             ,menubar=no'", u'tal:content': u'help_info/title', u'href': u'#', u'i18n:translate': u'', u'tal:attributes': u"href python:'javascript:popup('\n                                                                                             + url + ','\n                                                                                             + name + ','\n                                                                                             + settings +')'"}), ('setLocal', (u'url', &lt;StringExpr u"'${view/__name__}/${help_info/action}'"&gt;)), ('setLocal', (u'name', &lt;StringExpr u"'OnlineHelp'"&gt;)), ('setLocal', (u'settings', &lt;StringExpr u"'height=500\n                                                                                             ,width=950\n                                                                                             ,resizable=1\n                                                                                             ,scrollbars=yes\n                                                                                             ,location=no\n                                                                                             ,status=no\n                                                                                             ,toolbar=no\n                                                                                             ,menubar=no'"&gt;)), ('startTag', (u'a', [(u'href', u'#', 'replace', &lt;PythonExpr ('javascript:popup('\n                                                                                             + url + ','\n                                                                                             + name + ','\n                                                                                             + settings +')')&gt;, False, None), (u'tal:define', u"url string:'${view/__name__}/${help_info/action}';\n                                                             name string:'OnlineHelp';\n                                                             settings string:'height=500\n                                                                                             ,width=950\n                                                                                             ,resizable=1\n                                                                                             ,scrollbars=yes\n                                                                                             ,location=no\n                                                                                             ,status=no\n                                                                                             ,toolbar=no\n                                                                                             ,menubar=no'", 'tal'), (u'tal:attributes', u"href python:'javascript:popup('\n                                                                                             + url + ','\n                                                                                             + name + ','\n                                                                                             + settings +')'", 'tal'), (u'tal:content', u'help_info/title', 'tal'), (u'i18n:translate', u'', 'i18n')])), ('insertI18nText', (&lt;PathExpr standard:u'help_info/title'&gt;, [('rawtextColumn', (u'\n                                    Action name\n                                ', 32))])), ('endScope', ()), ('rawtextOffset', (u'&lt;/a&gt;', 4)), ('endI18nContext', ()), ('rawtextOffset', (u'&lt;/li&gt;', 5))]))])), ('endScope', ()), ('endScope', ()), ('rawtextColumn', (u'\n                        &lt;/ul&gt;\n                    &lt;/div&gt;', 26))])), ('endScope', ()), ('rawtextColumn', (u'\n                    ', 20))])), ('endScope', ()), ('endI18nContext', ())])), ('setPosition', (158, 20)), ('setSourceFile', '/opt/Zope-3.2.1/lib/python/zope/app/rotterdam/template_tablelayout.pt'), ('rawtextColumn', (u'\n                    ', 20)), ('setPosition', (159, 20)), ('defineSlot', (u'viewspace', [('beginI18nContext', {'source': None, 'domain': u'zope', 'target': None}), ('startTag', (u'div', [(u'id', u'id="viewspace"'), (u'metal:define-slot', u'viewspace', 'metal')])), ('rawtextColumn', (u'\n                        ', 24)), ('setPosition', (160, 24)), ('defineSlot', (u'message', [('beginI18nContext', {'source': None, 'domain': u'zope', 'target': None}), ('startTag', (u'div', [(u'metal:define-slot', u'message', 'metal'), (u'id', u'id="message"')])), ('rawtextColumn', (u'\n                        &lt;/div&gt;', 30)), ('endI18nContext', ())])), ('setPosition', (161, 24)), ('setSourceFile', '/opt/Zope-3.2.1/lib/python/zope/app/rotterdam/template_tablelayout.pt'), ('rawtextColumn', (u'\n                        &lt;div id="body"&gt;\n                            ', 28)), ('setPosition', (163, 28)), ('defineSlot', (u'body', [('beginI18nContext', {'source': None, 'domain': u'zope', 'target': None}), ('beginScope', {u'define-slot': u'body'}), ('optTag', (u'metal:block', None, 'metal', 0, [('startTag', (u'metal:block', [(u'define-slot', u'body', 'metal')]))], [('rawtextColumn', (u'\n                                &lt;table class="listing"&gt;\n                                    &lt;thead&gt;\n                                        &lt;th&gt;Test&lt;/th&gt;\n                                        &lt;th&gt;Another&lt;/th&gt;\n                                    &lt;/thead&gt;\n                                    &lt;tbody&gt;\n                                        &lt;tr&gt;\n                                            &lt;td&gt;content&lt;/td&gt;\n                                            &lt;td&gt;thingy&lt;/td&gt;\n                                        &lt;/tr&gt;\n                                        &lt;tr class="even"&gt;\n                                            &lt;td&gt;more&lt;/td&gt;\n                                            &lt;td&gt;data&lt;/td&gt;\n                                        &lt;/tr&gt;\n                                    &lt;/tbody&gt;\n                                &lt;/table&gt;\n                            ', 28))])), ('endScope', ()), ('endI18nContext', ())])), ('setPosition', (180, 28)), ('setSourceFile', '/opt/Zope-3.2.1/lib/python/zope/app/rotterdam/template_tablelayout.pt'), ('rawtextColumn', (u'\n                        &lt;/div&gt;\n                        ', 24)), ('setPosition', (182, 24)), ('defineSlot', (u'context_information', [('beginI18nContext', {'source': None, 'domain': u'zope', 'target': None}), ('startTag', (u'div', [(u'id', u'id="context_information"'), (u'metal:define-slot', u'context_information', 'metal')])), ('rawtextColumn', (u'\n                            ', 28)), ('setPosition', (183, 28)), ('defineSlot', (u'helpers', [('beginI18nContext', {'source': None, 'domain': u'zope', 'target': None}), ('startTag', (u'div', [(u'id', u'id="helpers"'), (u'metal:define-slot', u'helpers', 'metal')])), ('rawtextBeginScope', (u'\n                                ', 32, (184, 32), 0, {u'tal:condition': u'pagetip|nothing', u'class': u'box', u'id': u'itemHelp'})), ('condition', (&lt;PathExpr standard:u'pagetip|nothing'&gt;, [('startTag', (u'div', [(u'class', u'class="box"'), (u'id', u'id="itemHelp"'), (u'tal:condition', u'pagetip|nothing', 'tal')])), ('rawtextColumn', (u'\n                                    ', 36)), ('setPosition', (185, 36)), ('beginI18nContext', {'source': None, 'domain': u'zope', 'target': None}), ('beginScope', {u'i18n:translate': u''}), ('startTag', (u'h4', [(u'i18n:translate', u'', 'i18n')])), ('insertTranslation', (u'', [('rawtextOffset', (u'Tip', 3))])), ('endScope', ()), ('rawtextOffset', (u'&lt;/h4&gt;', 5)), ('endI18nContext', ()), ('rawtextColumn', (u'\n                                    &lt;div class="body"&gt;\n                                        &lt;div class="content odd"&gt;\n                                            ', 44)), ('setPosition', (188, 44)), ('defineSlot', (u'pagetip', [('beginI18nContext', {'source': None, 'domain': u'zope', 'target': None}), ('beginScope', {u'define-slot': u'pagetip', u'tal:replace': u'structure pagetip'}), ('optTag', (u'metal:block', '', 'metal', 0, [('startTag', (u'metal:block', [(u'define-slot', u'pagetip', 'metal'), (u'tal:replace', u'structure pagetip', 'tal')]))], [('insertStructure', (&lt;PathExpr standard:u'pagetip'&gt;, {}, [('rawtextColumn', (u'\n                                                A short tip goes here\n                                            ', 44))]))])), ('endScope', ()), ('endI18nContext', ())])), ('setPosition', (191, 44)), ('setSourceFile', '/opt/Zope-3.2.1/lib/python/zope/app/rotterdam/template_tablelayout.pt'), ('rawtextColumn', (u'\n                                        &lt;/div&gt;\n                                    &lt;/div&gt;\n                                &lt;/div&gt;', 38))])), ('endScope', ()), ('rawtextColumn', (u'\n                            &lt;/div&gt;', 34)), ('endI18nContext', ())])), ('setPosition', (195, 28)), ('setSourceFile', '/opt/Zope-3.2.1/lib/python/zope/app/rotterdam/template_tablelayout.pt'), ('rawtextColumn', (u'\n                        &lt;/div&gt;', 30)), ('endI18nContext', ())])), ('setPosition', (196, 24)), ('setSourceFile', '/opt/Zope-3.2.1/lib/python/zope/app/rotterdam/template_tablelayout.pt'), ('rawtextColumn', (u'\n                        &lt;div class="spacer"&gt;\n                            &amp;nbsp;\n                        &lt;/div&gt;\n                    &lt;/div&gt;', 26)), ('endI18nContext', ())])), ('setPosition', (200, 20)), ('setSourceFile', '/opt/Zope-3.2.1/lib/python/zope/app/rotterdam/template_tablelayout.pt'), ('rawtextColumn', (u'\n                &lt;/div&gt;', 22))])), ('rawtextColumn', (u'\n                ', 16)), ('setPosition', (202, 16)), ('defineMacro', (u'footer', [('version', '1.6'), ('mode', 'html'), ('setPosition', (202, 16)), ('setSourceFile', '/opt/Zope-3.2.1/lib/python/zope/app/rotterdam/template_tablelayout.pt'), ('startEndTag', (u'div', [(u'id', u'id="footer"'), (u'metal:define-macro', u'footer', 'metal')]))])), ('rawtextColumn', (u'\n                ', 16)), ('setPosition', (203, 16)), ('defineSlot', (u'logger', [('beginI18nContext', {'source': None, 'domain': u'zope', 'target': None}), ('startEndTag', (u'div', [(u'id', u'id="logger"'), (u'metal:define-slot', u'logger', 'metal')])), ('endI18nContext', ())])), ('setPosition', (203, 16)), ('setSourceFile', '/opt/Zope-3.2.1/lib/python/zope/app/rotterdam/template_tablelayout.pt'), ('endScope', ()), ('endScope', ()), ('rawtextColumn', (u'\n                &lt;/td&gt;\n            &lt;/tr&gt;\n        &lt;/table&gt;\n  &lt;/body&gt;\n&lt;/html&gt;', 7)), ('endI18nContext', ()), ('rawtextColumn', (u'\n', 0))])), ('endScope', ())]</title>
</head>

<body>
  <div metal:fill-slot="body">
    Bonjour !!!
    Ici
  </div>
</body>
</html>


I'm a bit disappointed because I check several times my code and find 
nothing different with the example. Does someone has any idea where it 
can come from ?

Sebastien



More information about the Zope3-users mailing list