ecshop的分类添加分类图片的功能,下面归类一下:
1、最关键的就是在数据的category表里面加入category_img字段,用来保存咱们的图片地址,类型就是varchar就可以了。
2、在admin目录下面的templates的category_info.html文件,这个是后天的模板文件,在里面加入
<tr>
<td class="label">{$lang.cat_img}:</td>
<td><input name="cat_img" size="35" type="file" value='' />
{if $cat_info.category_img}
<img src="images/yes.gif" border="0" alt="" />
{else}
<img src="images/no.gif" alt="" />
{/if}
</td>
</tr>
3、然后修改category.php文件,if ($_REQUEST['act'] == 'insert')
下面加入
$cat['category_img'] = $image->upload_image($_FILES['cat_img']);
4、然后修改category.php文件,
在require(dirname(__FILE__) . '/includes/init.php');下增加
/***新增加的开始***/
include_once(ROOT_PATH . 'includes/cls_image.php');
$image = new cls_image($_CFG['bgcolor']);
/***新增加的结束***/
在if ($_REQUEST['act'] == ‘update’)
下面加入
$image = $image->upload_image($_FILES['cat_img']);
if(!empty($image))
{
$cat['category_img'] = $image;
}
5、修改category_tree.lbi文件,内容修改主要集中在以前直接显示category名字的地方加上判断,如果category有图片就是用图片,没有使用文字,我的修改玩如下:
<dl><a href="{$cat.url}"><!--{if $cat.category_img }-->
<img src="{$cat.category_img}" alt="" />
<!-- {else } -->{$cat.name|escape:html}<!-- {/if} --></a></dl>
<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语句修改一下,我的修改完成的如下:
get_categories_tree中修改
$sql = 'SELECT cat_id,cat_name,parent_id,is_show,category_img ' .
'FROM ' . $GLOBALS['ecs']->table('category') .
"WHERE parent_id = '$parent_id' AND is_show = 1 ORDER BY sort_order ASC, cat_id ASC";
并增加
$cat_arr[$row['cat_id']]['category_img'] = $row['category_img'];
get_child_tree中修改
$child_sql = 'SELECT cat_id, cat_name, parent_id, is_show,category_img ' .
'FROM ' . $GLOBALS['ecs']->table('category') .
"WHERE parent_id = '$tree_id' AND is_show = 1 ORDER BY sort_order ASC, cat_id ASC";
并增加
$three_arr[$row['cat_id']]['category_img'] = $row['category_img'];
正文完
要饭中,多少给点吧(支付宝)