php商品批量导入商品信息,ECSHOP批量添加商品分类

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

44550498_1.png

开发步骤

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

{$lang.cat_name}:

*

替换为

{$lang.cat_name}:

{$cat_info.cat_name|escape:html}*

{$lang.notice_cat_name}

二、编辑/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'] = '如果您需要添加多个分类,请在分类之间使用半角逗号分隔。';

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值