• 益阳网站建设

    益阳网站建设是专业的网站制作和网站优化SEO的益阳网络公司
    项目经理直线: 0737-3666343 18973746816
    网站首页 > > 新闻动态 > 建站指南 > > 正文

    垂询热线

    3303609113@qq.com

    3303609113 / 275100931

    3303609113@qq.com

    建站指南

    让浏览者喜欢,让客户获益是最高原则。

    ECSHOP批量添加商品分类

    日期: 2015-12-27 21:39:19 点击: 标签:

    分享到: 更多
    如果需要添加数十个,数百个分类或更多,这个功能就非常不错,分类之间使用半角逗号分隔。本功能基于2.7.3,其他版本的用户请参考代码研究。



    开发步骤

    一、编辑/admin/templates/category_info.htm,查找

    <tr>
     <td class="label">{$lang.cat_name}:</td>
     <td>
      <input type='text' name='cat_name' maxlength="20" value='{$cat_info.cat_name|escape:html}' size='27' /> <font color="red">*</font>
     </td>
    </tr>

    替换为

    <tr>
     <td class="label">{$lang.cat_name}:</td>
     <td>
      <textarea name='cat_name' rows="3" cols="48">{$cat_info.cat_name|escape:html}</textarea> <font color="red">*</font>
      <span class="notice-span" {if $help_open}style="display:block" {else} style="display:none" {/if} id="noticeCat_name">{$lang.notice_cat_name}</span>
     </td>
    </tr>

    二、编辑/admin/category.php,查找

    /*------------------------------------------------------ */
    //-- 商品分类添加时的处理
    /*------------------------------------------------------ */
    if ($_REQUEST['act'] == 'insert')
    {
        /* 权限检查 */
        admin_priv('cat_manage');

        /* 初始化变量 */
        $cat['cat_id']       = !empty($_POST['cat_id'])       ? intval($_POST['cat_id'])     : 0;
        $cat['parent_id']    = !empty($_POST['parent_id'])    ? intval($_POST['parent_id'])  : 0;
        $cat['sort_order']   = !empty($_POST['sort_order'])   ? intval($_POST['sort_order']) : 0;
        $cat['keywords']     = !empty($_POST['keywords'])     ? trim($_POST['keywords'])     : '';
        $cat['cat_desc']     = !empty($_POST['cat_desc'])     ? $_POST['cat_desc']           : '';
        $cat['measure_unit'] = !empty($_POST['measure_unit']) ? trim($_POST['measure_unit']) : '';
        $cat['cat_name']     = !empty($_POST['cat_name'])     ? trim($_POST['cat_name'])     : '';
        $cat['show_in_nav']  = !empty($_POST['show_in_nav'])  ? intval($_POST['show_in_nav']): 0;
        $cat['style']        = !empty($_POST['style'])        ? trim($_POST['style'])        : '';
        $cat['is_show']      = !empty($_POST['is_show'])      ? intval($_POST['is_show'])    : 0;
        $cat['grade']        = !empty($_POST['grade'])        ? intval($_POST['grade'])      : 0;
        $cat['filter_attr']  = !empty($_POST['filter_attr'])  ? implode(',', array_unique(array_diff($_POST['filter_attr'],array(0)))) : 0;

        $cat['cat_recommend']  = !empty($_POST['cat_recommend'])  ? $_POST['cat_recommend'] : array();

        if (cat_exists($cat['cat_name'], $cat['parent_id']))
        {
            /* 同级别下不能有重复的分类名称 */
           $link[] = array('text' => $_LANG['go_back'], 'href' => 'javascript:history.back(-1)');
           sys_msg($_LANG['catname_exist'], 0, $link);
        }

        if($cat['grade'] > 10 || $cat['grade'] < 0)
        {
            /* 价格区间数超过范围 */
           $link[] = array('text' => $_LANG['go_back'], 'href' => 'javascript:history.back(-1)');
           sys_msg($_LANG['grade_error'], 0, $link);
        }

        /* 入库的操作 */
        if ($db->autoExecute($ecs->table('category'), $cat) !== false)
        {
            $cat_id = $db->insert_id();
            if($cat['show_in_nav'] == 1)
            {
                $vieworder = $db->getOne("SELECT max(vieworder) FROM ". $ecs->table('nav') . " WHERE type = 'middle'");
                $vieworder += 2;
                //显示在自定义导航栏中
                $sql = "INSERT INTO " . $ecs->table('nav') .
                    " (name,ctype,cid,ifshow,vieworder,opennew,url,type)".
                    " VALUES('" . $cat['cat_name'] . "', 'c', '".$db->insert_id()."','1','$vieworder','0', '" . build_uri('category', array('cid'=> $cat_id), $cat['cat_name']) . "','middle')";
                $db->query($sql);
            }
            insert_cat_recommend($cat['cat_recommend'], $cat_id);

            admin_log($_POST['cat_name'], 'add', 'category');   // 记录管理员操作
            clear_cache_files();    // 清除缓存

            /*添加链接*/
            $link[0]['text'] = $_LANG['continue_add'];
            $link[0]['href'] = 'category.php?act=add';

            $link[1]['text'] = $_LANG['back_list'];
            $link[1]['href'] = 'category.php?act=list';

            sys_msg($_LANG['catadd_succed'], 0, $link);
        }
    }

     

    替换为

    /*------------------------------------------------------ */
    //-- 商品分类添加时的处理
    /*------------------------------------------------------ */
    if ($_REQUEST['act'] == 'insert')
    {
        /* 权限检查 */
        admin_priv('cat_manage');
     
     /* 初始化变量 */
     $cat['cat_id']       = !empty($_POST['cat_id'])       ? intval($_POST['cat_id'])     : 0;
     $cat['parent_id']    = !empty($_POST['parent_id'])    ? intval($_POST['parent_id'])  : 0;
     $cat['sort_order']   = !empty($_POST['sort_order'])   ? intval($_POST['sort_order']) : 0;
     $cat['keywords']     = !empty($_POST['keywords'])     ? trim($_POST['keywords'])     : '';
     $cat['cat_desc']     = !empty($_POST['cat_desc'])     ? $_POST['cat_desc']           : '';
     $cat['measure_unit'] = !empty($_POST['measure_unit']) ? trim($_POST['measure_unit']) : '';
     $cat['show_in_nav']  = !empty($_POST['show_in_nav'])  ? intval($_POST['show_in_nav']): 0;
     $cat['style']        = !empty($_POST['style'])        ? trim($_POST['style'])        : '';
     $cat['is_show']      = !empty($_POST['is_show'])      ? intval($_POST['is_show'])    : 0;
     $cat['grade']        = !empty($_POST['grade'])        ? intval($_POST['grade'])      : 0;
     $cat['cat_recommend']  = !empty($_POST['cat_recommend'])  ? $_POST['cat_recommend'] : array();$cat['filter_attr']  = !empty($_POST['filter_attr'])  ? implode(',', array_unique(array_diff($_POST['filter_attr'],array(0)))) : 0;
     
     $cat['cat_name']     = !empty($_POST['cat_name'])     ? trim($_POST['cat_name'])     : '';
     $arrCatName = explode("," ,$cat['cat_name']);
     
     foreach($arrCatName as $arrCatNameValue)
     {
      $cat['cat_name'] = $arrCatNameValue;

      if (cat_exists($cat['cat_name'], $cat['parent_id']))
      {
       /* 同级别下不能有重复的分类名称 */
         $link[] = array('text' => $_LANG['go_back'], 'href' => 'javascript:history.back(-1)');
         sys_msg($_LANG['catname_exist'], 0, $link);
      }

      if($cat['grade'] > 10 || $cat['grade'] < 0)
      {
       /* 价格区间数超过范围 */
         $link[] = array('text' => $_LANG['go_back'], 'href' => 'javascript:history.back(-1)');
         sys_msg($_LANG['grade_error'], 0, $link);
      }

      /* 入库的操作 */
      if ($db->autoExecute($ecs->table('category'), $cat) !== false)
      {
       $cat_id = $db->insert_id();
       if($cat['show_in_nav'] == 1)
       {
        $vieworder = $db->getOne("SELECT max(vieworder) FROM ". $ecs->table('nav') . " WHERE type = 'middle'");
        $vieworder += 2;
        //显示在自定义导航栏中
        $sql = "INSERT INTO " . $ecs->table('nav') .
         " (name,ctype,cid,ifshow,vieworder,opennew,url,type)".
         " VALUES('" . $cat['cat_name'] . "', 'c', '".$db->insert_id()."','1','$vieworder','0', '" . build_uri('category', array('cid'=> $cat_id), $cat['cat_name']) . "','middle')";
        $db->query($sql);
       }
       insert_cat_recommend($cat['cat_recommend'], $cat_id);
      }
     }
     
     admin_log($_POST['cat_name'], 'add', 'category');   // 记录管理员操作
     clear_cache_files();    // 清除缓存

     /*添加链接*/
     $link[0]['text'] = $_LANG['continue_add'];
     $link[0]['href'] = 'category.php?act=add';

     $link[1]['text'] = $_LANG['back_list'];
     $link[1]['href'] = 'category.php?act=list';

     sys_msg($_LANG['catadd_succed'], 0, $link);

    }

    三、编辑/languages/zh_cn/admin/category.php,添加

    $_LANG['notice_cat_name'] = '如果您需要添加多个分类,请在分类之间使用半角逗号分隔。'; 
    $_LANG['notice_cat_name'] = '如果您需要添加多个分类,请在分类之间使用半角逗号分隔。';
    本文网址:

    垂询热线

    18973746816
    展开悬浮客服
    回到顶部
    5544444