On 03.04.2006, at 15:32, Frank Burkhardt wrote:
Hi,
one of my objects has to add a list of keywords as <meta>-tag to
the html-<head>.
The keyword list is dynamically created during fill-slot of the
body. The template
looks like this:
<div metal:use-macro="context/@@standard_macros/page">
<div metal:fill-slot="body" tal:omit-tag="">
<tal:block tal:content="context/text/mpgsite:show" />
</div>
<meta metal:fill-slot="keywords" name="keywords"
tal:attributes="content context/mpgsite:getKeyWords" />
</div>
The tales namespace-adapter 'mpgsite' is responsible for maintining
a list of keywords
which are extracted from a string (mpgsite:show) and which are
returned as a list
(mpgsite:getKeyWords).
Unfortunately, the fill-slot="keywords" is processed *before* fill-
slot="body" (*) which
means that "context/text/mpgsite:show" is processed after "context/
mpgsite:getKeyWords"
which eventually means that my keyword meta tag is empty.
the slots are filled in the order which they are defined in the macro
why don' you just define variables?
<div metal:use-macro="context/@@standard_macros/page"
tal:defnie="bodyContent context/text/mpgsite:show;
kwContent context/mpgsite:getKeyWords">
<div metal:fill-slot="body" tal:omit-tag="">
<tal:block tal:content="bodyContent" />
</div>
<meta metal:fill-slot="keywords" name="keywords"
tal:attributes="content kwContent" />
</div>
(*) This is perfectly good from metal's point of view because
define-slot="keywords" is
located in the html-head and define-slot="body" is in the body.
Does anyone know a solution for this problem?
Regards,
Frank
_______________________________________________
Zope3-users mailing list
Zope3-users@zope.org
http://mail.zope.org/mailman/listinfo/zope3-users
_______________________________________________
Zope3-users mailing list
Zope3-users@zope.org
http://mail.zope.org/mailman/listinfo/zope3-users