首页 >后端开发 >php教程 >js获取php(ecshop smarty模板)数组元素值

js获取php(ecshop smarty模板)数组元素值

WBOY
WBOY原创
2016-06-23 14:24:511764浏览

ecshop smarty php

最近修改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='';
alert(a);看看结果
这个显示的值也是为空,在浏览器下面的查看php有:var a='';

var a='{$modelcontent.'+temp+'}';
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

{lection}的时候不是有KEY么???

要么传质的时候多传一列储存KEY php及smarty第一次接触,请详细指教,谢谢

smarty的循环会用吗? 我说的是循环数组。不是有个key列么。你便利数组的时候直接用 
刚上面写错了 
{section name=loop loop=$v}
{$v[loop].数组键值}
{/section}

你把key打印出来  看是不是key是其他的数字导致按KEY取不到正确的数值

smarty的循环会用吗? 我说的是循环数组。不是有个key列么。你便利数组的时候直接用 
刚上面写错了 
{section name=loop loop=$v}
{$v[loop].数组键值}
{/section}

你把key打印出来  看是不是key是其他的数字导致按KEY取不到正确的数值 dwt模板怎么用不了section标签?是不是还需要什么引用或者其他修改才能使用section?

坐等help

多谢大家帮助!已经自行解决。

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn