Index: branches/version-2_5-dev/data/Smarty/templates/default/shopping/multiple.tpl
===================================================================
--- branches/version-2_5-dev/data/Smarty/templates/default/shopping/multiple.tpl	(revision 20523)
+++ branches/version-2_5-dev/data/Smarty/templates/default/shopping/multiple.tpl	(revision 20670)
@@ -51,4 +51,5 @@
             <input type="hidden" name="<!--{$smarty.const.TRANSACTION_ID_NAME}-->" value="<!--{$transactionid}-->" />
             <input type="hidden" name="uniqid" value="<!--{$tpl_uniqid}-->" />
+            <input type="hidden" name="line_of_num" value="<!--{$arrForm.line_of_num.value}-->" />
             <input type="hidden" name="mode" value="confirm" />
             <table summary="商品情報">
@@ -63,35 +64,55 @@
                     <th>お届け先</th>
                 </tr>
-                <!--{foreach from=$items item=item name=cartItem}-->
-                    <!--{assign var=index value=$smarty.foreach.cartItem.index}-->
-                    <tr style="<!--{if $item.error}-->background-color: <!--{$smarty.const.ERR_COLOR}-->;<!--{/if}-->">
+                <!--{section name=line loop=$arrForm.line_of_num.value}-->
+                    <!--{assign var=index value=$smarty.section.line.index}-->
+                    <tr>
                         <td class="alignC">
                         <a
-                            <!--{if $item.main_image|strlen >= 1}--> href="<!--{$smarty.const.IMAGE_SAVE_URLPATH}--><!--{$item.main_image|sfNoImageMainList|h}-->" class="expansion" target="_blank"
+                            <!--{if $arrForm.main_image[$index]|strlen >= 1}--> href="<!--{$smarty.const.IMAGE_SAVE_URLPATH}--><!--{$arrForm.main_image.value[$index]|sfNoImageMainList|h}-->" class="expansion" target="_blank"
                             <!--{/if}-->
                         >
-                            <img src="<!--{$smarty.const.ROOT_URLPATH}-->resize_image.php?image=<!--{$item.main_list_image|sfNoImageMainList|h}-->&amp;width=65&amp;height=65" alt="&lt;!--{$item.productsClass.name|h}--&gt;" /></a>
+                            <img src="<!--{$smarty.const.ROOT_URLPATH}-->resize_image.php?image=<!--{$arrForm.main_list_image.value[$index]|sfNoImageMainList|h}-->&amp;width=65&amp;height=65" alt="&lt;!--{$arrForm.name.value[$index]|h}--&gt;" /></a>
                         </td>
-                        <td><!--{* 商品名 *}--><strong><!--{$item.name|h}--></strong><br />
-                            <!--{if $item.classcategory_name1 != ""}-->
-                                <!--{$item.class_name1}-->：<!--{$item.classcategory_name1}--><br />
+                        <td><!--{* 商品名 *}--><strong><!--{$arrForm.name.value[$index]|h}--></strong><br />
+                            <!--{if $arrForm.classcategory_name1.value[$index] != ""}-->
+                                <!--{$arrForm.class_name1.value[$index]|h}-->：<!--{$arrForm.classcategory_name1.value[$index]|h}--><br />
                             <!--{/if}-->
-                            <!--{if $item.classcategory_name2 != ""}-->
-                                <!--{$item.class_name2}-->：<!--{$item.classcategory_name2}--><br />
+                            <!--{if $arrForm.classcategory_name2.value[$index] != ""}-->
+                                <!--{$arrForm.class_name2.value[$index]|h}-->：<!--{$arrForm.classcategory_name2.value[$index]|h}--><br />
                             <!--{/if}-->
-                            <!--{$item.price02|sfCalcIncTax:$arrInfo.tax:$arrInfo.tax_rule|number_format}-->円
+                            <!--{$arrForm.price02.value[$index]|sfCalcIncTax:$arrInfo.tax:$arrInfo.tax_rule|number_format}-->円
                         </td>
                         <td>
-                            <!--{assign var=key value="quantity`$index`"}-->
-                            <input type="text" name="<!--{$key}-->" value="<!--{$arrForm[$key].value}-->" class="box40" />
+                            <!--{assign var=key value="quantity"}-->
+                            <!--{if $arrErr[$key][$index] != ''}-->
+                                <span class="attention"><!--{$arrErr[$key][$index]}--></span>
+                            <!--{/if}-->
+                            <input type="text" name="<!--{$key}-->[<!--{$index}-->]" value="<!--{$arrForm[$key].value[$index]}-->" class="box40" />
                         </td>
                         <td>
-                            <input type="hidden" name="cart_no<!--{$index}-->" value="<!--{$index}-->" />
-                            <input type="hidden" name="product_class_id<!--{$index}-->" value="<!--{$item.product_class_id}-->" />
-                            <!--{assign var=key value="shipping`$index`"}-->
-                            <select name="<!--{$key}-->"><!--{html_options options=$addrs selected=$arrForm[$key].value}--></select>
+                            <input type="hidden" name="cart_no[<!--{$index}-->]" value="<!--{$index}-->" />
+                            <!--{assign var=key value="product_class_id"}-->
+                            <input type="hidden" name="<!--{$key}-->[<!--{$index}-->]" value="<!--{$arrForm[$key].value[$index]}-->" />
+                            <!--{assign var=key value="name"}-->
+                            <input type="hidden" name="<!--{$key}-->[<!--{$index}-->]" value="<!--{$arrForm[$key].value[$index]}-->" />
+                            <!--{assign var=key value="class_name1"}-->
+                            <input type="hidden" name="<!--{$key}-->[<!--{$index}-->]" value="<!--{$arrForm[$key].value[$index]}-->" />
+                            <!--{assign var=key value="class_name2"}-->
+                            <input type="hidden" name="<!--{$key}-->[<!--{$index}-->]" value="<!--{$arrForm[$key].value[$index]}-->" />
+                            <!--{assign var=key value="classcategory_name1"}-->
+                            <input type="hidden" name="<!--{$key}-->[<!--{$index}-->]" value="<!--{$arrForm[$key].value[$index]}-->" />
+                            <!--{assign var=key value="classcategory_name2"}-->
+                            <input type="hidden" name="<!--{$key}-->[<!--{$index}-->]" value="<!--{$arrForm[$key].value[$index]}-->" />
+                            <!--{assign var=key value="main_image"}-->
+                            <input type="hidden" name="<!--{$key}-->[<!--{$index}-->]" value="<!--{$arrForm[$key].value[$index]}-->" />
+                            <!--{assign var=key value="main_list_image"}-->
+                            <input type="hidden" name="<!--{$key}-->[<!--{$index}-->]" value="<!--{$arrForm[$key].value[$index]}-->" />
+                            <!--{assign var=key value="price02"}-->
+                            <input type="hidden" name="<!--{$key}-->[<!--{$index}-->]" value="<!--{$arrForm[$key].value[$index]}-->" />
+                            <!--{assign var=key value="shipping"}-->
+                            <select name="<!--{$key}-->[<!--{$index}-->]"><!--{html_options options=$addrs selected=$arrForm[$key].value[$index]}--></select>
                         </td>
                     </tr>
-                <!--{/foreach}-->
+                <!--{/section}-->
             </table>
             <div class="btn_area">
Index: branches/version-2_5-dev/data/Smarty/templates/mobile/shopping/multiple.tpl
===================================================================
--- branches/version-2_5-dev/data/Smarty/templates/mobile/shopping/multiple.tpl	(revision 20614)
+++ branches/version-2_5-dev/data/Smarty/templates/mobile/shopping/multiple.tpl	(revision 20670)
@@ -26,25 +26,48 @@
 <input type="hidden" name="<!--{$smarty.const.TRANSACTION_ID_NAME}-->" value="<!--{$transactionid}-->">
 <input type="hidden" name="uniqid" value="<!--{$tpl_uniqid}-->">
