Heim  >  Artikel  >  Backend-Entwicklung  >  js获取php(ecshop smarty模板)数组元素值,该怎么处理

js获取php(ecshop smarty模板)数组元素值,该怎么处理

WBOY
WBOYOriginal
2016-06-13 12:12:01955Durchsuche

js获取php(ecshop smarty模板)数组元素值
最近修改PHP东西(ecshop),遇到一个问题,诚恳求助各位高手:
1.在php页面里利用smarty模板赋值,部分代码如下:
 
    while ($row = $db->FetchRow($res))
    {
     if($cur==null)
     $cur=$row['template_id'];
     $modelrow[$row['template_id']]=$row['template_id'];
     $modelcontent[$row['template_id']]=trim($row['template_content']);     
     $modelplates[$row['template_id']]=$row['template_subject']." -$row[content_category]-".$row['template_subject_second'];
 //  echo         $modelcontent[$row['template_id']];
   
    }
$smarty->assign('cur', $cur);
$smarty->assign('modelrow', $modelrow);
$smarty->assign('modelplates', $modelplates);
$smarty->assign('modelcontent',$modelcontent);
/*end*/

$modelcontent 数组传递到前台的dwt模板中 在js函数中:
1、显示获取一个变量值temp=$("#temp").val(); (这个变量值为1、2、3之类的,获取没有问题。)
2、var a='{$modelcontent.temp}';第二步利用变量获取$modelcontent的一个元素值,但是为空,不知道怎么样才能获取到;我在测试的时候var a='{$modelcontent.1}'获取数组下标为1的还是能够获取到。
现在问题是怎么根据已知变量获取到数组对应下标值?还是有其他解决的办法,谢谢各位!
------解决思路----------------------
换成
var a='';
alert(a);看看结果
------解决思路----------------------
var a='{$modelcontent.'+temp+'}';
alert(a);
这样再试一下
------解决思路----------------------
http://www.zui88.com/blog/view-261.html
看看对你是否能有帮助

引用
Smarty模版中,数组的键名是一个变量的值,如何显示该键名对应的值
in: 后端程序
题目有点绕口,大概的意思是

php已经赋给模版一个数组,数组的信息如下:

$config= array(

1=>'中山',

2=>'石岐'

);

数据库存储地区的字段记录的是该数组的键名,如1,现在要在模版上显示:中山。

如果这样写会报错:

{{$config.$row.region}}

模版上的正确的写法是:{{$config[$row.region]}}

今天遇到的问题还更复杂一点,数据库字段存储的是一些配置的序列化,所以在调取地区信息时还需要进行反序列化处理,中间必须有一个赋值的过程:

{{assign var=param value=$l.params
------解决思路----------------------
unserialize}}

然后$param.region就可以取得1这个值了



------解决思路----------------------
{lection}的时候不是有KEY么???

要么传质的时候多传一列储存KEY
------解决思路----------------------
smarty的循环会用吗? 我说的是循环数组。不是有个key列么。你便利数组的时候直接用 
刚上面写错了 
{section name=loop loop=$v}
{$v[loop].数组键值}
{/section}

你把key打印出来  看是不是key是其他的数字导致按KEY取不到正确的数值
Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn