Index: /branches/version-2_5-dev/data/Smarty/templates/default/admin/products/product.tpl
===================================================================
--- /branches/version-2_5-dev/data/Smarty/templates/default/admin/products/product.tpl	(revision 18853)
+++ /branches/version-2_5-dev/data/Smarty/templates/default/admin/products/product.tpl	(revision 18863)
@@ -121,5 +121,5 @@
       <th>商品ステータス</th>
       <td>
-        <!--{html_checkboxes name="product_flag" options=$arrSTATUS selected=$arrForm.product_flag}-->
+        <!--{html_checkboxes name="product_status" options=$arrSTATUS selected=$arrForm.product_status}-->
       </td>
     </tr>
Index: /branches/version-2_5-dev/data/Smarty/templates/default/admin/products/confirm.tpl
===================================================================
--- /branches/version-2_5-dev/data/Smarty/templates/default/admin/products/confirm.tpl	(revision 18819)
+++ /branches/version-2_5-dev/data/Smarty/templates/default/admin/products/confirm.tpl	(revision 18863)
@@ -25,5 +25,11 @@
 <form name="form1" id="form1" method="post" action="?" enctype="multipart/form-data">
   <!--{foreach key=key item=item from=$arrForm}-->
-  <input type="hidden" name="<!--{$key}-->" value="<!--{$item|escape}-->" />
+    <!--{if $key == 'product_status'}-->
+      <!--{foreach item=statusVal from=$item}-->
+      <input type="hidden" name="<!--{$key}-->[]" value="<!--{$statusVal|escape}-->" />
+      <!--{/foreach}-->
+    <!--{else}-->
+      <input type="hidden" name="<!--{$key}-->" value="<!--{$item|escape}-->" />
+    <!--{/if}-->
   <!--{/foreach}-->
   <div id="products" class="contents-main">
@@ -54,7 +60,7 @@
       <th>商品ステータス</th>
       <td>
-      <!--{section name=cnt loop=$arrForm.product_flag|count_characters}-->
-        <!--{if $arrForm.product_flag[cnt] == "1"}--><!--{assign var=key value="`$smarty.section.cnt.iteration`"}--><img src="<!--{$TPL_DIR}--><!--{$arrSTATUS_IMAGE[$key]}-->"><!--{/if}-->
-      <!--{/section}-->
+      <!--{foreach from=$arrForm.product_status item=status}-->
+        <img src="<!--{$TPL_DIR}--><!--{$arrSTATUS_IMAGE[$status]}-->">
+      <!--{/foreach}-->
       </td>
     </tr>
Index: /branches/version-2_5-dev/data/class/pages/admin/products/LC_Page_Admin_Products_Product.php
===================================================================
--- /branches/version-2_5-dev/data/class/pages/admin/products/LC_Page_Admin_Products_Product.php	(revision 18820)
+++ /branches/version-2_5-dev/data/class/pages/admin/products/LC_Page_Admin_Products_Product.php	(revision 18863)
@@ -87,4 +87,5 @@
         $objQuery = new SC_Query();
         $objDb = new SC_Helper_DB_Ex();
+        $objProduct = new SC_Product();
 
         // 認証可否の判定
@@ -132,4 +133,7 @@
                 // DBから商品情報の読込
                 $this->arrForm = $this->lfGetProduct($_POST['product_id']);
+                $productStatus= $objProduct->getProductStatus(array($_POST['product_id']));
+                $this->arrForm['product_status'] = $productStatus[$_POST['product_id']];
+
                 // DBデータから画像ファイル名の読込
                 $this->objUpFile->setDBFileList($this->arrForm);
@@ -403,9 +407,4 @@
         }
 
-        if(isset($this->arrForm['product_flag']) && !is_array($this->arrForm['product_flag'])) {
-            // 商品ステータスの分割読込
-            $this->arrForm['product_flag'] = SC_Utils_Ex::sfSplitCheckBoxes($this->arrForm['product_flag']);
-        }
-
         // HIDDEN用に配列を渡す。
         $this->arrHidden = array_merge((array)$this->arrHidden, (array)$this->objUpFile->getHiddenFileList());
@@ -545,4 +544,8 @@
         }
 
+        // ステータス設定
+        $objProduct = new SC_Product();
+        $objProduct->setProductStatus($product_id, $arrList['product_status']);
+
         // 関連商品登録
         $this->lfInsertRecommendProducts($objQuery, $arrList, $product_id);
Index: /branches/version-2_5-dev/data/class/SC_Product.php
===================================================================
--- /branches/version-2_5-dev/data/class/SC_Product.php	(revision 18862)
+++ /branches/version-2_5-dev/data/class/SC_Product.php	(revision 18863)
@@ -22,6 +22,10 @@
  */
 
-/*  [名称] SC_Product
- *  [概要] 商品クラス
+/**
+ * 商品を扱うサービスクラス.
+ *
+ * @author LOCKON CO.,LTD.
+ * @author Kentaro Ohkouchi
+ * @version $Id$
  */
 class SC_Product {
@@ -439,4 +443,28 @@
         }
         return $results;
+    }
+
+    /**
+     * 商品ステータスを設定する.
+     *
+     * TODO 現在は DELETE/INSERT だが, UPDATE を検討する.
+     *
+     * @param integer $productId 商品ID
+     * @param array $productStatusIds ON にする商品ステータスIDの配列
+     */
+    function setProductStatus($productId, $productStatusIds) {
+
+        $val['product_id'] = $productId;
+        $val['creator_id'] = $_SESSION['member_id'];
+        $val['create_date'] = 'Now()';
+        $val['update_date'] = 'Now()';
+        $val['del_flg'] = '0';
+
+        $objQuery =& SC_Query::getSingletonInstance();
+        $objQuery->delete('dtb_product_status', 'product_id = ?', array($productId));
+        foreach ($productStatusIds as $productStatusId) {
+            $val['product_status_id'] = $productStatusId;
+            $objQuery->insert('dtb_product_status', $val);
+        }
     }
 
