Changeset 23437


Ignore:
Timestamp:
2014/05/21 13:02:52 (6 years ago)
Author:
pineray
Message:

#2554 カテゴリー更新にツリーが連動しない不具合を修正.

Location:
branches/version-2_13-dev/data/class
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • branches/version-2_13-dev/data/class/helper/SC_Helper_Category.php

    r23436 r23437  
    6767     * カテゴリー一覧の取得. 
    6868     * 
    69      * @param  boolean $cid_to_key 配列のキーをカテゴリーIDにする場合はtrue 
     69     * @param bool $cid_to_key 配列のキーをカテゴリーIDにする場合はtrue 
     70     * @param bool $reset スタティック変数をリセットする場合はtrue 
    7071     * @return array   カテゴリー一覧の配列 
    7172     */ 
    72     public function getList($cid_to_key = FALSE) 
     73    public function getList($cid_to_key = FALSE, $reset = FALSE) 
    7374    { 
    7475        static $arrCategory = array(), $cidIsKey = array(); 
     76 
     77        if ($reset) { 
     78            $arrCategory = array(); 
     79            $cidIsKey = array(); 
     80        } 
    7581 
    7682        if (!isset($arrCategory[$this->count_check])) { 
     
    105111     * カテゴリーツリーの取得. 
    106112     * 
     113     * @param bool $reset スタティック変数をリセットする場合はtrue 
    107114     * @return array 
    108115     */ 
    109     public function getTree() 
     116    public function getTree($reset = false) 
    110117    { 
    111118        static $arrTree = array(); 
     119 
     120        if ($reset) { 
     121            $arrTree = array(); 
     122        } 
     123 
    112124        if (!isset($arrTree[$this->count_check])) { 
    113             $arrList = $this->getList(); 
     125            $arrList = $this->getList(false, $reset); 
    114126            $arrTree[$this->count_check] = SC_Utils_Ex::buildTree('category_id', 'parent_category_id', LEVEL_MAX, $arrList); 
    115127        } 
  • branches/version-2_13-dev/data/class/pages/admin/products/LC_Page_Admin_Products_Category.php

    r23436 r23437  
    172172        // 親カテゴリIDの保持 
    173173        $this->arrForm['parent_category_id'] = $parent_category_id; 
     174        // カテゴリツリーを取得 
     175        $this->arrTree = $objCategory->getTree(true); 
     176        $this->arrParentID = $objCategory->getTreeTrail($parent_category_id); 
    174177        // カテゴリ一覧を取得 
    175         $this->arrList = $this->findCategoiesByParentCategoryId($parent_category_id); 
    176         // カテゴリツリーを取得 
    177         $this->arrTree = $objCategory->getTree(); 
    178         $this->arrParentID = $objCategory->getTreeTrail($parent_category_id); 
     178        $this->arrList = $objCategory->getTreeBranch($parent_category_id); 
    179179        // ぱんくずの生成 
    180180        $arrBread = $objCategory->getTreeTrail($this->arrForm['parent_category_id'], FALSE); 
     
    374374        $objFormParam->addParam('カテゴリID', 'category_id', null, null, array()); 
    375375        $objFormParam->addParam('カテゴリ名', 'category_name', STEXT_LEN, 'KVa', array('EXIST_CHECK', 'SPTAB_CHECK', 'MAX_LENGTH_CHECK')); 
    376     } 
    377  
    378     /** 
    379      * 親カテゴリIDでカテゴリを検索する. 
    380      * 
    381      * - 表示順の降順でソートする 
    382      * - 有効なカテゴリを返す(del_flag = 0) 
    383      * 
    384      * @param  SC_Query $objQuery 
    385      * @param  int      $parent_category_id 親カテゴリID 
    386      * @return array    カテゴリの配列 
    387      */ 
    388     public function findCategoiesByParentCategoryId($parent_category_id) 
    389     { 
    390         if (!$parent_category_id) { 
    391             $parent_category_id = 0; 
    392         } 
    393         $objQuery =& SC_Query_Ex::getSingletonInstance(); 
    394         $col   = 'category_id, category_name, level, rank'; 
    395         $where = 'del_flg = 0 AND parent_category_id = ?'; 
    396         $objQuery->setOption('ORDER BY rank DESC'); 
    397  
    398         return $objQuery->select($col, 'dtb_category', $where, array($parent_category_id)); 
    399376    } 
    400377 
Note: See TracChangeset for help on using the changeset viewer.