List Info

Thread: closing a nested list correctly on the last item




closing a nested list correctly on the last item
user name
2006-05-31 13:22:28
Hello,

I've been using the examples in the badger book for
navigation elements
built from an XML sitemap. In my case I've been trying to
build the
navigation with an HTML list:

<ul>
  <li>apples</li>
  <li>oranges</li>
    <ul>
      <li>clementine</li>
      <li>mandarin</li>
      <li>satsuma</li>
      <li>tangerine</li>
    </ul>
</ul>

However I have a problem when the last item in the outer
list has sub
items in the version I've created. If I use loop.last in
menu/nest (from
the Badger Book example) the outer <ul> will close
before the inner <ul>
is built:

<ul>
  <li>apples</li>
  <li>oranges</li>
</ul>
    <ul>
      <li>clementine</li>
      <li>mandarin</li>
      <li>satsuma</li>
      <li>tangerine</li>
    </ul>

My menu/nest:
[% IF loop.first %]
<ul>
[%- END -%]

<li [% IF loop.first %]class="first"[%- END
-%] [% IF loop.last &&
!loop.first %]class="last"[%- END -%]><a
href="[% link.url %]"
[%- " class=\"$link.class\""
  IF link.class
-%]><span>[%- link.text -%]
</span></a></li>
[% IF loop.last %]
</ul>
[%- END -%]

If anyone has been here before I'd be grateful of some
help. (I don't
have the badger book to hand, but I believe the example I
was working
from was about page 450, Chapter 11.)

Many thanks,

Stephen

--
FRONT
http://www.designbyfront
.com


_______________________________________________
templates mailing list
templatestemplate-toolkit.org
http://lists.template-toolkit.org/mailman/listinfo/t
emplates
closing a nested list correctly on the last item
user name
2006-05-31 13:41:00
Hi Stephen -

> <ul>
>  <li>apples</li>
>  <li>oranges</li>
>    <ul>
>      <li>clementine</li>
>      <li>mandarin</li>
>      <li>satsuma</li>
>      <li>tangerine</li>
>    </ul>
> </ul>

I think this should probably be:

   <ul>
    <li>apples</li>
    <li>oranges
      <ul>
        <li>clementine</li>
        <li>mandarin</li>
        <li>satsuma</li>
        <li>tangerine</li>
      </ul>
    </li>
   </ul>


> However I have a problem when the last item in the
outer list has sub
> items in the version I've created. If I use loop.last
in menu/nest (from
> the Badger Book example) the outer <ul> will
close before the inner <ul>
> is built:

Look at page 152 in the Badger book, you can create your own
iterator for 
the outer loop, e.g.:

    [% USE my_iterator = iterator(my_list_for_outer_loop) %]

and then do things like:

    [% FOREACH thing IN my_iterator %]
       [% FOREACH sub_thing IN thing.sub_things %]
          [% IF loop.last %]
             ... this is for the inner loop ...
          [% END %]
          [% IF my_iterator.last %]
             ... this is for the outer loop ...
          [% END %]
       [% END %]
    [% END %]



Larry


_______________________________________________
templates mailing list
templatestemplate-toolkit.org
http://lists.template-toolkit.org/mailman/listinfo/t
emplates
[1-2]

about | contact  Other archives ( Real Estate discussion Medical topics )