+<input type="hidden" name="line_of_num" value="<!--{$arrForm.line_of_num.value}-->" />
 <input type="hidden" name="mode" value="confirm">
-<!--{foreach from=$items item=item name=cartItem}-->
-<!--{assign var=index value=$smarty.foreach.cartItem.index}-->
-<input type="hidden" name="cart_no<!--{$index}-->" value="<!--{$index}-->" />
-<input type="hidden" name="product_class_id<!--{$index}-->" value="<!--{$item.product_class_id}-->" />
+<!--{section name=line loop=$arrForm.line_of_num.value}-->
+<!--{assign var=index value=$smarty.section.line.index}-->
+<input type="hidden" name="cart_no[<!--{$index}-->]" value="<!--{$index}-->" />
+<!--{assign var=key value="product_class_id"}-->
+<input type="hidden" name="<!--{$key}-->[<!--{$index}-->]" value="<!--{$arrForm[$key].value[$index]}-->" />
+<!--{assign var=key value="name"}-->
+<input type="hidden" name="<!--{$key}-->[<!--{$index}-->]" value="<!--{$arrForm[$key].value[$index]}-->" />
+<!--{assign var=key value="class_name1"}-->
+<input type="hidden" name="<!--{$key}-->[<!--{$index}-->]" value="<!--{$arrForm[$key].value[$index]}-->" />
+<!--{assign var=key value="class_name2"}-->
+<input type="hidden" name="<!--{$key}-->[<!--{$index}-->]" value="<!--{$arrForm[$key].value[$index]}-->" />
+<!--{assign var=key value="classcategory_name1"}-->
+<input type="hidden" name="<!--{$key}-->[<!--{$index}-->]" value="<!--{$arrForm[$key].value[$index]}-->" />
+<!--{assign var=key value="classcategory_name2"}-->
+<input type="hidden" name="<!--{$key}-->[<!--{$index}-->]" value="<!--{$arrForm[$key].value[$index]}-->" />
+<!--{assign var=key value="main_image"}-->
+<input type="hidden" name="<!--{$key}-->[<!--{$index}-->]" value="<!--{$arrForm[$key].value[$index]}-->" />
+<!--{assign var=key value="main_list_image"}-->
+<input type="hidden" name="<!--{$key}-->[<!--{$index}-->]" value="<!--{$arrForm[$key].value[$index]}-->" />
+<!--{assign var=key value="price02"}-->
+<input type="hidden" name="<!--{$key}-->[<!--{$index}-->]" value="<!--{$arrForm[$key].value[$index]}-->" />
 
-<!--{* 商品名 *}-->◎<!--{$item.name|h}--><br>
-<!--{* 規格名1 *}--><!--{if $item.classcategory_name1 != ""}--><!--{$item.class_name1}-->：<!--{$item.classcategory_name1}--><br><!--{/if}-->
-<!--{* 規格名2 *}--><!--{if $item.classcategory_name2 != ""}--><!--{$item.class_name2}-->：<!--{$item.classcategory_name2}--><br><!--{/if}-->
+<!--{* 商品名 *}-->◎<!--{$arrForm.name.value[$index]|h}--><br>
+<!--{* 規格名1 *}--><!--{if $arrForm.classcategory_name1.value[$index] != ""}--><!--{$arrForm.class_name1.value[$index]}-->：<!--{$arrForm.classcategory_name1.value[$index]}--><br><!--{/if}-->
+<!--{* 規格名2 *}--><!--{if $arrForm.classcategory_name2.value[$index] != ""}--><!--{$arrForm.class_name2.value[$index]}-->：<!--{$arrForm.classcategory_name2.value[$index]}--><br><!--{/if}-->
 <!--{* 販売価格 *}-->
