Index: branches/version-2_5-dev/data/Smarty/templates/admin/products/product.tpl
===================================================================
--- branches/version-2_5-dev/data/Smarty/templates/admin/products/product.tpl	(revision 20593)
+++ branches/version-2_5-dev/data/Smarty/templates/admin/products/product.tpl	(revision 20638)
@@ -76,4 +76,5 @@
 <input type="hidden" name="copy_product_id" value="<!--{$arrForm.copy_product_id}-->" />
 <input type="hidden" name="anchor_key" value="" />
+<input type="hidden" name="select_recommend_no" value="" />
 <input type="hidden" name="has_product_class" value="<!--{$arrForm.has_product_class|h}-->" />
 <!--{foreach key=key item=item from=$arrForm.arrHidden}-->
@@ -417,8 +418,8 @@
                 <!--{assign var=key value="recommend_delete`$smarty.section.cnt.iteration`"}-->
                 <input type="checkbox" name="<!--{$key}-->" value="1" />削除<br />
+               <!--{assign var=key value="recommend_comment`$smarty.section.cnt.iteration`"}-->
+                <span class="attention"><!--{$arrErr[$key]}--></span>
                 商品コード:<!--{$arrRecommend[$recommend_no].product_code_min}--><br />
                 商品名:<!--{$arrRecommend[$recommend_no].name|h}--><br />
-                <!--{assign var=key value="recommend_comment`$smarty.section.cnt.iteration`"}-->
-                <span class="attention"><!--{$arrErr[$key]}--></span>
                 <textarea name="<!--{$key}-->" cols="60" rows="8" class="area60" style="<!--{$arrErr[$key]|sfGetErrorColor}-->" ><!--{$arrRecommend[$recommend_no].comment|h}--></textarea><br />
                 <span class="attention"> (上限<!--{$smarty.const.LTEXT_LEN}-->文字)</span>
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 20616)
+++ branches/version-2_5-dev/data/class/pages/admin/products/LC_Page_Admin_Products_Product.php	(revision 20638)
@@ -235,6 +235,10 @@
             // 入力画面表示設定
             $this->arrForm = $this->lfSetViewParam_InputPage($objUpFile, $objDownFile, $arrForm);
+
+            // 選択された関連商品IDがすでに登録している関連商品と重複していないかチェック
+            $this->lfCheckError_RecommendSelect($this->arrForm, $this->arrErr);
+
             // ページonload時のJavaScript設定
-            $anchor_hash = $this->getAnchorHash($arrForm['anchor_key']);
+            $anchor_hash = $this->getAnchorHash($this->arrForm['anchor_key']);
             $this->tpl_onload = $this->lfSetOnloadJavaScript_InputPage($anchor_hash);
             break;
@@ -346,5 +350,5 @@
         }
 
-                $objFormParam->addParam("商品ID", "copy_product_id", INT_LEN, 'n', array("NUM_CHECK", "MAX_LENGTH_CHECK"));
+        $objFormParam->addParam("商品ID", "copy_product_id", INT_LEN, 'n', array("NUM_CHECK", "MAX_LENGTH_CHECK"));
 
         $objFormParam->addParam("has_product_class", "has_product_class", INT_LEN, 'n', array("NUM_CHECK", "MAX_LENGTH_CHECK"));
@@ -386,4 +390,5 @@
     function lfInitFormParam_RecommendSelect(&$objFormParam) {
         $objFormParam->addParam("anchor_key", "anchor_key", "", "", array());
+        $objFormParam->addParam("select_recommend_no", "select_recommend_no", INT_LEN, 'n', array("NUM_CHECK", "MAX_LENGTH_CHECK"));
     }
 
@@ -455,4 +460,33 @@
         $arrErr = array_merge((array)$arrErr, (array)$objErr->arrErr);
         return $arrErr;
+    }
+
+    /**
+     * 関連商品の重複登録チェック、エラーチェック
+     *
+     * 関連商品の重複があった場合はエラーメッセージを格納し、該当の商品IDをリセットする
+     *
+     * @param array $arrForm 入力値の配列
+     * @param array $arrErr エラーメッセージの配列
+     * @return void
+     */
+    function lfCheckError_RecommendSelect(&$arrForm, &$arrErr) {
+        $select_recommend_no = $arrForm['select_recommend_no'];
+        $select_recommend_id = $arrForm['recommend_id' . $select_recommend_no];
+
+        foreach(array_keys($arrForm) as $key) {
+            if(preg_match('/^recommend_id/', $key)) {
+                if($select_recommend_no == preg_replace('/^recommend_id/', '', $key)) {
+                    continue;
+                }
+
+                if($select_recommend_id == $arrForm[$key]) {
+                    // 重複した場合、選択されたデータをリセットする
+                    $arrForm['recommend_id' . $select_recommend_no] = '';
+                    $arrErr['recommend_comment' . $select_recommend_no] = '※ すでに登録されている関連商品です。<br />';
+                    break;
+                }
+            }
+        }
     }
 
