проблема с массивом в smarty

buddy

Новичок
проблема с массивом в smarty

проблема в следующем.
составляем ассоциативный массив новостей $news из базы. также, существует другой массив месяцев:
$lang['january'] = 'Январь';
$lang['february'] = 'Февраль'; и т.д.

новости в шаблоне выводим следующим образом:
{foreach item="news" from=$news}
{$news.title} - {$lang.$news.month} // month из базы берётся в формате %M
{/foreach}

фигня в том, что смарти интерпретирует {$lang.$news.month} как:
PHP:
<?php echo $this->_tpl_vars['lang'][$this->_tpl_vars['news']]['month']; ?>
вместо:
PHP:
<?php echo $this->_tpl_vars['lang'][$this->_tpl_vars['news']['month']]; ?>
вопрос: как подставить $news.month в качестве индекса массива $lang в шаблоне?
 

tony2001

TeaM PHPClub
>{foreach item="news" from=$news}
>{$news.title} - {$lang.$news.month} // month из базы берётся в формате %M
>{/foreach}

===>

{foreach item="item" from=$news}
{assign var="month" value=$item.month}
{$item.title} - {$lang.$month}
{/foreach}
 

GD

Guest
Re: проблема с массивом в smarty

может попробовать чтонибуть типа:

{foreach item="news" from=$news}
{assign var="mymonth" value=$news.month}
{$news.title} - {$lang.$mymonth}
{/foreach}

не гарантирую...просто мысли в слух...
 

tony2001

TeaM PHPClub
GD
внимательно на это посмотри:
{foreach item="news" from=$news}

это же равно foreach ($array as $array)
 

buddy

Новичок
всем спасибо, работает.

по-поводу замечания, действительно стормозил. спасибо.
 
Сверху