On Thu, 2002-07-25 at 05:20, Sam Tregar wrote:

> On Wed, 24 Jul 2002, Yunliang Yu wrote:
> 
> > 4. TMPL_VAR can now have a default value
> >
> >         <TMPL_VAR NAME="PARAMETER_NAME" VALUE="default value">
> 
> Some people will like this, I imagine.  Maybe call it "DEFAULT"?  I think
> I might take this as a separate patch.  What do others think?

This one sounds like a brilliant idea. 

Its looks like a short form for:

  <tmpl_unless name="param_name">my_default</tmpl_unless>

  changes to:

  <tmpl_var name="param_name" value="my_default">

It would certainly make some templates a lot cleaner.

> > 6. add __count__ to loops
> >
> >          <TMPL_VAR NAME="__count__">-th record in the loop.
> 
> Well, this something people are perpetually asking for, so I suppose I
> should add it at some point.  It's just so easy to do when you need it
> that I never considered it a priority.  Can you send me this one as a
> separate patch too?
> 


woohooo :-) 

Here is a patch i submitted a whlie ago that does nothing but a
'__counter__' variable if loop_context_vars is set. 


*** Template.pm.orig  Thu Apr 18 09:25:07 2002
--- Template.pm Thu Apr 18 09:30:56 2002
***************
*** 617,629 ****
  default) four loop context variables are made available inside a loop:
  __FIRST__, __LAST__, __INNER__, __ODD__.  They can be used with
  <TMPL_IF>, <TMPL_UNLESS> and <TMPL_ELSE> to control how a loop is
! output.  Example:

     <TMPL_LOOP NAME="FOO">
        <TMPL_IF NAME="__FIRST__">
          This only outputs on the first pass.
        </TMPL_IF>

        <TMPL_IF NAME="__ODD__">
          This outputs every other pass, on the odd passes.
        </TMPL_IF>
--- 617,636 ----
  default) four loop context variables are made available inside a loop:
  __FIRST__, __LAST__, __INNER__, __ODD__.  They can be used with
  <TMPL_IF>, <TMPL_UNLESS> and <TMPL_ELSE> to control how a loop is
! output.
!
! In addition to the above, a __COUNTER__ VAR is also made available
! when loop context variables are turned on.
!
! Examples:

     <TMPL_LOOP NAME="FOO">
        <TMPL_IF NAME="__FIRST__">
          This only outputs on the first pass.
        </TMPL_IF>

+       <TMPL_VAR NAME="__COUNTER__">
+
        <TMPL_IF NAME="__ODD__">
          This outputs every other pass, on the odd passes.
        </TMPL_IF>
***************
*** 1860,1869 ****
    # die_on_bad_params set output() will might cause errors
    # when it tries to set them.
    if ($options->{loop_context_vars}) {
!     $pmap{__first__} = HTML::Template::VAR->new();
!     $pmap{__inner__} = HTML::Template::VAR->new();
!     $pmap{__last__} = HTML::Template::VAR->new();
!     $pmap{__odd__} = HTML::Template::VAR->new();
    }
        } elsif ($which eq '/TMPL_LOOP') {
--- 1867,1877 ----
    # die_on_bad_params set output() will might cause errors
    # when it tries to set them.
    if ($options->{loop_context_vars}) {
!     $pmap{__first__}   = HTML::Template::VAR->new();
!     $pmap{__inner__}   = HTML::Template::VAR->new();
!     $pmap{__last__}    = HTML::Template::VAR->new();
!     $pmap{__odd__}     = HTML::Template::VAR->new();
!     $pmap{__counter__} = HTML::Template::VAR->new();
    }

        } elsif ($which eq '/TMPL_LOOP') {
***************
*** 2731,2741 ****
          @{$value_set}{qw(__first__ __inner__ __last__)} = (0,1,0);
        }
        $odd = $value_set->{__odd__} = not $odd;
      }
      $template->param($value_set);
      $result .= $template->output;
      $template->clear_params;
!     @{$value_set}{qw(__first__ __last__ __inner__ __odd__)} =
(0,0,0,0)
        if ($loop_context_vars);
      $count++;
    }
--- 2739,2750 ----
          @{$value_set}{qw(__first__ __inner__ __last__)} = (0,1,0);
        }
        $odd = $value_set->{__odd__} = not $odd;
+       $value_set->{__counter__} = $count + 1;
      }
      $template->param($value_set);
      $result .= $template->output;
      $template->clear_params;
!     @{$value_set}{qw(__first__ __last__ __inner__ __odd__
__counter__)} = (0,0,0,0,0)
        if ($loop_context_vars);
      $count++;
    }








-------------------------------------------------------
This sf.net email is sponsored by: Jabber - The world's fastest growing 
real-time communications platform! Don't just IM. Build it in! 
http://www.jabber.com/osdn/xim
_______________________________________________
Html-template-users mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/html-template-users

Reply via email to