public function modifier_areaNameById($areaIds) { $areaIdArr = explode(',', $areaIds); $areaKvdata = area::areaKvdata(); foreach ($areaIdArr as $id) { if ($areaKvdata[$id]['parentId'] == 1 || !area::getAreaNameById($areaKvdata[$id]['parentId'])) { $areaNameArr[] = area::getAreaNameById($id); } else { $area[area::getAreaNameById($areaKvdata[$id]['parentId'])][] = area::getAreaNameById($id); } } foreach ($area as $parent => $list) { $areaNameArr[] = $parent . '<em class="text-muted">(' . implode(',', $list) . ')</em>'; } return implode(',', $areaNameArr); }
private function __check($data, $shopId) { if (empty($data['name']) || mb_strlen(trim($data['name']), 'utf8') > 20) { $msg = app::get('syslogistics')->_('运费模板名称不能为空,且不可以超过20个字'); throw new \LogicException($msg); } //修改的该模板ID是否存在 $template_id = $this->isExistsName($data['name'], $shopId); if ($template_id && (!$data['template_id'] || $data['template_id'] != $template_id)) { $msg = app::get('syslogistics')->_('该运费模板名称已存在'); throw new \LogicException($msg); } if (!is_numeric($data['order_sort'])) { $msg = app::get('syslogistics')->_('排序只能为数字'); throw new \LogicException($msg); } $areaArr = array(); foreach ($data['fee_conf'] as $key => $row) { if (!$row['area']) { continue; } $area = explode(',', $row['area']); foreach ($area as $areaId) { $areaName = area::getAreaNameById($areaId); if (!$areaName) { $msg = app::get('syslogistics')->_("参数错误,选择的地区不存在"); throw new \LogicException($msg); } if (in_array($areaId, $areaArr)) { $msg = app::get('syslogistics')->_("地区({$areaName})配置重复"); throw new \LogicException($msg); } else { $areaArr[] = $areaId; } } } return true; }
/** * 添加新地区界面 * @params string 父级region id * @return null */ public function showNewArea() { $id = input::get('regionId'); $pagedata['parent']['name'] = area::getAreaNameById($id); $pagedata['parent']['id'] = $id; return view::make('syslogistics/delivery/area_new.html', $pagedata); }