如果在ECshop后台批量添加过大量类目的人都能体会到是多么的不方便(这点还是要说一下ECshop的产品经理,细节上还是要多注意),每次添加都需要在几百个类目里面找到要添加的父类目也是一个麻烦事,比如我的 Tao Fashion 站,里面一共有400多个类目

每次添加一个新类目,即使是同一父类目下的,都需要从头再找一遍,非常不方便,设置类目的顺序的时候,也要自己记着这个父类目下已经添加几个了,记着下一个添加的时候+1,经常弄错。

咱是新人类,要用技术的办法解决这个问题,实现在Category List上可以直接选择某个类目在他下面添加子类目,添加的时候自动选择好这个父类目,然后Sort Order在目前最大值的基础上加1,添加成功后,在成功页点击“继续添加”,也自动选择好上次添加的父类目,Sort Order +1,这样做了以后,时间至少缩短4/5。

照我的说明依葫芦画瓢吧,比较简单:

1、在后台Admin目录下,打开category.php,找到“//-- 添加商品分类”这一段,修改代码如下,用于在加载类目添加页时,传入要选择的父类目ID和最大Sort Order + 1的值。

//-- 添加商品分类

if ($_REQUEST['act'] == 'add')
{ admin_priv('cat_manage'); if ($_REQUEST['cat_id'] == '')
{
$cat_id = 0;
}
else
{
$cat_id = $_REQUEST['cat_id'];
} $smarty->assign('ur_here', $_LANG['04_category_add']);
$smarty->assign('action_link', array('href' => 'category.php?act=list', 'text' => $_LANG['03_category_list'])); $smarty->assign('goods_type_list', goods_type_list(0)); // 取得商品类型
$smarty->assign('attr_list', get_attr_list()); // 取得商品属性 $smarty->assign('cat_select', cat_list(0, $cat_id , true));
$smarty->assign('form_act', 'insert'); //取得最大的Sort_order
$sortorder = $db->getOne("SELECT max(sort_order) FROM ". $ecs->table('category') . " WHERE parent_id = $cat_id");
$smarty->assign('cat_info', array('is_show' => 1,'sort_order' => $sortorder+1)); assign_query_info();
$smarty->display('category_info.htm');
}

2、在后台Admin目录下,打开category.php,找到//-- 商品分类添加时的处理” 这一段,修改代码如下,用于在添加成功后,点击“继续添加”链接时,自动传入上次添加的父类目ID和Sort Order+1值。

修改这一句就可以了:

$link[0]['href'] = 'category.php?act=add&cat_id='.$cat['parent_id'];

3、在后提Admin/templates/目录下,打开category_list.htm文件

 <a href="category.php?act=move&cat_id={$cat.cat_id}">{$lang.move_goods}</a> |

之前添加一行以下代码,用于可以在类目List页直接点击某个类目,并在这个类目下添加子类目

 <a href="category.php?act=add&cat_id={$cat.cat_id}">Add</a> |

好了,基本上大功告成了,贴张截图,后台界面我自己略有调整,上面的修改出来的样式不一定一致哈

类目List截图

在类目List上点击某个类目的“Add”后的截图

转载:http://blog.sina.com.cn/s/blog_70ea94110101h5dh.html

