Home > Backend Development > PHP Tutorial > js获取php(ecshop smarty模板)数组元素值

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

WBOY
Release: 2016-06-23 14:24:51
Original
1774 people have browsed it

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

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

source:php.cn
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template