Smarty为数组变量赋值

时间:2014-09-22 14:25:35

标签: arrays smarty smarty3 smarty2

我正在使用SMARTY,我需要创建一个数组并为其特定索引赋值。

这是我的PHP代码:

   $tag = str_replace('-', ' ',$_GET['tag']);
    $tag = strip_tags(trim(mysql_real_escape_string(addslashes($tag)))); // the tags word variable
    $smarty->assign('tag',$tag);


    $tag_sql = "SELECT * FROM items WHERE item_published='0' AND item_tags LIKE '%$tag%' ";
$tag_query = mysql_query($tag_sql);
    while ($tag_row = mysql_fetch_assoc($tag_query)) {
   $items[] = $tag_row;
 }
    $smarty->assign('items',$items); // assign the  items loop to smarty

当我在smarty模板中使用此代码时

 {section name=x loop=$items } {$items[x].item_url} {/section}

html输出

http://google.com http://yahoo.com

我想成为html输出

'http://google.com','http://yahoo.com'

1 个答案:

答案 0 :(得分:0)

你可以这样做:

{section name=x loop=$items } {append var="urls" value="'`$items[x].item_url`'"} {/section}

{","|implode:$urls}

输出是:

'http://google.com','http://yahoo.com'

对于Smarty 2,您可以使用:

{section name=x loop=$items } '{$items[x].item_url}'{if not $smarty.section.x.last},{/if} {/section}