-<!--{$item.price02|sfCalcIncTax:$arrInfo.tax:$arrInfo.tax_rule|number_format}-->円<br>
-<!--{assign var=key value="quantity`$index`"}-->
-数量：<input type="text" name="<!--{$key}-->" value="<!--{$arrForm[$key].value}-->" size="4" />
+<!--{$arrForm.price02.value[$index]|sfCalcIncTax:$arrInfo.tax:$arrInfo.tax_rule|number_format}-->円<br>
+
+<!--{assign var=key value="quantity"}-->
+<!--{if $arrErr[$key][$index] != ''}-->
+<font color="#FF0000"><!--{$arrErr[$key][$index]}--></font>
+<!--{/if}-->
+数量：<input type="text" name="<!--{$key}-->[<!--{$index}-->]" value="<!--{$arrForm[$key].value[$index]}-->" size="4">
 <br>
-<!--{assign var=key value="shipping`$index`"}-->
+
+<!--{assign var=key value="shipping"}-->
 お届け先：<br>
-<select name="<!--{$key}-->"><!--{html_options options=$addrs selected=$arrForm[$key].value}--></select>
+<select name="<!--{$key}-->[<!--{$index}-->]"><!--{html_options options=$addrs selected=$arrForm[$key].value[$index]}--></select>
 <br>
 <br>
 
-<!--{/foreach}-->
+<!--{/section}-->
 <center><input type="submit" value="選択したお届け先に送る"></center>
 </form>
Index: branches/version-2_5-dev/data/Smarty/templates/sphone/shopping/multiple.tpl
===================================================================
--- branches/version-2_5-dev/data/Smarty/templates/sphone/shopping/multiple.tpl	(revision 20614)
+++ branches/version-2_5-dev/data/Smarty/templates/sphone/shopping/multiple.tpl	(revision 20670)
@@ -48,6 +48,10 @@
             <input type="hidden" name="<!--{$smarty.const.TRANSACTION_ID_NAME}-->" value="<!--{$transactionid}-->" />
             <input type="hidden" name="uniqid" value="<!--{$tpl_uniqid}-->" />
+            <input type="hidden" name="line_of_num" value="<!--{$arrForm.line_of_num.value}-->" />
             <input type="hidden" name="mode" value="confirm" />
-                <!--{foreach from=$items item=item name=cartItem}-->
+
+                <!--{section name=line loop=$arrForm.line_of_num.value}-->
+                <!--{assign var=index value=$smarty.section.line.index}-->
+
                 <table summary="商品情報" class="entryform">
                 <tr>
@@ -56,30 +60,49 @@
                     <th class="multi_nu">数量</th>
                 </tr>
-                    <!--{assign var=index value=$smarty.foreach.cartItem.index}-->
-                    <tr style="<!--{if $item.error}-->background-color: <!--{$smarty.const.ERR_COLOR}-->;<!--{/if}-->">
+                    <tr>
                         <td class="phototd">
                         <a
-                            <!--{if $item.main_image|strlen >= 1}-->
-                                href="<!--{$smarty.const.IMAGE_SAVE_URLPATH}--><!--{$item.main_image|sfNoImageMainList|h}-->"
+                            <!--{if $arrForm.main_image.value[$index]|strlen >= 1}-->
+                                href="<!--{$smarty.const.IMAGE_SAVE_URLPATH}--><!--{$arrForm.main_image.value[$index]|sfNoImageMainList|h}-->"
                                 class="expansion"
                                 target="_blank"
                             <!--{/if}-->
                         >
-                            <img src="<!--{$smarty.const.ROOT_URLPATH}-->resize_image.php?image=<!--{$item.main_list_image|sfNoImageMainList|h}-->&amp;width=65&amp;height=65" alt="&lt;!--{$item.productsClass.name|h}--&gt;" /></a>
+                            <img src="<!--{$smarty.const.ROOT_URLPATH}-->resize_image.php?image=<!--{$arrForm.main_list_image.value[$index]|sfNoImageMainList|h}-->&amp;width=65&amp;height=65" alt="&lt;!--{$arrForm.name[$index]|h}--&gt;" /></a>
                         </td>
