123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183 |
- <?php
- /**
- * 商品规格管理
- *
- *
- *
- ***/
- defined('InShopNC') or exit('Access Invalid!');
- class store_specControl extends BaseSellerControl {
- public function __construct() {
- parent::__construct();
- }
- /**
- * 选择分类
- */
- public function indexOp() {
- // 获取商品分类
- $model_goodsclass = Model('goods_class');
- $gc_list = $model_goodsclass->getGoodsClass($_SESSION['store_id']);
- Tpl::output('gc_list', $gc_list);
- $this->_profile_menu('spec', 'spec');
- Tpl::showpage('store_spec.index');
- }
- /**
- * 添加规格值
- */
- public function add_specOp(){
- $sp_id = intval($_GET['spid']);
- $gc_id = intval($_GET['gcid']);
- // 验证参数
- if ($sp_id <= 0) {
- showMessage(L('wrong_argument'));
- }
- // 分类信息
- $gc_info = Model('goods_class')->getGoodsClassInfoById($gc_id);
- Tpl::output('gc_info', $gc_info);
- // 规格信息
- $model_spec = Model('spec');
- $sp_info = $model_spec->getSpecInfo($sp_id, 'sp_id,sp_name');
- Tpl::output('sp_info', $sp_info);
- // 规格值信息
- $sp_value_list = $model_spec->getSpecValueList(array('store_id' => $_SESSION['store_id'], 'sp_id' => $sp_id, 'gc_id'=>$gc_id));
- Tpl::output('sp_value_list', $sp_value_list);
- $this->_profile_menu('spec_add', 'add');
- Tpl::showpage('store_spec.add', 'null_layout');
- }
- /**
- * 保存规格值
- */
- public function save_specOp(){
- $sp_id = intval($_POST['sp_id']);
- $gc_id = intval($_POST['gc_id']);
- if($sp_id <= 0 || $gc_id <=0 || !chksubmit()){
- showDialog(L('wrong_argument'));
- }
- $model_spec = Model('spec');
- // 更新原规格值
- if (is_array($_POST['sv']['old'])) {
- foreach ($_POST['sv']['old'] as $key=> $value) {
- if (empty($value['name'])) {
- continue;
- }
- $where = array('sp_value_id' => $key);
- $update = array(
- 'sp_value_name' => $value['name'],
- 'sp_id' => $sp_id,
- 'gc_id' => $gc_id,
- 'store_id' => $_SESSION['store_id'],
- 'sp_value_color' => $value['color'],
- 'sp_value_sort' => intval($value['sort'])
- );
- $model_spec->editSpecValue($update, $where);
- }
- }
- // 添加新规格值
- if (is_array($_POST['sv']['new'])) {
- $insert_array = array();
- foreach ($_POST['sv']['new'] as $value) {
- if (empty($value['name'])) {
- continue;
- }
- $tmp_insert = array(
- 'sp_value_name' => $value['name'],
- 'sp_id' => $sp_id,
- 'gc_id' => $gc_id,
- 'store_id' => $_SESSION['store_id'],
- 'sp_value_color' => $value['color'],
- 'sp_value_sort' => intval($value['sort'])
- );
- $insert_array[] = $tmp_insert;
- }
- $model_spec->addSpecValueALL($insert_array);
- }
- showDialog(L('nc_common_op_succ'), 'reload', 'succ');
- }
- /**
- * ajax删除规格值
- */
- public function ajax_delspecOp(){
- $sp_value_id = intval($_GET['id']);
- if ($sp_value_id <= 0) {
- echo 'false'; exit();
- }
- $rs = Model('spec')->delSpecValue(array('sp_value_id' => $sp_value_id, 'store_id' => $_SESSION['store_id']));
- if ($rs) {
- echo 'true'; exit();
- } else {
- echo 'false'; exit();
- }
- }
- /**
- * AJAX获取商品分类
- */
- public function ajax_classOp() {
- $id = intval($_GET['id']);
- $deep = intval($_GET['deep']);
- if ($id <= 0 || $deep <=0 || $deep >= 4) {
- echo 'false'; exit();
- }
- $deep += 1;
- $model_goodsclass = Model('goods_class');
- // 验证分类是否存在
- $gc_info = $model_goodsclass->getGoodsClassInfoById($id);
- if (empty($gc_info)) {
- echo 'false'; exit();
- }
- // 读取商品分类
- if ($deep != 4) {
- $gc_list = $model_goodsclass->getGoodsClass($_SESSION['store_id'], $id, $deep);
- }
- // 分类不为空输出分类信息
- if (!empty($gc_list)) {
- $data = array('type' => 'class', 'data' => $gc_list, 'deep' => $deep);
- } else {
- // 查询类型
- $model_type = Model('type');
- $spec_list = $model_type->getSpecByType(array('type_id' => $gc_info['type_id']), 'type_id, spec.*');
- $data = array('type' => 'spec', 'data' => $spec_list, 'gcid' => $id, 'deep' => $deep);
- }
- // 转码
- if (strtoupper(CHARSET) == 'GBK') {
- $data = Language::getUTF8($data);
- }
- echo json_encode($data);
- exit();
- }
- /**
- * 用户中心右边,小导航
- *
- * @param string $menu_type 导航类型
- * @param string $menu_key 当前导航的menu_key
- * @return
- */
- private function _profile_menu($menu_type, $menu_key) {
- $menu_array = array();
- switch ($menu_type) {
- case 'spec':
- $menu_array = array(
- array('menu_key' => 'spec', 'menu_name' => L('nc_member_path_store_spec'), 'menu_url' => 'index.php?act=store_spec')
- );
- break;
- }
- Tpl::output('member_menu',$menu_array);
- Tpl::output('menu_key',$menu_key);
- }
- }
|