Index: branches/version-2_12-dev/data/class/helper/SC_Helper_DB.php
===================================================================
--- branches/version-2_12-dev/data/class/helper/SC_Helper_DB.php	(revision 21481)
+++ branches/version-2_12-dev/data/class/helper/SC_Helper_DB.php	(revision 21502)
@@ -1438,5 +1438,5 @@
 
         $objQuery =& SC_Query_Ex::getSingletonInstance();
-        $where = 'product_id = ? AND del_flg = 0 AND class_combination_id IS NOT NULL';
+        $where = 'product_id = ? AND del_flg = 0 AND classcategory_id1 != 0 AND classcategory_id2 != 0';
         $exists = $objQuery->exists('dtb_products_class', $where, array($product_id));
 
Index: branches/version-2_12-dev/data/class/SC_Product.php
===================================================================
--- branches/version-2_12-dev/data/class/SC_Product.php	(revision 21481)
+++ branches/version-2_12-dev/data/class/SC_Product.php	(revision 21502)
@@ -259,7 +259,7 @@
 
             // 規格1が設定されている
-            $this->classCat1_find[$productId] = (!SC_Utils_Ex::isBlank($arrProductClass[0]['classcategory_id1']));
+            $this->classCat1_find[$productId] = $arrProductClass[0]['classcategory_id1'] > 0; // 要変更ただし、他にも改修が必要となる
             // 規格2が設定されている
-            $this->classCat2_find[$productId] = (!SC_Utils_Ex::isBlank($arrProductClass[0]['classcategory_id2']));
+            $this->classCat2_find[$productId] = $arrProductClass[0]['classcategory_id2'] > 0; // 要変更ただし、他にも改修が必要となる
 
             $this->stock_find[$productId] = false;
@@ -316,5 +316,5 @@
 
                 // #929(GC8 規格のプルダウン順序表示不具合)対応のため、2次キーは「#」を前置
-                if (SC_Utils_Ex::isBlank($productsClass1)) {
+                if (!$this->classCat1_find[$productId]) {
                     $productsClass1 = '__unselected2';
                 }
@@ -356,84 +356,31 @@
             T1.down_filename,
             T1.down_realfilename,
-            T2.class_combination_id,
-            T2.parent_class_combination_id,
-            T2.classcategory_id,
-            T2.level,
-            T3.name AS classcategory_name,
-            T3.rank,
-            T4.name AS class_name,
-            T4.class_id
+            T3.name AS classcategory_name1,
+            T3.rank AS rank1,
+            T4.name AS class_name1,
+            T4.class_id AS class_id1,
+            T1.classcategory_id1,
+            T1.classcategory_id2,
+            dtb_classcategory2.name AS classcategory_name2,
+            dtb_classcategory2.rank AS rank2,
+            dtb_class2.name AS class_name2,
+            dtb_class2.class_id AS class_id2
 __EOS__;
         $table = <<< __EOS__
                       dtb_products_class T1
-            LEFT JOIN dtb_class_combination T2
-                   ON T1.class_combination_id = T2.class_combination_id
             LEFT JOIN dtb_classcategory T3
-                   ON T2.classcategory_id = T3.classcategory_id
+                   ON T1.classcategory_id1 = T3.classcategory_id
             LEFT JOIN dtb_class T4
                    ON T3.class_id = T4.class_id
+            LEFT JOIN dtb_classcategory dtb_classcategory2
+                   ON T1.classcategory_id2 = dtb_classcategory2.classcategory_id
+            LEFT JOIN dtb_class dtb_class2
+                   ON dtb_classcategory2.class_id = dtb_class2.class_id
 __EOS__;
 
         $objQuery->setOrder('T3.rank DESC'); // XXX
         $arrRet = $objQuery->select($col, $table, "", $params);
-        $levels = array();
-        $parents = array();
-        foreach ($arrRet as $rows) {
-            $levels[] = $rows['level'];
-            $parents[] = $rows['parent_class_combination_id'];
-        }
-        $level = max($levels);
-        $parentsClass = array();
-        // 階層分の親を取得
-        for ($i = 0; $i < $level -1; $i++) {
-            $objQuery =& SC_Query_Ex::getSingletonInstance();
-            $objQuery->setWhere('T1.class_combination_id IN (' . implode(', ', array_pad(array(), count($parents), '?')) . ')');
-
-            $col = <<< __EOS__
-                T1.class_combination_id,
-                T1.classcategory_id,
-                T1.parent_class_combination_id,
-                T1.level,
-                T2.name AS classcategory_name,
-                T2.rank,
-                T3.name AS class_name,
-                T3.class_id
-__EOS__;
-            $table = <<< __EOS__
-                          dtb_class_combination T1
-                LEFT JOIN dtb_classcategory T2
-                       ON T1.classcategory_id = T2.classcategory_id
-                LEFT JOIN dtb_class T3
-                       ON T2.class_id = T3.class_id
-__EOS__;
-
-            $objQuery->setOrder('T2.rank DESC'); // XXX
-            $arrParents = $objQuery->select($col, $table, "", $parents);
-
-            foreach ($arrParents as $rows) {
-                $parents[] = $rows['parent_class_combination_id'];
-
-                foreach ($arrRet as $child) {
-                    if ($child['parent_class_combination_id']
-                        == $rows['class_combination_id']) {
-                        $rows['product_id'] = $child['product_id'];
-                    }
-                }
-                $tmpParents[] = $rows;
-            }
-            $parentsClass = array_merge($parentsClass, $tmpParents);
-        }
-
-        // 末端から枝を作成
-        $tmpClass = array_merge($arrRet, $parentsClass);
-
-        foreach ($tmpClass as $val) {
-            $val['class_id' . $val['level']] = $val['class_id'];
-            $val['class_name' . $val['level']] = $val['class_name'];
-            $val['classcategory_name' . $val['level']] = $val['classcategory_name'];
-            $val['classcategory_id' . $val['level']] = $val['classcategory_id'];
-            $arrProductsClass[] = $val;
-        }
-        return $arrProductsClass;
+
+        return $arrRet;
     }
 
