У меня проблема с пользовательской 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
- это работает.В чем может быть проблема?