Beispiel #1
0
 /**
  * 配送住所のプルダウン用連想配列を取得する.
  *
  * 会員ログイン済みの場合は, 会員登録住所及び追加登録住所を取得する.
  * 非会員の場合は, 「お届け先の指定」画面で入力した住所を取得する.
  *
  * @param  Customer        $objCustomer Customer インスタンス
  * @param  PurchaseHelper $objPurchase PurchaseHelper インスタンス
  * @param AddressHelper $objAddress
  * @return array              配送住所のプルダウン用連想配列
  */
 public function getDelivAddress(Customer &$objCustomer, PurchaseHelper &$objPurchase, AddressHelper &$objAddress)
 {
     $masterData = Application::alias('eccube.db.master_data');
     $arrPref = $masterData->getMasterData('mtb_pref');
     $arrResults = array('' => '選択してください');
     // 会員ログイン時
     if ($objCustomer->isLoginSuccess(true)) {
         $addr = array(array('other_deliv_id' => NULL, 'customer_id' => $objCustomer->getValue('customer_id'), 'name01' => $objCustomer->getValue('name01'), 'name02' => $objCustomer->getValue('name02'), 'kana01' => $objCustomer->getValue('kana01'), 'kana02' => $objCustomer->getValue('kana02'), 'zip01' => $objCustomer->getValue('zip01'), 'zip02' => $objCustomer->getValue('zip02'), 'pref' => $objCustomer->getValue('pref'), 'addr01' => $objCustomer->getValue('addr01'), 'addr02' => $objCustomer->getValue('addr02'), 'tel01' => $objCustomer->getValue('tel01'), 'tel02' => $objCustomer->getValue('tel02'), 'tel03' => $objCustomer->getValue('tel03')));
         $arrAddress = array_merge($addr, $objAddress->getList($objCustomer->getValue('customer_id')));
         foreach ($arrAddress as $val) {
             $other_deliv_id = Utils::isBlank($val['other_deliv_id']) ? 0 : $val['other_deliv_id'];
             $arrResults[$other_deliv_id] = $val['name01'] . $val['name02'] . ' ' . $arrPref[$val['pref']] . $val['addr01'] . $val['addr02'];
         }
         // 非会員
     } else {
         $arrShippings = $objPurchase->getShippingTemp();
         foreach ($arrShippings as $shipping_id => $val) {
             $arrResults[$shipping_id] = $val['shipping_name01'] . $val['shipping_name02'] . ' ' . $arrPref[$val['shipping_pref']] . $val['shipping_addr01'] . $val['shipping_addr02'];
         }
     }
     return $arrResults;
 }