/** * 批量更新分类的name_url */ public function update_category_name_url() { $site = Mysite::instance($this->site_id)->get(); if ($_POST) { $domain = $this->input->post('domain'); if (empty($domain) || $domain != $site['domain']) { remind::set(Kohana::lang('o_global.input_error'), 'site/update/update_category_name_url'); } $query_struct = array('where' => array('site_id' => $this->site_id), 'like' => array(), 'orderby' => array('id' => 'DESC'), 'limit' => array('per_page' => 20, 'offset' => 0)); $category_count = Mycategory::instance()->count($query_struct); $category_names = array(); //1000个商品以下直接读取所有的商品 if ($category_count < 1000) { $query_struct['limit']['per_page'] = $category_count; $categorys = Mycategory::instance()->lists($query_struct); $category_name = array(); foreach ($categorys as $key => $value) { $category_name = $value['name']; //判断是否为中文的商品 if (preg_match('/[\\x7f-\\xff]/', $category_name)) { continue; } $category_name_url = strtolower(product::generate_name_url($category_name)); //过滤重复的NAME URL $name_url_exist = Mycategory::instance()->check_name_url($category_name_url, $this->site_id, $value['id']); $perfix = 1; while ($name_url_exist) { $category_name_url = $category_name_url . '-' . $perfix; $name_url_exist = Mycategory::instance()->check_name_url($category_name_url, $this->site_id, $value['id']); $perfix++; } $data = array(); $data['name_url'] = $category_name_url; if (!Mycategory::instance($value['id'])->edit($data)) { $category_names[] = $value['name']; } } } else { remind::set(Kohana::lang('o_site.product_request_check'), 'site/update/update_category_name_url'); } if (count($category_names) > 0) { $category_name_str = ''; foreach ($category_names as $key => $value) { $category_name_str = $value . '|'; } remind::set(Kohana::lang('o_site.name_update_error') . $category_name_str, 'site/update/update_category_name_url'); } else { remind::set(Kohana::lang('o_site.name_update_success'), 'site/update/update_category_name_url', 'success'); } } $this->template->content = new View("site/update_category_name_url"); $this->template->content->site = $site; }
/** * SEO信息编辑显示 */ public function edit($id) { // 权限验证 $site_id = site::id(); if ($site_id == 0) { remind::set('请首先进入所要操作的站点', request::referrer(), 'error'); } $site_id_list = role::check('seo_manage', 0, 0); $seo_manages = Myseo_manage::instance($id)->get(); if (!in_array($seo_manages['site_id'], $site_id_list) || $seo_manages['site_id'] != $site_id) { remind::set('access denied', request::referrer(), 'error'); } if (!$seo_manages['id']) { remind::set('无效SEO信息,请重试', request::referrer(), 'error'); } $this->template->content = new View("product/seo_manage_edit"); // 默认获取第一个站点的分类列表 $this->template->content->category_level_list = Mycategory::instance()->site_subcategories($seo_manages['site_id']); // 站点信息 $this->template->content->site_info = Mysite::instance($seo_manages['site_id'])->get(); $this->template->content->data = $seo_manages; }
public function get_category_seo_by_site_id($site_id) { $request_struct = array('where' => array('site_id' => $site_id), 'like' => array(), 'orderby' => array('update_timestamp' => 'ASC'), 'limit' => array()); try { $result = $this->lists($request_struct); if (!empty($result)) { foreach ($result as $val) { $return_array[$val['id']]['id'][$val['parent_id']] = $val['parent_id']; $return_array[$val['id']]['update_timestamp'] = $val['update_timestamp']; if (!empty($val['is_contain_child'])) { $child_ids = Mycategory::instance()->site_subcategories($val['site_id'], $val['parent_id']); foreach ($child_ids as $value) { $return_array[$val['id']]['id'][$value['id']] = $value['id']; } } } } return $return_array; } catch (MyRuntimeException $ex) { throw $ex; } }
public function update_category_features() { $category_id = $this->input->get('id'); // 验证 - 数据有效性 $category = Mycategory::instance($category_id)->get(); if (!$category['id']) { remind::set(Kohana::lang('o_global.access_denied'), request::referrer(), 'error'); } /* b2c类型的站点列表 */ $site_id_list = role::check('product_virtual_category', 0, 0); //权限验证 if (!in_array($category['site_id'], $site_id_list)) { remind::set(Kohana::lang('o_global.access_denied'), request::referrer(), 'error'); } Mycategory_feature::instance()->update_category_features($category_id); remind::set(Kohana::lang('o_global.update_success'), request::referrer(), 'success'); }