質問 > 管理機能 > 受注管理画面で送り先2以降の情報が表示されない |
管理機能
フラット表示 | 前のトピック | 次のトピック |
投稿者 | スレッド |
---|---|
QAZU |
投稿日時: 2011/9/29 17:56
対応状況: −−−
|
半人前 登録日: 2007/3/7 居住地: 投稿: 26 |
Re: 受注管理画面で送り先2以降の情報が表示されない 弊社のエンジニアが、下記の対策を致しましたので、ご報告いたします。
修正箇所を、赤字で書いております。 ご参考になればと思います。 data/class/util/SC_Utils.php /* 配列をキー名ごとの配列に変更する */ function sfSwapArray($array, $isColumnName = true) { $arrRet = array(); $max = count($array); for($i = 0; $i < $max; $i++) { $j = 0; foreach($array[$i] as $key => $val) { if ($isColumnName) { $arrRet[$key][] = $val; } else { $arrRet[$j][] = $val; } $j++; } } return $arrRet; } function sfSwapArrayForeach($param) { if (is_array($param)) { $ret = array(); foreach ($param as $key => $val) { foreach ($val as $k => $v) { $ret[$k][] = $v; } } return $ret; } else { return $param; } } data/class/pages/admin/order/LC_Page_Admin_Order_Edit.php /** * 受注データを取得して, SC_FormParam へ設定する. * * @param SC_FormParam $objFormParam SC_FormParam インスタンス * @param integer $order_id 取得元の受注ID * @return void */ function setOrderToFormParam(&$objFormParam, $order_id) { $objPurchase = new SC_Helper_Purchase_Ex(); // 受注詳細を設定 $arrOrderDetail = $objPurchase->getOrderDetail($order_id, false); $objFormParam->setParam(SC_Utils_Ex::sfSwapArray($arrOrderDetail)); $this->adjustParam($objFormParam); $arrShippings = $objPurchase->getShippings($order_id); // お届け日の処理 foreach (array_keys($arrShippings) as $key) { $shipping =& $arrShippings[$key]; if (!SC_Utils_Ex::isBlank($shipping["shipping_date"])) { $ts = strtotime($shipping["shipping_date"]); $arrShippings[$key]['shipping_date_year'] = date('Y', $ts); $arrShippings[$key]['shipping_date_month'] = date('n', $ts); $arrShippings[$key]['shipping_date_day'] = date('j', $ts); } } $objFormParam->setValue('shipping_quantity', count($arrShippings)); // $objFormParam->setParam(SC_Utils_Ex::sfSwapArray($arrShippings)); $objFormParam->setParam(SC_Utils_Ex::sfSwapArrayForeach($arrShippings)); $this->adjustParam($objFormParam |
フラット表示 | 前のトピック | 次のトピック |