-                        <td class="multi_pr"><!--{* 商品名 *}--><strong><!--{$item.name|h}--></strong><br />
-                            <!--{if $item.classcategory_name1 != ""}-->
-                                <!--{$item.class_name1}-->：<!--{$item.classcategory_name1}--><br />
+                        <td class="multi_pr"><!--{* 商品名 *}--><strong><!--{$arrForm.name.value[$index]|h}--></strong><br />
+                            <!--{if $arrForm.classcategory_name1.value[$index] != ""}-->
+                                <!--{$arrForm.class_name1.value[$index]|h}-->：<!--{$arrForm.classcategory_name1.value[$index]|h}--><br />
                             <!--{/if}-->
-                            <!--{if $item.classcategory_name2 != ""}-->
-                                <!--{$item.class_name2}-->：<!--{$item.classcategory_name2}--><br />
+                            <!--{if $arrForm.classcategory_name2.value[$index] != ""}-->
+                                <!--{$arrForm.class_name2.value[$index]|h}-->：<!--{$arrForm.classcategory_name2.value[$index]|h}--><br />
                             <!--{/if}-->
-                            <!--{$item.price02|sfCalcIncTax:$arrInfo.tax:$arrInfo.tax_rule|number_format}-->円
+                            <!--{$arrForm.price02.value[$index]|sfCalcIncTax:$arrInfo.tax:$arrInfo.tax_rule|number_format}-->円
                         </td>
                         <td class="multi_nu">
-                          <input class="multi_nu" type="hidden" name="cart_no<!--{$index}-->" value="<!--{$index}-->" />
-                          <input class="multi_nu" type="hidden" name="product_class_id<!--{$index}-->" value="<!--{$item.product_class_id}-->" />
-                          <!--{assign var=key value="quantity`$index`"}-->
-                          <input class="multi_nu" type="text" name="<!--{$key}-->" value="<!--{$arrForm[$key].value}-->" size="4" />
+                          <input class="multi_nu" type="hidden" name="cart_no[<!--{$index}-->]" value="<!--{$index}-->" />
+                          <!--{assign var=key value="product_class_id"}-->
+                          <input class="multi_nu" type="hidden" name="<!--{$key}-->[<!--{$index}-->]" value="<!--{$arrForm[$key].value[$index]}-->" />
+                          <!--{assign var=key value="name"}-->
+                          <input class="multi_nu" type="hidden" name="<!--{$key}-->[<!--{$index}-->]" value="<!--{$arrForm[$key].value[$index]}-->" />
+                          <!--{assign var=key value="class_name1"}-->
+                          <input class="multi_nu" type="hidden" name="<!--{$key}-->[<!--{$index}-->]" value="<!--{$arrForm[$key].value[$index]}-->" />
+                          <!--{assign var=key value="class_name2"}-->
+                          <input class="multi_nu" type="hidden" name="<!--{$key}-->[<!--{$index}-->]" value="<!--{$arrForm[$key].value[$index]}-->" />
+                          <!--{assign var=key value="classcategory_name1"}-->
+                          <input class="multi_nu" type="hidden" name="<!--{$key}-->[<!--{$index}-->]" value="<!--{$arrForm[$key].value[$index]}-->" />
+                          <!--{assign var=key value="classcategory_name2"}-->
+                          <input class="multi_nu" type="hidden" name="<!--{$key}-->[<!--{$index}-->]" value="<!--{$arrForm[$key].value[$index]}-->" />
+                          <!--{assign var=key value="main_image"}-->
+                          <input class="multi_nu" type="hidden" name="<!--{$key}-->[<!--{$index}-->]" value="<!--{$arrForm[$key].value[$index]}-->" />
+                          <!--{assign var=key value="main_list_image"}-->
+                          <input class="multi_nu" type="hidden" name="<!--{$key}-->[<!--{$index}-->]" value="<!--{$arrForm[$key].value[$index]}-->" />
+                          <!--{assign var=key value="price02"}-->
+                          <input class="multi_nu" type="hidden" name="<!--{$key}-->[<!--{$index}-->]" value="<!--{$arrForm[$key].value[$index]}-->" />
+                          <!--{assign var=key value="quantity"}-->
+                          <!--{if $arrErr[$key][$index] != ''}-->
+                              <span class="attention"><!--{$arrErr[$key][$index]}--></span>
+                          <!--{/if}-->
+                          <input class="multi_nu" type="text" name="<!--{$key}-->[<!--{$index}-->]" value="<!--{$arrForm[$key].value[$index]}-->" size="4" />
                         </td>
                      </tr>
