ecshop二次开发:商品分类添加图片显示功能(附下载)

sudugou

最近这两周在忙着和一个老乡弄速度购物网,一个挺好的创意,校内购物网,老乡还是比较有毅力的一个人,做这个快又3年的时间了,现在做的也比较成熟了。就是网站一直在拖累着,没有太多好的asp.net的原型网站做二次开发,自己重新开发有太费力。最近想想索性算了,不用asp.net了,在虚拟主机上面不经过优化跑的也太慢了。参考了一下php的开源的商城网站,定位到了ecshop这个开源网站上面,测试了一下发现他的功能还是比较完备的,很符合哟过户的需求,另外他的代码也得还是很有水平的(从一个asp.net程序员的角度来看)。发现他的全站按照mvc的方式来写的,通用smarty模板,感觉效率还是很高的,打开网页什么的速度也是很快的,估计修改一下可以生成静态页。我对php绝对的入门都没有入门,现在语法也没搞明白多少。今天试着修改了一些代码,就是给ecshop的分类添加分类图片的功能,下面归类一下:

1、最关键的就是在数据的category表里面加入category_img字段,用来保存咱们的图片地址,类型就是varchar就可以了。

2、在admin目录下面的templates的category_info.html文件,这个是后天的模板文件,在里面加入

{$lang.cat_img}:
<input name="cat_img" size="35" type="file" />
{if $cat_info.category_img}
    <img src="images/yes.gif" border="0" alt="" />
{else}
    <img src="images/no.gif" alt="" />
{/if}

3、然后修改category.php文件,if ($_REQUEST['act'] == ‘insert’) 下面加入

$cat['category_img'] = $image-&gt;upload_image($_FILES['cat_img']);

4、然后修改category.php文件,if ($_REQUEST['act'] == ‘update’) 下面加入

$image = $image-&gt;upload_image($_FILES['cat_img']);
if(!empty($image))
{
    $cat['category_img'] = $image;
}

5、修改category_tree.lbi文件,内容修改主要集中在以前直接显示category名字的地方加上判断,如果category有图片就是用图片,没有使用文字,我的修改玩如下:

<dd><a href="{$child.url}">
 <!--{if $child.category_img }-->
     <img src="{$child.category_img}" alt="" />
<!-- {else } -->
      {$child.name|escape:html}
<!-- {/if} -->
 </a></dd>

6、大家会发现修改了模板,然后自己在后台上传完了图片前台还是不能显示,这事因为系统在读取category数据库的时候没有读取这个字段,所以我们要修改一下读取的地方了,修改文件lib_goods.php,找到函数 get_categories_tree 和 get_child_tree,把里面select的sql语句修改一下,我的修改完成的如下:

 $child_sql = 'SELECT cat_id, cat_name, parent_id, is_show,category_img ' .
   'FROM ' . $GLOBALS['ecs']-&gt;table('category') .
   "WHERE parent_id = '$tree_id' AND is_show = 1 ORDER BY sort_order ASC, cat_id ASC";

7、修改完上面的地方,清空网站缓存,然后刷新网站,爽一下吧。
8、下载 图片分类下载

posted on 2010-06-09 22:30  JesseZhao  阅读(3473)  评论(1编辑  收藏  举报

导航