@@ -449,7 +396,6 @@
         $objQuery =& SC_Query_Ex::getSingletonInstance();
         $objQuery->setWhere('product_class_id = ? AND T1.del_flg = 0');
-        $results = $this->getProductsClassByQuery($objQuery, $productClassId);
-        $productsClass = $this->getProductsClassFull($results);
-        return $productsClass[0];
+        $arrRes = $this->getProductsClassByQuery($objQuery, $productClassId);
+        return $arrRes[0];
     }
 
@@ -475,15 +421,4 @@
 
     /**
-     * 商品IDに紐づいた, 商品規格を階層ごとに取得する.
-     *
-     * @param array $productId 商品ID
-     * @return array 階層ごとの商品規格の配列
-     */
-    function getProductsClassLevelByProductId($productId) {
-        $results = $this->getProductsClassByProductIds(array($productId));
-        return $this->getProductsClassLevel($results);
-    }
-
-    /**
      * 商品IDに紐づいた, 商品規格をすべての組み合わせごとに取得する.
      *
@@ -493,46 +428,6 @@
      */
     function getProductsClassFullByProductId($productId, $has_deleted = false) {
-        $results = $this->getProductsClassByProductIds(array($productId), $has_deleted);
-        return $this->getProductsClassFull($results);
-    }
-
-    /**
-     * 商品規格の配列から, 商品規格を階層ごとに取得する.
-     *
-     * @access private
-     * @param array $productsClassResults 商品規格の結果の配列
-     * @return array 階層ごとの商品規格の配列
-     */
-    function getProductsClassLevel($productsClassResults) {
-        foreach ($productsClassResults as $row) {
-            $productsClassLevel['level' . $row['level']][] = $row;
-        }
-        return $productsClassLevel;
-    }
-
-    /**
-     * 商品規格の配列から, 商品規格のすべての組み合わせを取得する.
-     *
-     * @access private
-     * @param array $productsClassResults 商品規格の結果の配列
-     * @ array 階層ごとの商品規格の配列
-     */
-    function getProductsClassFull($productsClassResults) {
-        $results = $this->getProductsClassLevel($productsClassResults);
-        $productsClass = array();
-        if (SC_Utils_Ex::isBlank($results['level1'])
-            && SC_Utils_Ex::isBlank($results['level2'])) {
-            return $results['level'];
-        }
-
-        foreach ($results['level1'] as $level1) {
-            foreach ($results['level2'] as $level2) {
-                if ($level2['parent_class_combination_id'] == $level1['class_combination_id']) {
-                    $level1 = array_merge($level1, $level2);
-                }
-            }
-            $productsClass[] = $level1;
-        }
-        return $productsClass;
+        $arrRet = $this->getProductsClassByProductIds(array($productId), $has_deleted);
+        return $arrRet;
     }
 
