Gente, preciso de ajuda para transformar o código abaixo de 2 para 3
níveis, quem sabe até mais.. (um loop com condition)

Eu repeti a estrutura do segundo tal:rep e está com 3 níveis, mas como
eu não consegui adaptar, o conteúdo do 3o nível está igual ao do 2o #)

Creio que seja na linha dessa variável neto que eu comecei a definir...

Obrigado,
Davi

            <tal:def define="data
python:putils.createSitemap(context.portal_url.getPortalObject());
                             children python:data.get('children', []);
                             neto     python:data.get('children', []);">
                <tal:rep repeat="item python:[x for x in children if
x['portal_type'] == 'Folder']">
                    <li class="navTreeItem visualNoMarker"><div
class="visualIcon">
                        <a tal:attributes="href item/getURL;
                                           class
python:test(repeat['item'].end, None, 'lb')"
                           tal:content="item/Title"
class="state-published visualIconPadding">Titulo</a>
                        <ul tal:condition="item/children"
class="navTree navTreeLevel2">
                            <tal:rep repeat="grand_item item/children">
                                <li class="navTreeItem
visualNoMarker"><div class="visualIcon">
                                    <a tal:attributes="href
grand_item/getURL"
                                       tal:content="grand_item/Title"
class="state-published visualIconPadding">Titulo</a>
                                </div>
                                <ul tal:condition="item/children"
class="navTree navTreeLevel3">
                                    <tal:rep repeat="grandy_item
item/children">
                                        <li class="navTreeItem
visualNoMarker"><div class="visualIcon">
                                            <a tal:attributes="href
grandy_item/getURL"
                                              
tal:content="grandy_item/Title" class="state-published
visualIconPadding">Titulo</a>
                                        </div></li>
                                    </tal:rep>
                                </ul>
                                </li>
                            </tal:rep>
                        </ul>
                    </div></li>
                </tal:rep>
            </tal:def>


--- Em zope-pt@yahoogrupos.com.br, "Renato Sacramento Horta Moreira"
<[EMAIL PROTECTED]> escreveu
>
> Olá,
> 
> Utilizei esse produto para criar um menu de dois níveis, sendo que no
> primeiro só há listagem de folders.
> 
> ele faz uma chamada à seguinte macro (nome do arquivo eh
sand_box_tabs.pt):
> 
> <html xmlns="http://www.w3.org/1999/xhtml"; xml:lang="en" lang="en"
>       i18n:domain="plone">
> 
> <body>
>     <div metal:define-macro="tabs">
>         <li id="portaltab-index_html" class="plain">
>             <a tal:attributes="href string:${portal_url}" class="lb"
> accesskey="t">Home</a>
>         </li>
>         <tal:def define="data python:putils.createSitemap(
> context.portal_url.getPortalObject());
>                          children python:data.get('children', []);">
>             <tal:rep repeat="item python:[x for x in children if
> x['portal_type'] == 'Folder']">
>             <li class="plain">
>                 <a tal:attributes="href item/getURL;
>                                    class python:test(repeat['item'].end,
> None, 'lb')"
>                    tal:content="item/Title"></a>
>                 <ul tal:condition="item/children">
>                     <tal:rep repeat="grand_item item/children">
>                         <li class="plain">
>                             <a tal:attributes="href grand_item/getURL"
>                                tal:content="grand_item/Title"></a>
>                         </li>
>                     </tal:rep>
>                 </ul>
>             </li>
>             </tal:rep>
>         </tal:def>
>     </div>
> </body>
> </html>
>
> -- 
> Renato Sacramento Horta Moreira
> Ciência da Computação - UFMG


Responder a