首页 > 代码库 > 1104解决ecos挂件中数组传递的相关问题。
1104解决ecos挂件中数组传递的相关问题。
1.挂件综述:
挂件组成:_config.html 后台配置,即点添加时的弹出框。
default.html 前台显示,即在前台显示出来的页面。
widget.php 设置挂件的基本信息。、
theme_widget_testbrand 模板自带挂件。widget_xxx 系统级挂件
widget.php有$setting 可以传递给_config.html._config.html里的$setting 也可以在theme_widget_testbrand中进行修改,返回$setting/$data.同时在default.html里也可以得到相关的$data./$setting.
---------------------------
2.问题:如何循环保存品牌挂件列表中12个图片的地址,标题,链接。
_config.html:
<{foreach from=$setting.brand key=key item=item}>
<tbody>
<tr>
<th><{t app=‘b2c‘}>图片<{$key}>:<{/t}></th>
<td>
<input name=‘ad_pic[<{$key}>][pic_path]‘ class="imgsrc" id="ad_pic<{$key}>" value="http://www.mamicode.com/<{$setting.ad_pic.key.pic_path}>">
<input type=button value="http://www.mamicode.com/<{t app=‘b2c‘}>上传图片<{/t}>" class="uploadbtn" onclick="addPic(<{$key}>)">
</td>
<td><{t app=‘b2c‘}>图片标题:<{/t}><input type="text" name="ad_pic[<{$key}>][pic_name]" value="http://www.mamicode.com/<{$setting.ad_pic.$key.pic_name}>"></td>
<td><{t app=‘b2c‘}>图片链接:<{/t}><input type="text" name="ad_pic[<{$key}>][pic_url]" value="http://www.mamicode.com/<{$setting.ad_pic.$key.pic_url}>"></td>
</tr>
</tbody>
<{/foreach}>
这样才可以保存。把它保存成数组形式。(自动保存)至于brand可以再widget.php中定义。
在theme_widget_testbrand中打印出来。
如上图所以,是这个setting.
在theme_widget_testbrand里面打印代码如下:echo "<pre>"; print_r($setting);die;
在default.html:
<{foreach from=$setting.ad_pic item=item key=key}>
<{if $key==0 }>
<{$item.pic_path}>
<{/if}>
<{if $key==1}>
----------------<{$item.pic_name}>
<{/if}>
<{/foreach}>
结果可以看到:
前面是地址,后面是标题名。
已经成功了。
------------------------------------------------------------------------
3.问题: 把$arr 转换成$arr2.
$arr =array(‘a0‘=>‘aaa‘,‘b0‘=>‘bbb‘,‘c0‘=>‘ccc‘,‘a1‘=>‘aaa‘,‘b1‘=>‘bbb‘,‘c1‘=>‘ccc‘);
$arr2 = array(‘0‘=>array(‘a0‘=>‘aaa‘,‘b0‘=>‘bbb‘,‘c0‘=>‘ccc‘),‘1‘=>array(‘a1‘=>‘aaa‘,‘b1‘=>‘bbb‘,‘c1‘=>‘ccc‘));
echo "<pre>";
print_r(array_chunk($arr,3));
------------------------------------------------------------------------
4.涉及到图片上传问题,可以参考:挂件:ad_pic.pic_6.slideshow.
1104解决ecos挂件中数组传递的相关问题。