List Info

Thread: eval problem




eval problem
user name
2006-03-11 15:12:18
Hi, I need your help 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 

-- 
Smarty General Mailing List (http://smarty.php.net/)
To unsubscribe, visit: http://www.php.net/unsub
.php

eval problem
user name
2006-03-11 15:27:32
On Sat, Mar 11, 2006 at 07:12:18AM -0800, Michael M wrote:
> Hi, I need your help 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>

-- 
Smarty General Mailing List (http://smarty.php.net/)
To unsubscribe, visit: http://www.php.net/unsub
.php

[1-2]

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