@@ -787,5 +682,4 @@
              SELECT dtb_products.*,
                     dtb_products_class.product_class_id,
-                    dtb_products_class.class_combination_id,
                     dtb_products_class.product_type_id,
                     dtb_products_class.product_code,
@@ -799,9 +693,8 @@
                     dtb_products_class.down_filename,
                     dtb_products_class.down_realfilename,
-                    dtb_class_combination.parent_class_combination_id,
-                    dtb_class_combination.classcategory_id,
-                    dtb_class_combination.level as classlevel,
-                    Tpcm.classcategory_id as parent_classcategory_id,
-                    Tpcm.level as parent_classlevel,
+                    dtb_products_class.classcategory_id1 AS classcategory_id, -- 削除
+                    dtb_products_class.classcategory_id1,
+                    dtb_products_class.classcategory_id2 AS parent_classcategory_id, -- 削除
+                    dtb_products_class.classcategory_id2,
                     Tcc1.class_id as class_id,
                     Tcc1.name as classcategory_name,
@@ -811,12 +704,8 @@
                  LEFT JOIN dtb_products_class
                      ON dtb_products.product_id = dtb_products_class.product_id
-                 LEFT JOIN dtb_class_combination
-                     ON dtb_products_class.class_combination_id = dtb_class_combination.class_combination_id
-                 LEFT JOIN dtb_class_combination as Tpcm
-                     ON dtb_class_combination.parent_class_combination_id = Tpcm.class_combination_id
                  LEFT JOIN dtb_classcategory as Tcc1
-                     ON dtb_class_combination.classcategory_id = Tcc1.classcategory_id
+                     ON dtb_products_class.classcategory_id1 = Tcc1.classcategory_id
                  LEFT JOIN dtb_classcategory as Tcc2
-                     ON Tpcm.classcategory_id = Tcc2.classcategory_id
+                     ON dtb_products_class.classcategory_id2 = Tcc2.classcategory_id
              $where_clause
         ) as prdcls
Index: branches/version-2_12-dev/data/class/pages/admin/products/LC_Page_Admin_Products_Product.php
===================================================================
--- branches/version-2_12-dev/data/class/pages/admin/products/LC_Page_Admin_Products_Product.php	(revision 21481)
+++ branches/version-2_12-dev/data/class/pages/admin/products/LC_Page_Admin_Products_Product.php	(revision 21502)
@@ -1049,30 +1049,12 @@
                     $arrProductsClass = $objQuery->select($col, $table, $where, array($arrList['copy_product_id']));
 
-                    // 複製元商品の規格組み合わせデータ登録
-                    // 登録した組み合わせIDを取得
-                    $arrRetCombinationId = $this->lfRegistClassCombination($arrProductsClass);
-
                     // 規格データ登録
                     $objQuery =& SC_Query_Ex::getSingletonInstance();
                     foreach ($arrProductsClass as $arrData) {
-                        $sqlval = array();
+                        $sqlval = $arrData;
                         $sqlval['product_class_id'] = $objQuery->nextVal('dtb_products_class_product_class_id');
                         $sqlval['product_id'] = $product_id;
                         $sqlval['create_date'] = 'CURRENT_TIMESTAMP';
-                        $sqlval['class_combination_id'] = $arrRetCombinationId[$arrData['class_combination_id']];
-                        $sqlval['product_type_id'] = $arrData['product_type_id'];
-                        $sqlval['product_code'] = $arrData['product_code'];
-                        $sqlval['stock'] = $arrData['stock'];
-                        $sqlval['stock_unlimited'] = $arrData['stock_unlimited'];
-                        $sqlval['sale_limit'] = $arrData['sale_limit'];
-                        $sqlval['price01'] = $arrData['price01'];
-                        $sqlval['price02'] = $arrData['price02'];
-                        $sqlval['deliv_fee'] = $arrData['deliv_fee'];
-                        $sqlval['point_rate'] = $arrData['point_rate'];
-                        $sqlval['creator_id'] = $arrData['creator_id'];
                         $sqlval['update_date'] = 'CURRENT_TIMESTAMP';
-                        $sqlval['down_filename'] = $arrData['down_filename'];
-                        $sqlval['down_realfilename'] = $arrData['down_realfilename'];
-                        $sqlval['del_flg'] = $arrData['del_flg'];
                         $objQuery->insert($table, $sqlval);
                     }
