|
|
|
#1 |
|
Messages: n/a
Hébergeur: |
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} 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 |
|
|
|
#2 |
|
Messages: n/a
Hébergeur: |
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> |
|
|
|
#3 |
|
Messages: n/a
Hébergeur: |
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 |
|
![]() |
| Outils de la discussion | |
|
|