Smarty не может видеть мою переменную - PullRequest
0 голосов
/ 09 сентября 2011

У меня проблема с пользовательской CMS, использующей smarty.Он использует этот код для показа новостей:

{foreach from=$news_anns key=key item=name}
            <div class="line" style="width:450px">
                <div class="date"><strong class="blue">{$name.dt_day}</strong><br />
                    {$name.mon}</div>
                <div class="right"><strong class="blue">{$name.title}</strong><br />
                <a href="/news/one/{$name.part_id}/{$name.id}/">more</a></div>
            </div>
{/foreach} 

и запрашивает так:

function main_news_anns(){
global $db;
global $smarty;
$list = $db->select("SELECT n.id,n.title,DATE_FORMAT(n.dt,'%m') as dt_mon,DATE_FORMAT(n.dt,'%e') as dt_day, nt.id as part_id from cms_news n JOIN cms_news_tree nt ON n.pid=nt.id WHERE n.view_main=1 ORDER by n.dt DESC");
foreach ($list as $i=>$v){
$list[$i]['title'] = stripslashes($v['title']);
$list[$i]['mon'] = $this->ru_month[intval($v['dt_mon'])];
}
$smarty->assign(array("news_anns"=>$list));
}//ENDF

Мне нужно добавить больше вариантов показа новостей.Я добавляю новый код в php lib:

function main_news_acts(){
global $db;
global $smarty;
$list = $db->select("SELECT n.id,n.title,DATE_FORMAT(n.dt,'%m') as dt_mon,DATE_FORMAT(n.dt,'%e') as dt_day, nt.id as part_id from cms_news n JOIN cms_news_tree nt ON n.pid=nt.id WHERE n.view_main=1 AND n.pid=4 ORDER by n.dt DESC");
foreach ($list as $i=>$v){
$list[$i]['title'] = stripslashes($v['title']);
$list[$i]['mon'] = $this->ru_month[intval($v['dt_mon'])];
}
$smarty->assign(array("news_acts"=>$list));
}//ENDF

и в html:

{foreach from=$news_acts key=key item=act}
            <div class="line" style="width:450px">
                <div class="date"><strong class="blue">{$act.dt_day}</strong><br />
                    {$act.mon}</div>
                <div class="right"><strong class="blue">{$act.title}</strong><br />
                <a href="/news/one/{$act.part_id}/{$act.id}/">more</a></div>
            </div>
{/foreach}

Но ничего не показывает!Smarty не видит новых добавленных переменных.Тем не менее, когда меня переименовывают $news_anns - это работает.В чем может быть проблема?

...