ecshop商品分类增加自定义分类图!(不同分类展示不同广告必备)

2016-06-13 13:05 来源:www.chinab4c.com 作者:ecshop专家

首先我们来看看实际的效果: (1)添加新的商品分类多了可以自定义上传的分类图 (2)添加完分类后,编辑分类可以修改、删除(选择不保留的时候)或重新上传自定义的分类图。完全不用怕占用你宝贵的空间 (3)当点击该分类后可以看到下面实际效果 本文的这种方法对分类广告的操作简便,但对EC原文件改动较大,适合有基础的朋友但不利于EC版本的升级。 另一种方法操作比较繁复一点,但对EC原文件改动很少,很适合EC版本升级和基础较弱的朋友。 核心提示:请大家在增加代码的时候一定要小心小心再小心!!看准是否正确的位置增加!因为我提供的行号有可能与你的行号不同!请尽量按查找的代码来进行增加! 好了现在我们开始实现这一功能: 一、执行以下SQL语句 alter table  `ecs_category` add cat_img varchar(255) NOT NULL DEFAULT ''; 复制代码 alter table  `ecs_category` add cat_img_link varchar(255) NOT NULL DEFAULT ''; 复制代码 二、用DW等软件找到网站目录/admin/category.php (1)查找 $exc = new exchange($ecs->table("category"), $db, 'cat_id', 'cat_name'); 复制代码 这一语句,并在该语句下面大约行20增加: include_once(ROOT_PATH . '/includes/cls_image.php');   $image = new cls_image($_CFG['bgcolor']);   // 最大上传文件大小   $php_maxsize = ini_get('upload_max_filesize');   $htm_maxsize = '2M'; 复制代码 (2)查找 $cat['cat_recommend']  = !empty($_POST['cat_recommend'])  ? $_POST['cat_recommend'] : array(); 复制代码 ,并在该语句下面大约行111增加: $cat['cat_img']       = '';  //自定义上传分类图   $cat['cat_img_link']  = !empty($_POST['cat_img_link'])     ? trim($_POST['cat_img_link']) : '';   //检查是否有上传分类图片   if (isset($_FILES['cat_img']))   {     //如果有错误     if($_FILES['cat_img']['error'])     {      if ($_FILES['cat_img']['error'] == 0)      {       if (!$image->check_img_type($_FILES['cat_img']['type']))       {        sys_msg("上传的分类图类型无效", 1, array(), false);       }      }      elseif ($_FILES['cat_img']['error'] == 1)      {       sys_msg(sprintf("上传的分类图超过了大小", $php_maxsize), 1, array(), false);      }      elseif ($_FILES['cat_img']['error'] == 2)      {       sys_msg(sprintf("上传的分类图超过了大小", $htm_maxsize), 1, array(), false);      }     }     else  //没有错误检查是否存在temp目录     {      if ($_FILES['cat_img']['tmp_name'] != 'none')      {       if (!$image->check_img_type($_FILES['cat_img']['type']))       {        sys_msg('无效的分类图片', 1, array(), false);       }      }     }          //如果上传了分类图,则进行相应处理     if ($_FILES['cat_img']['tmp_name'] != '' && $_FILES['cat_img']['tmp_name'] != 'none')     {            $catimg   = $image->upload_image($_FILES['cat_img']); // 上传的商品色彩图      if ($catimg === false)      {       sys_msg($image->error_msg(), 1, array(), false);      }      else      {       $cat['cat_img'] = $catimg;      }     }   } 复制代码 (3)查找下一段 $cat['cat_recommend']  = !empty($_POST['cat_recommend'])  ? $_POST['cat_recommend'] : array(); 复制代码 并在该语句下面大约行323增加: $issave_catimg       = !empty($_POST['issave_catimg']) ? intval($_POST['issave_catimg']) : 1;   $cat['cat_img_link']  = !empty($_POST['cat_img_link'])     ? trim($_POST['cat_img_link']) : '';              //检查是否有上传分类图片            if (isset($_FILES['cat_img']))            {                      //如果有错误                      if($_FILES['cat_img']['error'])                      {                               if ($_FILES['cat_img']['error'] == 0)                               {                                        if (!$image->check_img_type($_FILES['cat_img']['type']))                                        {                                                  sys_msg("上传的分类图类型无效", 1, array(), false);                                        }                               }                               elseif ($_FILES['cat_img']['error'] == 1)                               {                                        sys_msg(sprintf("上传的分类图超过了大小", $php_maxsize), 1, array(), false);                               }                               elseif ($_FILES['cat_img']['error'] == 2)                               {                                        sys_msg(sprintf("上传的分类图超过了大小", $htm_maxsize), 1, array(), false);                               }                      }                      else  //没有错误检查是否存在temp目录                      {                               if ($_FILES['cat_img']['tmp_name'] != 'none')                               {                                        if (!$image->check_img_type($_FILES['cat_img']['type']))                                        {                                                  sys_msg('无效的分类图片', 1, array(), false);                                        }                               }                      }                                           //如果上传了分类图,则进行相应处理                      if ($_FILES['cat_img']['tmp_name'] != '' && $_FILES['cat_img']['tmp_name'] != 'none')                      {                               $catimg   = $image->upload_image($_FILES['cat_img']); // 上传的商品色彩图                               if ($catimg === false)                               {                                        sys_msg($image->error_msg(), 1, array(), false);                               }                               else                               {                                        $cat['cat_img'] = $catimg;                               }                                                             //检查是否存在上传的分类图,如果有则删除                               $cat_img = $db->getOne('SELECT cat_img FROM ' .$ecs->table('category'). " WHERE cat_id='$cat_id'");                               if($cat_img != '' && is_file('../' . $cat_img))                               {                                        @unlink('../' . $cat_img);                               }                              }            }                        if($issave_catimg == 2)            {                      //检查是否存在上传的分类图,如果有则删除                      $cat_img = $db->getOne('SELECT cat_img FROM ' .$ecs->table('category'). " WHERE cat_id='$cat_id'");                      if($cat_img != '' && is_file('../' . $cat_img))                      {                               @unlink('../' . $cat_img);                               $cat['cat_img'] = '';                      }            } 复制代码 (4)查找 if ($cat_count == 0 && $goods_count == 0)   { 复制代码 ,并在该行下面大约619增加:                    //检查是否存在上传的分类图,如果有则删除                      $cat_img = $db->getOne('SELECT cat_img FROM ' .$ecs->table('category'). " WHERE cat_id='$cat_id'");                      if($cat_img != '' && is_file('../' . $cat_img))                      {                               @unlink('../' . $cat_img);                      } 复制代码 三、用DW等软件打开网站目录/category.php (1)查找 $smarty->display('category.dwt', $cache_id); 复制代码 ,在该语句上面大约行396增加: //获取自定义分类增加的信息   $cat_id = intval($_REQUEST['id']);   $sql = "SELECT * FROM " .$GLOBALS['ecs']->table('category'). " WHERE cat_id='$cat_id' LIMIT 1";   $cat_info  = $GLOBALS['db']->getRow($sql);   if($cat_info)   {   $cat_img      = $cat_info['cat_img'];   $cat_img_link = $cat_info['cat_img_link'];   $smarty->assign('cat_img', $cat_img);   $smarty->assign('cat_img_link', $cat_img_link);   } 复制代码 四、打开网站目录/admin/templates/category_info.htm (1)找到                  {$lang.cat_desc}:                                            复制代码 在该代码下面增加:   自定义分类图:       {if $cat_info.cat_img}     是否保留当前的分类图:   是   否   {else}     {/if}         分类图链接地址:         复制代码 五、打开网站目录/themes/当前使用的模板/category.dwt 在合适的位置增加(注意这里的模板代码请跟据自己实际情况做出修改): {if $cat_img}         

                        
        
        {/if}