Discussion: eval problem
Afficher un message
Vieux 11/03/2006, 15h31   #3
Michael M
Aucun Avatar
 
Messages: n/a
Hébergeur:
Par défaut Re: [SMARTY] eval problem

Hi Alain,

A bit more background: The associative PHP array is
actually the representation of a database row. As
such, it has many other fields besides act1, act2 etc.

Thats why I can't use the foreach loop.

Thanks,
Mike.

--- Alain Williams <addw@phcomp.co.uk> wrote:

> On Sat, Mar 11, 2006 at 07:12:18AM -0800, Michael M
> wrote:
> > Hi, I need your with the EVAL function.
> >
> > In PHP I have a list of 27 fields, like this:
> >
> > $advert['act1'] = 'foo';
> > $advert['act2'] = 'bar';
> > ...
> > $advert['act26'] = 'doo';
> > $advert['act27'] = 'da';
> >
> > I know this smells like it should be an array, but

> for
> > particular reasons it is not. So the template

> looks
> > like this:
> > {$advert.act1}<br>
> > {$advert.act2}<br>
> > ...
> > {$advert.act26}<br>
> > {$advert.act27}<br>
> >
> > Can I replace this with a loop? Something like:
> > {section name=foo start=1 loop=27}
> > {eval

> var="\$advert.act`$smarty.section.foo.index`"}
> > <br>
> > {/section}

>
> What is wrong with:
> {foreach from=$advert item=ad }
> {$ad}<br>
> {/foreach}
>
> > The code above does not work, by the way. The line
> > {eval

> var="\$advert.act`$smarty.section.foo.index`"}
> > produces:
> > $advert.act1
> >
> > If I add braces:
> > {eval

> var="{\$advert.act`$smarty.section.foo.index`}"}
> > it displays:
> > {\.act1"}
> >
> > So I must be missing something here.
> >
> > Thanks,
> > Mike
> >
> > __________________________________________________
> > Do You Yahoo!?
> > Tired of spam? Yahoo! Mail has the best spam

> protection around
> > http://mail.yahoo.com
> >
> > --
> > Smarty General Mailing List

> (http://smarty.php.net/)
> > To unsubscribe, visit:

> http://www.php.net/unsub.php
> >

>
> --
> Alain Williams
> Parliament Hill Computers Ltd.
> Linux Consultant - Mail systems, Web sites,
> Networking, Programmer, IT Lecturer.
> +44 (0) 787 668 0256 http://www.phcomp.co.uk/
>
> #include <std_disclaimer.h>
>



__________________________________________________
Do You Yahoo!?
Tired of spam? Yahoo! Mail has the best spam protection around
http://mail.yahoo.com
  Réponse avec citation
 
Page generated in 0,06597 seconds with 9 queries