Fork me on GitHub

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="<{$setting.ad_pic.key.pic_path}>">
<input type=button value="<{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="<{$setting.ad_pic.$key.pic_name}>"></td>
<td><{t app='b2c'}>图片链接:<{/t}><input type="text" name="ad_pic[<{$key}>][pic_url]" value="<{$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.

posted @ 2014-11-04 15:56  我曾如此奢望  阅读(256)  评论(0编辑  收藏  举报