推56论坛

 找回密码
 立即注册(限中文)

QQ登录

只需一步,快速开始

    查看: 135|回复: 0
    打印 上一主题 下一主题

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

    [复制链接]
    跳转到指定楼层
    楼主
    发表于 2018-4-28 19:04:23 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
    首先我们来看看实际的效果:
    (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)找到
    •       <tr>
    •         <td class="label">{$lang.cat_desc}:</td>
    •         <td>
    •           <textarea name='cat_desc' rows="6" cols="48">{$cat_info.cat_desc}</textarea>
    •         </td>
    •       </tr>

    复制代码
    在该代码下面增加:
    • <tr>
    • <td class="label">自定义分类图:</td>
    • <td>
    • <input name="cat_img" type="file" />
    • {if $cat_info.cat_img}
    • <img src="images/yes.gif" border="0" />
    • <span style="color:#F00">是否保留当前的分类图:</span>
    • 是<input type="radio" name="issave_catimg" id="issave_catimg" value="1" checked="checked" />
    • 否<input type="radio" name="issave_catimg" id="issave_catimg" value="2" />
    • {else}
    • <img src="images/no.gif" />
    • {/if}
    • </td>
    • </tr>
    • <tr>
    • <td class="label">分类图链接地址:</td>
    • <td>
    • <input name="cat_img_link" type="text" value='{$cat_info.cat_img_link}' maxlength="200" size="50" />
    • </td>
    • </tr>

    复制代码
    五、打开网站目录/themes/当前使用的模板/category.dwt
    在合适的位置增加(注意这里的模板代码请跟据自己实际情况做出修改):
    • {if $cat_img}
    •       <div style="width:750px;">
    •        <a href="{$cat_img_link}" target="_blank"><img src="{$cat_img}" /></a>
    •       </div>
    •       <div class="blank5"></div>
    • {/if}



    学建站、学推广、学赚钱,上56站长论坛就够了!个性签名请到个人资料里面修改……

    本版积分规则

    关闭

    推56站长论坛推荐上一条 /3 下一条

    站长QQ
    在线咨询
    咨询热线
    QQ:405327411
    站长

    QQ|广告合作|关于我们|联系我们|免责声明|网站导航|站长论坛 ( 豫ICP备11018337号-5

    王宝臣旗下网站 推56论坛(www.tui56.com|ask.tui56.com|blog.tui56.com|daohang.tui56.com)

    Powered by Discuz! X3.4 Licensed

    ©2001-2013 Comsenz Inc.

    快速回复 返回顶部 返回列表