Sellersetting.php 24 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630
  1. <?php
  2. namespace app\home\controller;
  3. use think\facade\View;
  4. use think\Image;
  5. use think\facade\Lang;
  6. use think\facade\Db;
  7. /**
  8. * ============================================================================
  9. *
  10. * ============================================================================
  11. *
  12. * ----------------------------------------------------------------------------
  13. *
  14. * ============================================================================
  15. * 控制器
  16. */
  17. class Sellersetting extends BaseSeller {
  18. const MAX_MB_SLIDERS = 5;
  19. public function initialize() {
  20. parent::initialize();
  21. Lang::load(base_path() . 'home/lang/' . config('lang.default_lang') . '/sellersetting.lang.php');
  22. }
  23. /*
  24. * 店铺设置
  25. */
  26. public function setting() {
  27. /**
  28. * 实例化模型
  29. */
  30. $store_model = model('store');
  31. $store_id = session('store_id'); //当前店铺ID
  32. /**
  33. * 获取店铺信息
  34. */
  35. $store_info = $store_model->getStoreInfoByID($store_id);
  36. $if_miniprocode = $this->getMiniProCode(1);
  37. View::assign('miniprogram_code', $if_miniprocode ? (UPLOAD_SITE_URL . DIRECTORY_SEPARATOR . ATTACH_STORE . DIRECTORY_SEPARATOR . session('store_id') . '/miniprogram_code.png') : '');
  38. /**
  39. * 保存店铺设置
  40. */
  41. if (request()->isPost()) {
  42. /**
  43. * 更新入库
  44. */
  45. $param = array(
  46. 'store_vrcode_prefix' => preg_match('/^[a-zA-Z0-9]{1,3}$/', input('post.store_vrcode_prefix')) ? input('post.store_vrcode_prefix') : null,
  47. 'store_qq' => input('post.store_qq'),
  48. 'store_ww' => input('post.store_ww'),
  49. 'store_phone' => input('post.store_phone'),
  50. 'store_mainbusiness' => input('post.store_mainbusiness'),
  51. 'store_keywords' => input('post.seo_keywords'),
  52. 'store_description' => input('post.seo_description')
  53. );
  54. if (!empty(input('post.store_name'))) {
  55. $store = $store_model->getStoreInfo(array('store_name' => input('param.store_name')));
  56. //店铺名存在,则提示错误
  57. if (!empty($store) && ($store_id != $store['store_id'])) {
  58. $this->error(lang('please_change_another_name'));
  59. }
  60. $param['store_name'] = input('post.store_name');
  61. }
  62. //店铺名称修改处理
  63. if (input('param.store_name') != $store_info['store_name'] && !empty(input('post.store_name'))) {
  64. $where = array();
  65. $where[] = array('store_id', '=', $store_id);
  66. $update = array();
  67. $update['store_name'] = input('param.store_name');
  68. Db::name('goodscommon')->where($where)->update($update);
  69. Db::name('goods')->where($where)->update($update);
  70. }
  71. $this->getMiniProCode(1);
  72. $store_model->editStore($param, array('store_id' => $store_id));
  73. $this->success(lang('ds_common_save_succ'), (string) url('Sellersetting/setting'));
  74. }
  75. /**
  76. * 实例化店铺等级模型
  77. */
  78. // 从基类中读取店铺等级信息
  79. $store_grade = $this->store_grade;
  80. /**
  81. * 输出店铺信息
  82. */
  83. /* 设置卖家当前菜单 */
  84. $this->setSellerCurMenu('seller_setting');
  85. /* 设置卖家当前栏目 */
  86. $this->setSellerCurItem('store_setting');
  87. View::assign('store_info', $store_info);
  88. View::assign('store_grade', $store_grade);
  89. /**
  90. * 页面输出
  91. */
  92. return View::fetch($this->template_dir . 'setting');
  93. }
  94. public function getMiniProCode($force = 0) {
  95. if ($force || !file_exists(BASE_UPLOAD_PATH . DIRECTORY_SEPARATOR . ATTACH_STORE . DIRECTORY_SEPARATOR . session('store_id') . '/miniprogram_code.png')) {
  96. $wechat_model = model('wechat');
  97. $wechat_model->getOneWxconfig();
  98. $a = $wechat_model->getMiniProCode(session('store_id'), 'pages/home/storedetail/Storedetail');
  99. if (@imagecreatefromstring($a) == false) {
  100. $a = json_decode($a);
  101. //View::assign('errmsg',$a->errmsg);
  102. } else {
  103. if (is_dir(BASE_UPLOAD_PATH . DIRECTORY_SEPARATOR . ATTACH_STORE . DIRECTORY_SEPARATOR . session('store_id')) || (!is_dir(BASE_UPLOAD_PATH . DIRECTORY_SEPARATOR . ATTACH_STORE . DIRECTORY_SEPARATOR . session('store_id')) && mkdir(BASE_UPLOAD_PATH . DIRECTORY_SEPARATOR . ATTACH_STORE . DIRECTORY_SEPARATOR . session('store_id'), 0755, true))) {
  104. file_put_contents(BASE_UPLOAD_PATH . DIRECTORY_SEPARATOR . ATTACH_STORE . DIRECTORY_SEPARATOR . session('store_id') . '/miniprogram_code.png', $a);
  105. return true;
  106. } else {
  107. //View::assign('errmsg','没有权限生成目录');
  108. }
  109. }
  110. } else {
  111. return true;
  112. }
  113. return false;
  114. }
  115. public function store_image_upload() {
  116. $store_id = session('store_id');
  117. $upload_file = BASE_UPLOAD_PATH . DIRECTORY_SEPARATOR . ATTACH_STORE . DIRECTORY_SEPARATOR . $store_id;
  118. $file_name = session('store_id') . '_' . date('YmdHis') . rand(10000, 99999) . '.png';
  119. $store_image_name = input('param.id');
  120. if (!in_array($store_image_name, array('store_logo', 'store_banner', 'store_avatar'))) {
  121. exit;
  122. }
  123. if (!empty($_FILES[$store_image_name]['name'])) {
  124. $res = ds_upload_pic(ATTACH_STORE . DIRECTORY_SEPARATOR . $store_id, $store_image_name, $file_name);
  125. if ($res['code']) {
  126. $file_name = $res['data']['file_name'];
  127. if(file_exists($upload_file . DIRECTORY_SEPARATOR . $file_name)){
  128. /* 处理图片 */
  129. $image = Image::open($upload_file . DIRECTORY_SEPARATOR . $file_name);
  130. switch ($store_image_name) {
  131. case 'store_logo':
  132. $image->thumb(200, 60, \think\Image::THUMB_CENTER)->save($upload_file . DIRECTORY_SEPARATOR . $file_name);
  133. break;
  134. case 'store_banner':
  135. $image->thumb(1920, 150, \think\Image::THUMB_CENTER)->save($upload_file . DIRECTORY_SEPARATOR . $file_name);
  136. break;
  137. case 'store_avatar':
  138. $image->thumb(100, 100, \think\Image::THUMB_CENTER)->save($upload_file . DIRECTORY_SEPARATOR . $file_name);
  139. break;
  140. default:
  141. break;
  142. }
  143. }
  144. } else {
  145. json_encode(array('error' => $res['msg']));
  146. exit;
  147. }
  148. }
  149. $store_model = model('store');
  150. //删除原图
  151. $store_info = $store_model->getStoreInfoByID($store_id);
  152. @unlink($upload_file . DIRECTORY_SEPARATOR . $store_info[$store_image_name]);
  153. $result = $store_model->editStore(array($store_image_name => $file_name), array('store_id' => $store_id));
  154. if ($result) {
  155. $data = array();
  156. $data['file_name'] = $file_name;
  157. $data['file_path'] = ds_get_pic( ATTACH_STORE . '/' . $store_id , $file_name);
  158. /**
  159. * 整理为json格式
  160. */
  161. $output = json_encode($data);
  162. echo $output;
  163. exit;
  164. }
  165. }
  166. /**
  167. * 店铺幻灯片
  168. */
  169. public function store_slide() {
  170. /**
  171. * 模型实例化
  172. */
  173. $store_model = model('store');
  174. $upload_model = model('upload');
  175. /**
  176. * 保存店铺信息
  177. */
  178. if (request()->isPost()) {
  179. // 更新店铺信息
  180. $update = array();
  181. $update['store_slide'] = implode(',', input('post.image_path/a'));
  182. $update['store_slide_url'] = implode(',', input('post.image_url/a'));
  183. $store_model->editStore($update, array('store_id' => session('store_id')));
  184. // 删除upload表中数据
  185. $upload_model->delUpload(array('upload_type' => 3, 'item_id' => session('store_id')));
  186. ds_json_encode(10000, lang('ds_common_save_succ'));
  187. } else {
  188. // 删除upload中的无用数据
  189. $upload_info = $upload_model->getUploadList(array('upload_type' => 3, 'item_id' => session('store_id')), 'file_name');
  190. if (is_array($upload_info) && !empty($upload_info)) {
  191. foreach ($upload_info as $val) {
  192. @unlink(BASE_UPLOAD_PATH . DIRECTORY_SEPARATOR . ATTACH_SLIDE . DIRECTORY_SEPARATOR . $val['file_name']);
  193. }
  194. }
  195. $upload_model->delUpload(array('upload_type' => 3, 'item_id' => session('store_id')));
  196. $store_info = $store_model->getStoreInfoByID(session('store_id'));
  197. if ($store_info['store_slide'] != '' && $store_info['store_slide'] != ',,,,') {
  198. View::assign('store_slide', explode(',', $store_info['store_slide']));
  199. View::assign('store_slide_url', explode(',', $store_info['store_slide_url']));
  200. }
  201. $this->setSellerCurMenu('seller_setting');
  202. /* 设置卖家当前栏目 */
  203. $this->setSellerCurItem('store_slide');
  204. return View::fetch($this->template_dir . 'slide');
  205. }
  206. }
  207. /**
  208. * 店铺幻灯片ajax上传
  209. */
  210. public function silde_image_upload() {
  211. $file_id = intval(input('param.file_id'));
  212. $id = input('param.id');
  213. if ($file_id < 0 || empty($id)) {
  214. return;
  215. }
  216. $file_name = session('store_id') . '_' . $file_id . '.png';
  217. $res = ds_upload_pic(ATTACH_SLIDE, $id, $file_name);
  218. if ($res['code']) {
  219. $file_name = $res['data']['file_name'];
  220. $img_path = $file_name;
  221. $output['file_id'] = $file_id;
  222. $output['id'] = $id;
  223. $output['file_name'] = $img_path;
  224. $output['file_url'] = ds_get_pic(ATTACH_SLIDE, $img_path);
  225. echo json_encode($output);
  226. exit;
  227. } else {
  228. json_encode(array('error' => $res['msg']));
  229. exit;
  230. }
  231. }
  232. /**
  233. * ajax删除幻灯片图片
  234. */
  235. public function dorp_img() {
  236. $file_id = intval(input('param.file_id'));
  237. $img_src = input('param.img_src');
  238. if ($file_id < 0 || empty($img_src)) {
  239. return;
  240. }
  241. $ext = strrchr($img_src, '.');
  242. $file_name = session('store_id') . '_' . $file_id . $ext;
  243. @unlink(BASE_UPLOAD_PATH . DIRECTORY_SEPARATOR . ATTACH_SLIDE . DIRECTORY_SEPARATOR . $file_name);
  244. echo json_encode(array('succeed' => lang('ds_common_save_succ')));
  245. die;
  246. }
  247. /**
  248. * 卖家店铺主题设置
  249. *
  250. * @param string
  251. * @param string
  252. * @return
  253. */
  254. public function theme() {
  255. /**
  256. * 店铺信息
  257. */
  258. $store_class = model('store');
  259. $store_info = $store_class->getStoreInfoByID(session('store_id'));
  260. /**
  261. * 主题配置信息
  262. */
  263. $style_data = array();
  264. $style_configurl = PUBLIC_PATH . '/static/home/default/store/styles/' . "styleconfig.php";
  265. if (file_exists($style_configurl)) {
  266. include_once($style_configurl);
  267. }
  268. /**
  269. * 当前店铺主题
  270. */
  271. $curr_store_theme = !empty($store_info['store_theme']) ? $store_info['store_theme'] : 'default';
  272. /**
  273. * 当前店铺预览图片
  274. */
  275. $curr_image = BASE_SITE_ROOT . '/static/home/default/store/styles/' . $curr_store_theme . '/images/preview.jpg';
  276. $curr_theme = array(
  277. 'curr_name' => $curr_store_theme,
  278. 'curr_truename' => $style_data[$curr_store_theme]['truename'],
  279. 'curr_image' => $curr_image
  280. );
  281. // 自营店全部可用
  282. if (check_platform_store()) {
  283. $themes = array_keys($style_data);
  284. } else {
  285. /**
  286. * 店铺等级
  287. */
  288. $grade_class = model('storegrade');
  289. $grade = $grade_class->getOneStoregrade($store_info['grade_id']);
  290. /**
  291. * 可用主题
  292. */
  293. $themes = explode('|', $grade['storegrade_template']);
  294. }
  295. $theme_list = array();
  296. /**
  297. * 可用主题预览图片
  298. */
  299. foreach ($style_data as $key => $val) {
  300. if (in_array($key, $themes)) {
  301. $theme_list[$key] = array(
  302. 'name' => $key, 'truename' => $val['truename'],
  303. 'image' => BASE_SITE_ROOT . '/static/home/default/store/styles/' . $key . '/images/preview.jpg'
  304. );
  305. }
  306. }
  307. /**
  308. * 页面输出
  309. */
  310. $this->setSellerCurMenu('seller_setting');
  311. $this->setSellerCurItem('store_theme');
  312. View::assign('store_info', $store_info);
  313. View::assign('curr_theme', $curr_theme);
  314. View::assign('theme_list', $theme_list);
  315. return View::fetch($this->template_dir . 'theme');
  316. }
  317. /**
  318. * 卖家店铺主题设置
  319. *
  320. * @param string
  321. * @param string
  322. * @return
  323. */
  324. public function set_theme() {
  325. //读取语言包
  326. $style = input('param.style_name');
  327. $style = isset($style) ? trim($style) : null;
  328. if (!empty($style) && file_exists(PUBLIC_PATH . '/static/home/default/store/styles/theme/' . $style . '/images/preview.jpg')) {
  329. $store_class = model('store');
  330. $rs = $store_class->editStore(array('store_theme' => $style), array('store_id' => session('store_id')));
  331. ds_json_encode(10000, lang('store_theme_congfig_success'));
  332. } else {
  333. ds_json_encode(10001, lang('store_theme_congfig_fail'));
  334. }
  335. }
  336. protected function getStoreMbSliders() {
  337. $store_info = model('store')->getStoreInfoByID(session('store_id'));
  338. $mbSliders = @unserialize($store_info['mb_sliders']);
  339. if (!$mbSliders) {
  340. $mbSliders = array_fill(1, self::MAX_MB_SLIDERS, array(
  341. 'img' => '', 'type' => 1, 'link' => '',
  342. ));
  343. }
  344. return $mbSliders;
  345. }
  346. protected function setStoreMbSliders(array $mbSliders) {
  347. return model('store')->editStore(array(
  348. 'mb_sliders' => serialize($mbSliders),
  349. ), array(
  350. 'store_id' => session('store_id'),
  351. ));
  352. }
  353. public function store_mb_sliders() {
  354. //上传文件名称
  355. $fileName = input('param.id');
  356. //文件ID
  357. $file_id = intval(input('param.file_id'));
  358. if (!preg_match('/^file_(\d+)$/', $fileName, $fileIndex) || empty($_FILES[$fileName]['name'])) {
  359. echo json_encode(array('error' => lang('param_error')));
  360. exit;
  361. }
  362. $fileIndex = (int) $fileIndex[1];
  363. if ($fileIndex < 1 || $fileIndex > self::MAX_MB_SLIDERS) {
  364. echo json_encode(array('error' => lang('param_error')));
  365. exit;
  366. }
  367. $mbSliders = $this->getStoreMbSliders();
  368. $file_name = session('store_id') . '_' . $file_id . '.png';
  369. $res = ds_upload_pic(ATTACH_STORE . DIRECTORY_SEPARATOR . 'mobileslide', $fileName, $file_name);
  370. if ($res['code']) {
  371. $file_name = $res['data']['file_name'];
  372. $newImg = $file_name;
  373. $oldImg = $mbSliders[$fileIndex]['img'];
  374. $mbSliders[$fileIndex]['img'] = $newImg;
  375. //即时更新
  376. $this->setStoreMbSliders($mbSliders);
  377. if ($oldImg && file_exists($oldImg)) {
  378. unlink($oldImg);
  379. }
  380. echo json_encode(array(
  381. 'uploadedUrl' => ds_get_pic( ATTACH_STORE . DIRECTORY_SEPARATOR . 'mobileslide' , $newImg),
  382. ));
  383. exit;
  384. } else {
  385. echo json_encode(array('error' => $res['msg']));
  386. exit;
  387. }
  388. }
  389. public function store_mb_sliders_drop() {
  390. try {
  391. $id = (int) $_REQUEST['id'];
  392. if ($id < 1 || $id > self::MAX_MB_SLIDERS) {
  393. throw new \think\Exception(lang('param_error'), 10006);
  394. }
  395. $mbSliders = $this->getStoreMbSliders();
  396. $mbSliders[$id]['img'] = '';
  397. if (!$this->setStoreMbSliders($mbSliders)) {
  398. throw new \think\Exception(lang('update_failed'), 10006);
  399. }
  400. echo json_encode(array(
  401. 'success' => true,
  402. ));
  403. } catch (\Exception $ex) {
  404. echo json_encode(array(
  405. 'success' => false, 'error' => $ex->getMessage(),
  406. ));
  407. }
  408. }
  409. public function store_mobile() {
  410. View::assign('max_mb_sliders', self::MAX_MB_SLIDERS);
  411. $store_info = model('store')->getStoreInfoByID(session('store_id'));
  412. // 页头背景图
  413. $mb_title_img = $store_info['mb_title_img'] ? ds_get_pic( ATTACH_STORE , $store_info['mb_title_img']) : '';
  414. // 轮播
  415. $mbSliders = $this->getStoreMbSliders();
  416. if (request()->isPost()) {
  417. $update_array = array();
  418. if ($mb_title_img_del = !empty(input('post.mb_title_img_del'))) {
  419. $update_array['mb_title_img'] = '';
  420. }
  421. if (!empty($_FILES['mb_title_img']['name'])) {
  422. $file_name = session('store_id') . '_' . date('YmdHis') . rand(10000, 99999) . '.png';
  423. $res=ds_upload_pic(ATTACH_STORE,'mb_title_img');
  424. if($res['code']){
  425. $file_name=$res['data']['file_name'];
  426. $mb_title_img_del = true;
  427. $update_array['mb_title_img'] = $file_name;
  428. }else{
  429. $this->error($res['msg']);
  430. }
  431. }
  432. if ($mb_title_img_del && $mb_title_img && file_exists($mb_title_img)) {
  433. unlink($mb_title_img);
  434. }
  435. // mb_sliders
  436. $skuToValid = array();
  437. $mb_sliders_links_array = input('post.mb_sliders_links/a'); #获取数组
  438. $mb_sliders_type_array = input('post.mb_sliders_type/a'); #获取数组
  439. $mb_sliders_sort_array = input('post.mb_sliders_sort/a'); #获取数组
  440. foreach ($mb_sliders_links_array as $k => $v) {
  441. if ($k < 1 || $k > self::MAX_MB_SLIDERS) {
  442. $this->error(lang('param_error'));
  443. }
  444. $type = intval($mb_sliders_type_array[$k]);
  445. switch ($type) {
  446. case 1:
  447. // 链接URL
  448. $v = (string) $v;
  449. if (!preg_match('#^https?://#', $v)) {
  450. $v = '';
  451. }
  452. break;
  453. case 2:
  454. // 商品ID
  455. $v = (int) $v;
  456. if ($v < 1) {
  457. $v = '';
  458. } else {
  459. $skuToValid[$k] = $v;
  460. }
  461. break;
  462. default:
  463. $type = 1;
  464. $v = '';
  465. break;
  466. }
  467. $mbSliders[$k]['type'] = $type;
  468. $mbSliders[$k]['link'] = $v;
  469. }
  470. if ($skuToValid) {
  471. $condition = array();
  472. $condition[] = array('goods_id', 'in', $skuToValid);
  473. $condition[] = array('store_id', '=', session('store_id'));
  474. $validSkus = model('goods')->getGoodsList($condition);
  475. if (!empty($validSkus)) {
  476. $validSkus = ds_change_arraykey($validSkus, 'goods_id');
  477. }
  478. foreach ($skuToValid as $k => $v) {
  479. if (!isset($validSkus[$v])) {
  480. $mbSliders[$k]['link'] = '';
  481. }
  482. }
  483. }
  484. // sort
  485. for ($i = 0; $i < self::MAX_MB_SLIDERS; $i++) {
  486. $sortedMbSliders[$i + 1] = @$mbSliders[$mb_sliders_sort_array[$i]];
  487. }
  488. $update_array['mb_sliders'] = serialize($sortedMbSliders);
  489. model('store')->editStore($update_array, array(
  490. 'store_id' => session('store_id'),
  491. ));
  492. $this->success(lang('save_success'), (string) url('Sellersetting/store_mobile'));
  493. }
  494. $mbSliderUrls = array();
  495. foreach ($mbSliders as $v) {
  496. if ($v['img']) {
  497. $mbSliderUrls[] = ds_get_pic( ATTACH_STORE . DIRECTORY_SEPARATOR . 'mobileslide' , $v['img']);
  498. }
  499. }
  500. View::assign('mb_title_img', $mb_title_img);
  501. View::assign('mbSliders', $mbSliders);
  502. View::assign('mbSliderUrls', $mbSliderUrls);
  503. $this->setSellerCurMenu('seller_setting');
  504. $this->setSellerCurItem('store_mobile');
  505. return View::fetch($this->template_dir . 'store_mobile');
  506. }
  507. public function map() {
  508. $this->setSellerCurMenu('seller_setting');
  509. $this->setSellerCurItem('store_map');
  510. /**
  511. * 实例化模型
  512. */
  513. $store_model = model('store');
  514. $store_id = session('store_id'); //当前店铺ID
  515. /**
  516. * 获取店铺信息
  517. */
  518. $store_info = $store_model->getStoreInfoByID($store_id);
  519. /**
  520. * 保存店铺设置
  521. */
  522. if (request()->isPost()) {
  523. model('store')->editStore(array(
  524. 'store_address' => input('post.company_address_detail'),
  525. 'region_id' => input('post.district_id') ? input('post.district_id') : (input('post.city_id') ? input('post.city_id') : (input('post.province_id') ? input('post.province_id') : 0)),
  526. 'area_info' => input('post.company_address'),
  527. 'store_longitude' => input('post.longitude'),
  528. 'store_latitude' => input('post.latitude')
  529. ), array(
  530. 'store_id' => session('store_id'),
  531. ));
  532. ds_json_encode(10000, lang('save_success'));
  533. }
  534. View::assign('store_info', $store_info);
  535. View::assign('baidu_ak', config('ds_config.baidu_ak'));
  536. return View::fetch($this->template_dir . 'map');
  537. }
  538. /**
  539. * 用户中心右边,小导航
  540. *
  541. * @param string $menu_type 导航类型
  542. * @param string $name 当前导航的name
  543. * @return
  544. */
  545. protected function getSellerItemList() {
  546. $menu_array = array(
  547. 1 => array(
  548. 'name' => 'store_setting', 'text' => lang('ds_member_path_store_config'),
  549. 'url' => (string) url('Sellersetting/setting')
  550. ),
  551. 2 => array(
  552. 'name' => 'store_map', 'text' => lang('ds_member_path_store_map'),
  553. 'url' => (string) url('Sellersetting/map')
  554. ),
  555. 4 => array(
  556. 'name' => 'store_slide', 'text' => lang('ds_member_path_store_slide'),
  557. 'url' => (string) url('Sellersetting/store_slide')
  558. ), 5 => array(
  559. 'name' => 'store_theme', 'text' => lang('store_theme'), 'url' => (string) url('Sellersetting/theme')
  560. ),
  561. 7 => array(
  562. 'name' => 'store_mobile', 'text' => lang('mobile_phone_store_settings'), 'url' => (string) url('Sellersetting/store_mobile'),
  563. ),
  564. );
  565. return $menu_array;
  566. }
  567. }