@@ -88,9 +111,11 @@
                     </tr>
                     <tr style="<!--{if $item.error}-->background-color: <!--{$smarty.const.ERR_COLOR}-->;<!--{/if}-->">
-                      <td colspan="3"><!--{assign var=key value="shipping`$index`"}-->
-                          <select name="<!--{$key}-->"><!--{html_options options=$addrs selected=$arrForm[$key].value}--></select></td>
+                      <td colspan="3">
+                        <!--{assign var=key value="shipping"}-->
+                        <select name="<!--{$key}-->[<!--{$index}-->]"><!--{html_options options=$addrs selected=$arrForm[$key].value[$index]}--></select>
+                        </td>
                     </tr>
                    </table><br />
-                  <!--{/foreach}-->
+                  <!--{/section}-->
 
             <div class="tblareabtn">
Index: branches/version-2_5-dev/data/class/pages/shopping/LC_Page_Shopping_Multiple.php
===================================================================
--- branches/version-2_5-dev/data/class/pages/shopping/LC_Page_Shopping_Multiple.php	(revision 20538)
+++ branches/version-2_5-dev/data/class/pages/shopping/LC_Page_Shopping_Multiple.php	(revision 20670)
@@ -74,14 +74,15 @@
         $this->addrs = $this->getDelivAddrs($objCustomer, $objPurchase,
                                             $this->tpl_uniqid);
