Beispiel #1
0
 /**
  * 批量更新分类的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;
 }
Beispiel #2
0
 /**
  * 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;
 }
Beispiel #3
0
 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;
     }
 }
Beispiel #4
0
 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');
 }