ECshop网点程序优化-后台添加类目自动选择上次父类目并计算Sort Order的更多相关文章

  1. ECshop网点程序优化-自动生成类目页Keywords、Desciption Meta

    ECshop支持针对每个新建的类目自定义Keywords.Description Meta信息,好处就不用说了,帮助SEO或者让浏览者了解这是什么页面,但如果有几百个类目的时候,人工去写这些类目又有点 ...

  2. ecshop 后台添加 成本价 利润

    ecshop后台admin中的商品操作php文件,goods.php替换为下面的代码, 还要在数据库商品本店售价后门添加  cost  字段 为 商品成本价 ecs_goods表中添加  cost  ...

  3. Ecshop:后台添加新功能栏目以及管理权限设置

    一.添加菜单项 打开 /admin/includes/inc_menu.php文件(后台框架左边菜单),在最后添加一行如下: $modules['17_other_menu']['sns_list'] ...

  4. ecshop后台添加菜单项,权限问题

    ecshop后台自定义菜单涉及到几个重要的权限控制的文件,先做如下总结: 后台添加菜单项,并设置权限的步骤.:(以在系统模块添加申请友链菜单为例)commn.php       : \language ...

  5. 微信小程序实现给循环列表点击添加类(单项和多项)

    在微信小程序里面没有DOM对象, 不能操作DOM. 所有的操作通过数据来实现,下面主要实现了给循环列表点击添加类的操作 一.单项 目标需求:实现下图,给点击的view增加类,每次只能选择一个. 主要思 ...

  6. 01 《i》控制字体大小 v-for循环绑定类名 v-bind 结合三目运算 动态添加类

    1==>控制字体图标的大小用 font-size:16px; <i class="el-icon-arrow-left right-show-aside-icon"&g ...

  7. 微信小程序(13)--页面滚动到某个位置添加类效果

    微信小程序页面滚动到某个位置添加类,盒子置顶效果. <!-- vh,是指CSS中相对长度单位,表示相对视口高度(Viewport Height),1vh = % * 视口高度 --> &l ...

  8. Java 程序优化 (读书笔记)

    --From : JAVA程序性能优化 (葛一鸣,清华大学出版社,2012/10第一版) 1. java性能调优概述 1.1 性能概述 程序性能: 执行速度,内存分配,启动时间, 负载承受能力. 性能 ...

  9. iOS程序进入后台后仍运行定时器NSTimer

    由于本应用需要在应用进入后台后还要进行定时的检测功能,因此对于我来说怎样让APP在进入后台后 保持运行状态是比较大的需求.然后在iOS系统中是很难实现的,不管是 通过 音频还是 定位系统,我查找了一些 ...

随机推荐

  1. iOS完美的网络状态判断工具

    大多数App都严重依赖于网络,一款用户体验良好的的app是必须要考虑网络状态变化的.iOSSinger下一般使用Reachability这个类来检测网络的变化. Reachability 这个是苹果开 ...

  2. Linux-PAM(Linux下的密碼認證和安全机制)系統管理員指南(中文版)

    he Linux-PAM 系统管理员指南作者:Andrew G. Morgan, morgan@linux.kernel.org翻译:孙国清(Thomas Sun),thomassun@yeah.ne ...

  3. 文件和目录之access函数

    本篇博文内容摘自<UNIX环境高级编程>(第二版),仅作个人学习记录所用.关于本书可参考:http://www.apuebook.com/. 当用open函数打开一个文件时,内核以进程的有 ...

  4. debian配置简单的vsftp服务器

    Ubuntu Linux与Windows系统不同,Ubuntu Linux不会产生无用垃圾文件,但是在升级缓存中,Ubuntu Linux不会自动删除这些文件,今天就来说说这些垃圾文件清理方法.  1 ...

  5. (一)javascript中的数组index属性——获取数组的索引值

    例如:要做到这样的效果 点击每个选项时,会显示不同的div. 我们的做法:在javascript中,先把所有的div的display设置为none,然后在根据当前的数组里的索引值进行一个显示div的过 ...

  6. com.code.servlet

    package com.code.servlet; import java.io.IOException; import java.util.LinkedHashMap; import java.ut ...

  7. 判断ie,并确定其版本号

    var UA = navigator.userAgent,isIE = UA.indexOf('MSIE') > -1,v = isIE ? /\d+/.exec(UA.split(';')[1 ...

  8. java基础学习总结四(控制语句<顺序、选择、循环>、方法)

    一:结构控制语句 结构控制语句分为3种,顺序语句.选择语句.循环语句. 1:顺序语句 就是自上而下的执行程序,默认执行顺序. 2:选择语句 if结构语句:如果满足条件,则执行该语句. if...els ...

  9. 输入参数varargin

    一种特别的输入参数varargin 可以在自定义函数中得到,这种函数支持输入参数的变量的个数.这个参数显在输入参数列表的最后一项,它返回一个单元阵列,所以一个输入实参可以包括任意数目的实参.每一个实参 ...

  10. (七)Hibernate 映射继承

    所有项目导入对应的hibernate的jar包.mysql的jar包和添加每次都需要用到的HibernateUtil.java 第一节:每个具体类对应一个表 Image.java package co ...