2014-09-22 4 views
0

J'utilise SMARTY et j'ai besoin de créer un tableau et affecter une valeur à un index particulier de celui-ci.Smarty affecter une valeur à une variable de tableau

ceci est mon code 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 

quand j'utiliser ce code dans le modèle Smarty

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

sortie html est

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

Je veux être sortie html

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

On ne sait pas ce que vous voulez atteindre. Modifiez votre question et montrez quelles sont vos données en PHP, maintenant c'est vraiment difficile de dire ce que vous voulez réaliser. –

Répondre

0

Vous pouvez le faire de cette façon:

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

{","|implode:$urls} 

sortie en est:

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

Pour Smarty 2 vous pouvez utiliser:

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

Les erreurs suivantes sont survenues Erreur fatale: Erreur Smarty: [dans tag.html ligne 44]: erreur de syntaxe: balise non reconnue 'append' (Smarty_Compiler.class.php, ligne 590) dans C: \ wamp \ www \ include \ smarty \ Smarty.class.php sur la ligne 1095 – user3778067

+0

@ user3778067 vous n'avez pas collé d'erreur. Quelle version de Smarty utilisez-vous? –

+0

@version 2.6.18 – user3778067

Questions connexes