//県名を取得
$arrRetPref1 = $objQuery->select(“*”, “mtb_pref”, “id between 1 and 14”);
$arrRetPref2 = $objQuery->select(“*”, “mtb_pref”, “id between 15 and 30”);
$arrRetPref3 = $objQuery->select(“*”, “mtb_pref”, “id between 31 and 47”);
//送料を取得
$arrRetFee1 = $objQuery->select(“*”, “dtb_delivfee”, “deliv_id = $devname and pref between 1 and 14”);
$arrRetFee2 = $objQuery->select(“*”, “dtb_delivfee”, “deliv_id = $devname and pref between 15 and 30”);
$arrRetFee3 = $objQuery->select(“*”, “dtb_delivfee”, “deliv_id = $devname and pref between 31 and 47”);
★配送業者が複数存在する場合は「お支払方法・お届け時間等の指定」に送料の詳細リンクが表示されるが、1つの場合は表示されない。「送料を見る」をクリックすると下図のように表示される。
▼ここでのカスタマイズファイルをすべてダウンロードできます。
必要な箇所だけコピーしてご利用ください。
他のカスタマイズも含まれている場合がありますので、ファイルの上書きは絶対におやめください。
こちらから(facebookユーザーのみ)
(1)ポップアップで表示するための新規ページを作成する。
■html/postage/index.php
[php]
init();
$objPage->process();
?>
[/php]
■data/class_extends/page_extends/postage/LC_Page_Postage_Ex.php
[php]
[/php]
■data/class/pages/postage/LC_Page_Postage.php
[php]
tpl_page_category = ‘postage’;
$this->tpl_title = ‘配送業者の送料詳細’;
}
/**
* Page のプロセス.
*
* @return void
*/
function process() {
parent::process();
$this->action();
$this->sendResponse();
}
/**
* Page のアクション.
*
* @return void
*/
function action() {
$this->setTemplate($this->tpl_mainpage = ‘postage/postage.tpl’);
$objQuery =SC_Query_Ex::getSingletonInstance();
$this->arrRet = array();
$this->arrRetPref1 = array();
$this->arrRetFee1 = array();
$this->arrRetPref2 = array();
$this->arrRetFee2 = array();
$this->arrRetPref3 = array();
$this->arrRetFee3 = array();
//
$devname = $_GET[‘devname’];
//配送業者を取得
$arrRet = $objQuery->select(“*”, “dtb_deliv”, “deliv_id = $devname”);
//データベースからデータの取得ができたか
if(isset($arrRet)){
$this->arrRet = $arrRet[0];
}
//県名を取得
$arrRetPref1 = $objQuery->select(“*”, “mtb_pref”, “id between 1 and 14”);
$arrRetPref2 = $objQuery->select(“*”, “mtb_pref”, “id between 15 and 30”);
$arrRetPref3 = $objQuery->select(“*”, “mtb_pref”, “id between 31 and 47”);
//データベースからデータの取得ができたか
if(isset($arrRet)){
$this->arrRetPref1 = $arrRetPref1;
}
if(isset($arrRet)){
$this->arrRetPref2 = $arrRetPref2;
}
if(isset($arrRet)){
$this->arrRetPref3 = $arrRetPref3;
}
//送料を取得
$arrRetFee1 = $objQuery->select(“*”, “dtb_delivfee”, “deliv_id = $devname and pref between 1 and 14”);
$arrRetFee2 = $objQuery->select(“*”, “dtb_delivfee”, “deliv_id = $devname and pref between 15 and 30”);
$arrRetFee3 = $objQuery->select(“*”, “dtb_delivfee”, “deliv_id = $devname and pref between 31 and 47”);
//データベースからデータの取得ができたか
if(isset($arrRet)){
$this->arrRetFee1 = $arrRetFee1;
}
if(isset($arrRet)){
$this->arrRetFee2 = $arrRetFee2;
}
if(isset($arrRet)){
$this->arrRetFee3 = $arrRetFee3;
}
}
/**
* デストラクタ.
*
* @return void
*/
function destroy() {
parent::destroy();
}
}
?>
[/php]
■data/Smarty/templates/default/postage/postage.tpl
[php]
の送料詳細
[/php]
(2)配送業者の送料詳細を表示するかしないかを選択できるように、パラメータ設定に新たに項目を設ける。データベースに追加。
テーブル:mtb_constants
[php]
INSERT INTO mtb_constants (id, name, rank, remarks) VALUES (‘POSTAGE_SHOW’, ‘true’, 1417, ‘配送業者の送料の詳細 true/表示する false/表示しない’);
[/php]
★設定後、管理画面のパラメーター設定を開き「この内容で登録する」をクリックすると反映される。
(3)ColorBoxが適用されていて、送料詳細表示にColorBoxを利用する場合。
$(“.cbox_postage”).colorbox({width:”600″, height:”500″, iframe:true}); ←site_frame.tplに追記
■data/Smarty/templates/default/site_frame.tpl
[php]
[/php]
★ColorBoxを利用しない場合
(3)は記述しない。
(4)の (4)「お支払方法・お届け時間等の指定」ページのコードを変更
■data/Smarty/templates/default/shopping/payment.tpl
▼変更前
[php]
[/php]
▼変更後
[php]
[/php]
(5)CSSに追加する
■html/user_data/packages/default/css/popup.css
[css]
/* 配送業者の送料詳細
———————————————– */
div#pop_postage #name {
border-left:#CCC 10px solid;
padding-left:5px;
font-size:120%;
}
div#pop_postage table {
width:100%;
}
div#pop_postage th{
text-align:center;
}
div#pop_postage td{
text-align:right;
vertical-align:top;
}
div#pop_postage td.pref{
border-right:none;
}
div#pop_postage td.fee{
width:10%;
padding-right:30px;
}
[/css]