@@ -1267,116 +1249,4 @@
 
     /**
-     * 商品規格データを元に、規格組み合わせデータを複製登録する
-     * 
-     * @param array $arrProductsClass 商品規格データ配列
-     * @return array 登録した規格組み合わせID配列
-     */
-    function lfRegistClassCombination($arrProductsClass) {
-        $arrRetCombinationId = array();
-
-        // 規格組み合わせデータを取得
-        $arrClassCombination = $this->lfGetClassCombination($arrProductsClass);
-
-        // 規格2を持っているかチェック
-        $has_class2 = $this->lfHasClass2($arrClassCombination);
-
-        // 規格組み合わせデータを複製登録
-        if ($has_class2 == true) {
-            // 規格2を持っている場合、規格1の組み合わせデータも取得
-            $arrClassCombinationParent = $this->lfGetClassCombination($arrClassCombination, true);
-
-            // 親組み合わせデータを複製登録
-            $arrRetCombinationId = $this->lfInsertClassCombination($arrClassCombinationParent);
-            // 子組み合わせデータを複製登録
-            $arrRetCombinationId = $this->lfInsertClassCombination($arrClassCombination, $arrRetCombinationId);
-        } else {
-            // 規格1のみの場合、複製登録
-            $arrRetCombinationId = $this->lfInsertClassCombination($arrClassCombination);
-        }
-
-        return $arrRetCombinationId;
-    }
-
-    /**
-     * 規格2を持っている規格組み合わせデータであるか判定する
-     * 
-     * @param array $arrClassCombination 規格組み合わせデータ配列
-     * @return boolean true: 規格2を持っている, false: 規格1のみ
-     */
-    function lfHasClass2($arrClassCombination) {
-        $has_class2 = false;
-
-        foreach ($arrClassCombination as $arrVal) {
-            if ($arrVal['level'] == '2') {
-                $has_class2 = true;
-                break;
-            }
-        }
-
-        return $has_class2;
-    }
-
-    /**
-     * 規格組み合わせデータを取得する
-     * 
-     * @param array $arrData 組み合わせIDを含むデータ配列
-     * @param boolean $is_parent 親規格IDから抽出するフラグ(省略時: false)
-     * @return array 規格組み合わせデータ配列
-     */
-    function lfGetClassCombination($arrData, $is_parent = false) {
-        $objQuery =& SC_Query_Ex::getSingletonInstance();
-        $key = 'class_combination_id';
-        if ($is_parent == true) {
-            $key = 'parent_class_combination_id';
-        }
-
-        $where = 'class_combination_id IN (';
-        $arrParam = array();
-        foreach ($arrData as $arrVal) {
-            if (SC_Utils_Ex::isBlank($arrVal[$key]) == true) {
-                continue;
-            }
-            $where .= '?,';
-            $arrParam[] = $arrVal[$key];
-        }
-        $where = preg_replace('/,$/', ')', $where);
-        $arrClassCombination = $objQuery->select('*', 'dtb_class_combination', $where, $arrParam);
-
-        return $arrClassCombination;
-    }
-
-    /**
-     * 規格組み合わせデータを複製登録する
-     * 
-     * @param array $arrClassCombination 複製元の規格組み合わせデータ配列
-     * @param array $arrParentCombinationId 登録する親組み合わせID配列 (省略可)
-     * @return array 登録した規格組み合わせID配列
-     */
-    function lfInsertClassCombination($arrClassCombination, $arrParentCombinationId = array()) {
-        $objQuery =& SC_Query_Ex::getSingletonInstance();
-        $arrRetCombinationId = array();
-
-        // 親組み合わせIDの指定がある場合、指定された親組み合わせIDで複製登録
-        if (count($arrParentCombinationId) > 0) {
-            foreach ($arrClassCombination as $key => $arrVal) {
-                $arrClassCombination[$key]['parent_class_combination_id'] = $arrParentCombinationId[$arrVal['parent_class_combination_id']];
-            }
-        }
-
-        foreach ($arrClassCombination as $arrVal) {
-            $sqlval = array();
-            $sqlval['class_combination_id'] = $objQuery->nextVal('dtb_class_combination_class_combination_id');
-            $sqlval['parent_class_combination_id'] = $arrVal['parent_class_combination_id'];
-            $sqlval['classcategory_id'] = $arrVal['classcategory_id'];
-            $sqlval['level'] = $arrVal['level'];
-            $objQuery->insert('dtb_class_combination', $sqlval);
-
-            $arrRetCombinationId[$arrVal['class_combination_id']] = $sqlval['class_combination_id'];
-        }
-
-        return $arrRetCombinationId;
-    }
-
-    /**
      * リネームする際は、自動生成される画像名に一意となるように、Suffixを付ける
      * 
Index: branches/version-2_12-dev/data/class/pages/admin/products/LC_Page_Admin_Products_UploadCSV.php
===================================================================
--- branches/version-2_12-dev/data/class/pages/admin/products/LC_Page_Admin_Products_UploadCSV.php	(revision 21490)
+++ branches/version-2_12-dev/data/class/pages/admin/products/LC_Page_Admin_Products_UploadCSV.php	(revision 21502)
@@ -613,4 +613,5 @@
     function lfCheckErrorDetail($item, $arrErr) {
         // 規格IDの存在チェック
+        // FIXME 規格分類ID自体のが有効かを主眼においたチェックをすべきと感じる。
         if (!$this->lfIsDbRecord('dtb_products_class', 'product_class_id', $item)) {
             $arrErr['product_class_id'] = "※ 指定の商品規格IDは、登録されていません。";
@@ -628,15 +629,4 @@
             }
         }
-        // 規格組合せIDの存在チェック
-//        if (!$this->lfIsDbRecord('dtb_class_combination', 'class_combination_id', $item)) {
-//      SC_Utils::sfIsRecord が del_flg が無いと使えない為、個別処理
-        if(array_search('class_combination_id', $this->arrFormKeyList) !== FALSE
-                and $item['class_combination_id'] != "") {
-            $objQuery =& SC_Query_Ex::getSingletonInstance();
-            $ret = $objQuery->get('class_combination_id', 'dtb_class_combination', 'class_combination_id = ?', array($item['class_combination_id']));
-            if ($ret == "") {
-                $arrErr['class_combination_id'] = "※ 指定の規格組合せIDは、登録されていません。";
-            }
-        }
         // 表示ステータスの存在チェック
         if (!$this->lfIsArrayRecord($this->arrDISP, 'status', $item)) {
Index: branches/version-2_12-dev/data/class/pages/admin/products/LC_Page_Admin_Products_ProductClass.php
===================================================================
--- branches/version-2_12-dev/data/class/pages/admin/products/LC_Page_Admin_Products_ProductClass.php	(revision 21481)
+++ branches/version-2_12-dev/data/class/pages/admin/products/LC_Page_Admin_Products_ProductClass.php	(revision 21502)
@@ -237,5 +237,5 @@
         $arrDefault = $this->getProductsClass($product_id);
 
-        $objQuery->delete('dtb_products_class', 'product_id = ? AND class_combination_id IS NOT NULL', array($product_id));
+        $objQuery->delete('dtb_products_class', 'product_id = ? AND (classcategory_id1 <> 0 OR classcategory_id2 <> 0)', array($product_id));
 
         for ($i = 0; $i < $total; $i++) {
@@ -244,7 +244,9 @@
             $price02 = SC_Utils_Ex::isBlank($arrList['price02'][$i]) ? 0 : $arrList['price02'][$i];
             // dtb_products_class 登録/更新用
-            $registerKeys = array('product_code', 'stock',
-                                  'price01', 'product_type_id',
-                                  'down_filename', 'down_realfilename');
+            $registerKeys = array(
+                'classcategory_id1', 'classcategory_id2',
+                'product_code', 'stock', 'price01', 'product_type_id',
+                'down_filename', 'down_realfilename',
+            );
 
             $arrPC = array();
@@ -264,33 +266,4 @@
             $arrPC['del_flg'] = $del_flg;
 
-            $class_combination_id = $arrExists[$arrList['product_class_id'][$i]]['class_combination_id'];
-            $existsCombi = $objQuery->getRow('*', 'dtb_class_combination',
-                                             'class_combination_id = ?',
-                                             array($class_combination_id));
-
-            $objQuery->delete('dtb_class_combination',
-                              'class_combination_id IN (?, ?)',
-                              array($existsCombi['class_combination_id'],
-                                    $existsCombi['parent_class_combination_id']));
-
-            // 規格組み合わせを登録
-            $arrComb1['class_combination_id'] = $objQuery->nextVal('dtb_class_combination_class_combination_id');
-            $arrComb1['classcategory_id'] = $arrList['classcategory_id1'][$i];
-            $arrComb1['level'] = 1;
-            $objQuery->insert('dtb_class_combination', $arrComb1);
-
-            // 規格2も登録する場合
-            if (!SC_Utils_Ex::isBlank($arrList['classcategory_id2'][$i])) {
-                $arrComb2['class_combination_id'] = $objQuery->nextVal('dtb_class_combination_class_combination_id');
-                $arrComb2['classcategory_id'] = $arrList['classcategory_id2'][$i];
-                $arrComb2['parent_class_combination_id'] = $arrComb1['class_combination_id'];
-                $arrComb2['level'] = 2;
-                $objQuery->insert('dtb_class_combination', $arrComb2);
-
-                $arrPC['class_combination_id'] = $arrComb2['class_combination_id'];
-            } else {
-                $arrPC['class_combination_id'] = $arrComb1['class_combination_id'];
-            }
-
             $arrPC['create_date'] = 'CURRENT_TIMESTAMP';
             // 更新の場合は, product_class_id を使い回す
@@ -313,5 +286,5 @@
         $arrBlank['update_date'] = 'CURRENT_TIMESTAMP';
         $objQuery->update('dtb_products_class', $arrBlank,
-                          "product_id = ? AND class_combination_id IS NULL",
+                          "product_id = ? AND classcategory_id1 = 0 AND classcategory_id2 = 0",
                           array($product_id));
 
@@ -479,5 +452,5 @@
         $product_id = $objFormParam->getValue('product_id');
         $objProduct = new SC_Product_Ex();
-        $existsProductsClass = $objProduct->getProductsClassFullByProductId($product_id, true);
+        $existsProductsClass = $objProduct->getProductsClassFullByProductId($product_id);
 
         // 規格のデフォルト値(すべての組み合わせ)を取得し, フォームに反映
@@ -557,27 +530,13 @@
 
         $objQuery->begin();
-        $arrClassCombi = $objQuery->getCol('class_combination_id',
-                                           'dtb_products_class',
-                                           'product_id = ?', array($product_id));
-
-        foreach ($arrClassCombi as $class_combination_id) {
-            if (SC_Utils_Ex::isBlank($class_combination_id)) {
-                continue;
-            }
-            $existsCombi = $objQuery->getRow('*', 'dtb_class_combination',
-                                             'class_combination_id = ?',
-                                             array($class_combination_id));
-
-            $objQuery->delete('dtb_class_combination',
-                              'class_combination_id IN (?, ?)',
-                              array($existsCombi['class_combination_id'],
-                                    $existsCombi['parent_class_combination_id']));
-        }
-        $objQuery->update('dtb_products_class', array('del_flg' => 0),
-                          "product_id = ? AND class_combination_id IS NULL",
-                          array($product_id));
-        $objQuery->delete('dtb_products_class',
-                          "product_id = ? AND class_combination_id IS NOT NULL",
-                          array($product_id));
+
+        // 商品規格なしデータの復元
+        $where = 'product_id = ? AND classcategory_id1 = 0 AND classcategory_id2 = 0';
+        $objQuery->update("dtb_products_class", array('del_flg' => 0), $where, array($product_id));
+
+        // 商品規格データの削除
+        $where = 'product_id = ? AND (classcategory_id1 <> 0 OR classcategory_id2 <> 0)';
+        $objQuery->delete("dtb_products_class", $where, array($product_id));
+
         $objQuery->commit();
 
@@ -780,5 +739,6 @@
         $objQuery =& SC_Query_Ex::getSingletonInstance();
         $col = "product_code, price01, price02, stock, stock_unlimited, sale_limit, deliv_fee, point_rate";
-        return $objQuery->getRow($col, 'dtb_products_class', "product_id = ? AND class_combination_id IS NULL", array($product_id));
+        $where = 'product_id = ? AND classcategory_id1 = 0 AND classcategory_id2 = 0';
+        return $objQuery->getRow($col, 'dtb_products_class', $where, array($product_id));
     }
 