-        $this->items = $this->splitItems($objCartSess);
-
-        $this->lfInitParam($this->items, $objFormParam);
-        $objFormParam->setParam($_POST);
+        $this->lfInitParam($objFormParam);
+
         $objPurchase->verifyChangeCart($this->tpl_uniqid, $objCartSess);
 
         switch ($this->getMode()) {
             case 'confirm':
+                $objFormParam->setParam($_POST);
                 $this->arrErr = $this->lfCheckError($objFormParam);
                 if (SC_Utils_Ex::isBlank($this->arrErr)) {
+                    // フォームの情報を一時保存しておく
+                    $_SESSION['multiple_temp'] = $objFormParam->getHashArray();
                     $this->saveMultipleShippings($this->tpl_uniqid, $objFormParam,
                                                  $objCustomer, $objPurchase,
@@ -94,4 +95,10 @@
 
         default:
+            $this->setParamToSplitItems($objFormParam, $objCartSess);
+        }
+
+        // 前のページから戻ってきた場合
+        if ($_GET['from'] == 'multiple') {
+            $objFormParam->setParam($_SESSION['multiple_temp']);
         }
 
@@ -111,31 +118,47 @@
      * フォームを初期化する.
      *
-     * @param array $arrItems 数量ごとに分割した, カートの商品情報の配列
-     * @param SC_FormParam $objFormParam SC_FormParam インスタンス
-     * @return void
-     */
-    function lfInitParam($arrItems, $objFormParam) {
-        for ($i = 0; $i < count($arrItems); $i++) {
-            $objFormParam->addParam("商品規格ID", "product_class_id" . $i, INT_LEN, 'n', array("EXIST_CHECK", "MAX_LENGTH_CHECK", "NUM_CHECK"));
-            $objFormParam->addParam("数量", 'quantity' . $i, INT_LEN, 'n', array("EXIST_CHECK", "MAX_LENGTH_CHECK", "NUM_CHECK"), 1);
-            $objFormParam->addParam("配送先住所", 'shipping' . $i, INT_LEN, 'n', array("EXIST_CHECK", "MAX_LENGTH_CHECK", "NUM_CHECK"));
-            $objFormParam->addParam("カート番号", "cart_no" . $i, INT_LEN, 'n', array("EXIST_CHECK", "MAX_LENGTH_CHECK", "NUM_CHECK"));
-        }
-    }
-
-    /**
-     * カートの商品を数量ごとに分割する
-     *
+     * @param SC_FormParam $objFormParam SC_FormParam インスタンス
+     * @return void
+     */
+    function lfInitParam(&$objFormParam) {
+        $objFormParam->addParam("商品規格ID", "product_class_id", INT_LEN, 'n', array("EXIST_CHECK", "MAX_LENGTH_CHECK", "NUM_CHECK"));
+        $objFormParam->addParam("商品名", "name");
+        $objFormParam->addParam("規格1", "class_name1");
+        $objFormParam->addParam("規格2", "class_name2");
+        $objFormParam->addParam("規格分類1", "classcategory_name1");
+        $objFormParam->addParam("規格分類2", "classcategory_name2");
+        $objFormParam->addParam("メイン画像", "main_image");
+        $objFormParam->addParam("メイン一覧画像", "main_list_image");
+        $objFormParam->addParam("販売価格", "price02");
+        $objFormParam->addParam("数量", 'quantity', INT_LEN, 'n', array("EXIST_CHECK", "MAX_LENGTH_CHECK", "NUM_CHECK"), 1);
+        $objFormParam->addParam("配送先住所", 'shipping', INT_LEN, 'n', array("EXIST_CHECK", "MAX_LENGTH_CHECK", "NUM_CHECK"));
+        $objFormParam->addParam("カート番号", "cart_no", INT_LEN, 'n', array("EXIST_CHECK", "MAX_LENGTH_CHECK", "NUM_CHECK"));
+        $objFormParam->addParam("行数", "line_of_num", INT_LEN, 'n', array("EXIST_CHECK", "MAX_LENGTH_CHECK", "NUM_CHECK"));
+    }
+
+    /**
+     * カートの商品を数量ごとに分割し, フォームに設定する.
+     *
+     * @param SC_FormParam $objFormParam SC_FormParam インスタンス
      * @param SC_CartSession $objCartSess SC_CartSession インスタンス
-     * @return array 数量ごとに分割した, カートの商品情報の配列
-     */
-    function splitItems(&$objCartSess) {
+     * @return void
+     */
+    function setParamToSplitItems(&$objFormParam, &$objCartSess) {
         $cartLists =& $objCartSess->getCartList($objCartSess->getKey());
+        $arrItems = array();
+        $index = 0;
         foreach (array_keys($cartLists) as $key) {
-            for ($i = 0; $i < $cartLists[$key]['quantity']; $i++) {
-                $items[] =& $cartLists[$key]['productsClass'];
-            }
-        }
-        return $items;
+            $arrProductsClass = $cartLists[$key]['productsClass'];
+            $quantity = (int) $cartLists[$key]['quantity'];
+            for ($i = 0; $i < $quantity; $i++) {
+                foreach ($arrProductsClass as $key => $val) {
+                    $arrItems[$key][$index] = $val;
+                }
+                $arrItems['quantity'][$index] = 1;
+                $index++;
+            }
+        }
+        $objFormParam->setParam($arrItems);
+        $objFormParam->setValue('line_of_num', $index);
     }
 
@@ -205,7 +228,8 @@
 
         $arrParams = $objFormParam->getHashArray();
-        $i = 0;
-        while ($arrParams['cart_no' . $i] != null) {
-            $other_deliv_id = $arrParams['shipping' . $i];
+        $total = $arrParams['line_of_num'];
+
+        for ($index = 0; $index < $total; $index++) {
+            $other_deliv_id = $arrParams['shipping'][$index];
 
             if ($objCustomer->isLoginSuccess(true)) {
@@ -222,9 +246,13 @@
                 }
             }
-
-            $objPurchase->setShipmentItemTemp($other_deliv_id,
-                                              $arrParams['product_class_id' . $i],
-                                              $arrParams['quantity' . $i]);
-            $i++;
+            $arrItemTemp[$other_deliv_id][$arrParams['product_class_id'][$index]] += $arrParams['quantity'][$index];
+        }
+
+        foreach ($arrItemTemp as $other_deliv_id => $arrProductClassIds) {
+            foreach ($arrProductClassIds as $product_class_id => $quantity) {
+                $objPurchase->setShipmentItemTemp($other_deliv_id,
+                                                  $product_class_id,
+                                                  $quantity);
+            }
         }
 
Index: branches/version-2_5-dev/data/class/pages/shopping/LC_Page_Shopping_Payment.php
===================================================================
--- branches/version-2_5-dev/data/class/pages/shopping/LC_Page_Shopping_Payment.php	(revision 20655)
+++ branches/version-2_5-dev/data/class/pages/shopping/LC_Page_Shopping_Payment.php	(revision 20670)
@@ -102,5 +102,5 @@
 
         // 戻り URL の設定
-        $this->tpl_back_url = $this->getPreviousURL($objCustomer->isLoginSuccess(true), $cart_key);
+        $this->tpl_back_url = $this->getPreviousURL($objCustomer->isLoginSuccess(true), $cart_key, $this->is_multiple);
 
         $arrOrderTemp = $objPurchase->getOrderTemp($this->tpl_uniqid);
@@ -408,8 +408,12 @@
      *
      * @param boolean $is_login ユーザーがログインしている場合 true
-     * @param $product_type_id 商品種別ID
+     * @param integer $product_type_id 商品種別ID
+     * @param boolean $is_multiple 複数配送の場合 true
      * @return string 前に戻るボタンの URL
      */
-    function getPreviousURL($is_login = false, $product_type_id) {
+    function getPreviousURL($is_login = false, $product_type_id, $is_multiple) {
+        if ($is_multiple) {
+            return MULTIPLE_URLPATH . '?from=multiple';
+        }
         if ($is_login) {
             if ($product_type_id == PRODUCT_TYPE_DOWNLOAD) {
Index: branches/version-2_5-dev/data/class/helper/SC_Helper_Purchase.php
===================================================================
--- branches/version-2_5-dev/data/class/helper/SC_Helper_Purchase.php	(revision 20662)
+++ branches/version-2_5-dev/data/class/helper/SC_Helper_Purchase.php	(revision 20670)
@@ -204,5 +204,5 @@
         $arrItems[$product_class_id]['shipping_id'] = $shipping_id;
         $arrItems[$product_class_id]['product_class_id'] = $product_class_id;
-        $arrItems[$product_class_id]['quantity'] += $quantity;
+        $arrItems[$product_class_id]['quantity'] = $quantity;
 
         $objProduct = new SC_Product_Ex();
@@ -222,5 +222,4 @@
     function shippingItemTempToCart(&$objCartSession) {
         $arrShipmentItems = array();
-
         foreach (array_keys($_SESSION['shipping']) as $shipping_id) {
             foreach (array_keys($_SESSION['shipping'][$shipping_id]['shipment_item']) as $product_class_id) {
@@ -276,4 +275,5 @@
     function unsetShippingTemp() {
         unset($_SESSION['shipping']);
+        unset($_SESSION['multiple_temp']);
     }
 
