当前位置:Gxlcms > PHP教程 > js获取php(ecshopsmarty模板)数组元素值,该如何解决

js获取php(ecshopsmarty模板)数组元素值,该如何解决

时间:2021-07-01 10:21:17 帮助过:1人阅读

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的还是能够获取到。
现在问题是怎么根据已知变量获取到数组对应下标值?还是有其他解决的办法,谢谢各位! ecshop smarty php

分享到:


------解决方案--------------------
换成
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取不到正确的数值

人气教程排行