忍者ブログ
Flex,Java,Html など、調べた事のメモ帳です。 間違ってたらゴメンなさい。
×

[PR]上記の広告は3ヶ月以上新規記事投稿のないブログに表示されています。新しい記事を書く事で広告が消えます。

支払い方法で銀行振込を選んだ場合のみ注文完了画面で口座情報を表示します。

pages/shopping/LC_Page_Shopping_Complete.php の 68行目 action()に下記2行を追加して注文情報を取得する。
 
$objPurchase = new SC_Helper_Purchase();
$this->arrOrder = $objPurchase->getOrder($_SESSION['order_id']);


shopping/complete.tplの任意の場所に以下の様に記載する。
 
<!--{if $arrOrder.payment_method == "銀行振込" }-->
            <p>
お支払いは銀行振込で承りました。<br/>
下記の銀行口座にお振り込みください。<br/>
振込手数料はお客様負担でお願いします。<br/>
*************************************<br/>
銀行振込み先:○○銀行・・支店<br/>
普通 xxxxxxxx<br/>
カ)モゲモゲ<br/>
*************************************<br/>
<br/>
            </p>
<!--{/if}-->



ログインしていない状態でカート画面の「購入手続きへ」をクリックすると、

「ダウンロード商品を含むお買い物は、会員登録が必要です。 お手数ですが、会員登録をお願いします。」

このメッセージのエラー画面に遷移して、「戻る」ボタンをクリックすると商品詳細ページにもどります。
この場合に通常の商品と同様にログイン画面に遷移するには、


version2.12.3では LC_Page_Shopping.php の105~110行目の
if ($this->cartKey == PRODUCT_TYPE_DOWNLOAD) {
  $msg = 'ダウンロード商品を含むお買い物は、会員登録が必要です。<br/>'
                     . 'お手数ですが、会員登録をお願いします。';
  SC_Utils_Ex::sfDispSiteError(
                     FREE_ERROR_MSG, $objSiteSess,  false, $msg);
  SC_Response_Ex::actionExit();
}

の部分を
if ($this->cartKey == PRODUCT_TYPE_DOWNLOAD) {
}
このように全て消せばOKです。
 


EC-CUBE2.12.3の場合です。
 
/data/class/pages/shopping/LC_Page_Shopping_Confirm.phpを
 
165行目
	// 購入完了ページ

else {

    $objPurchase->completeOrder(ORDER_NEW);

    $template_id = SC_Display_Ex::detectDevice() == DEVICE_TYPE_MOBILE ? 2 : 1;

    $objHelperMail->sfSendOrderMail(

	        $this->arrForm['order_id'],

	        $template_id);

	
    SC_Response_Ex::sendRedirect(SHOPPING_COMPLETE_URLPATH);

}
 
これを
 
// 購入完了ページ
else { 

	if($this->arrForm['payment_total'] > 0){ 

		$objPurchase->completeOrder(ORDER_NEW); 

	}else{ 

		$objPurchase->completeOrder(ORDER_PRE_END); 

	} 

        $template_id = SC_Display_Ex::detectDevice() == DEVICE_TYPE_MOBILE ? 2 : 1;

        $objHelperMail->sfSendOrderMail(

                $this->arrForm['order_id'],

                $template_id);

        SC_Response_Ex::sendRedirect(SHOPPING_COMPLETE_URLPATH);

}
 
以上の様に変更します。
 

EC-CUBEの2系では、デザインテンプレートの変更が容易に行えるようになっています。そのため、デフォルトテンプレートのパッケージをダウンロードして独自カスタマイズし、再びアップロードする方も多いかと思います。

その際、デザインテンプレートが変更になるとブロックのレイアウト情報は一度削除され、テンプレートパッケージフォルダ内にある「_packagesフォルダ」→「sqlフォルダ」→ 「update_block.sql」が実行されます。この「update_bloc.sql」がデフォルトのレイアウト内容となっているため、テンプレートを変更するたびに、ブロックのレイアウトが元にもどってしまうのです。

ということは、このSQLファイルを調整すれば、テンプレート毎に合わせた自由なブロックレイアウトが可能になります。つまり、update_block.sqlに 「INSERT INTO dtb_blockposition …」とたくさん並んでいるかと思いますが、そのvalues以降をそれぞれ調整するわけです。


コミュニティスレッドと同じ例になりますが、update_block.sqlの中の1行をあげますと、

INSERT INTO dtb_blocposition (page_id,target_id,bloc_id,bloc_row,filename)values(1,5,1,0,'category');


valuesに「(1,5,1,0,'category')」とありますが、これはその前にある「(page_id,target_id,bloc_id,bloc_row,filename)」と関連があって、それぞれ「page_id→1」、「target_id→5」、「block_id→1」、「bloc_row→0」、「filename→category」という感じになっています。これはデータベーステーブルである「dtb_blockposition」のカラム(フィールド)とその挿入データという関係になってます。


では、それぞれのカラムにどういった値がはいれば、どういう意味になるかということを簡単に説明します。

  • page_id ・・・ 1はトップ、2は一覧、3は詳細・・・
  • target_id ・・・ 1は左カラム、2は中央上部カラム、3は右カラム、4は中央下部カラム、5は未使用ブロック
  • block_id ・・・ ブロックの番号。1がカテゴリブロック、2がガイドブロック・・・
  • bloc_row ・・・ 同じtarget_idのブロックがあった場合の並び順。小さい順にならびます(1から順に)。ちなみに、target_idが5(未使用ブロック)のときは全部0でもOKみたいです。
  • filename ・・・ ブロックテンプレート名です。tplが省略されているのだと思います。



dataフォルダ直下に.htaccessを配置
以下内容。

<Files ? ".*">
Order allow,deny
Deny from all
Satisfy all
</Files>


ブログランキング
にほんブログ村 IT技術ブログ IT技術メモへ
 
カレンダー
07 2017/08 09
S M T W T F S
1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30 31
人気ブログランキング
ブログランキング ブログランキング
最新CM
最新TB
ブログ内検索
PR
ATOM  
ATOM 
RSS  
RSS 
Copyright ©   プログラムメモ   All Rights Reserved
Design by MMIT  Powered by NINJA TOOLS
忍者ブログ [PR]