Home > EC-CUBE Archive
EC-CUBE Archive
ブロックを条件分岐で表示させる
カテゴリーidが1もしくは詳細ページなどの商品idが2のときにブロックを表示させたい場合、ブロックを下記のようにする。
<!--{if $category_id == "1"or $arrProduct.product_id == "2"}-->
ブロックの内容
<!--{/if}-->
- Comments: 0
- Trackbacks: 0
EC-CUBEのバージョン管理
- 2009-01-22 (木)
- EC-CUBE
EC-CUBEを以前のバージョンから次のバージョンにアップデートしようとしても、変更されたファイルがわからないので何かいい方法がないか探していた。
EC-CUBE開発コミュニティで、「TortoiseSVN」を使うと便利だと教えていただいたので早速ダウンロードしてインストールしてみたが使い方がさっぱりわからん
インストールの方法はいろんなサイトで説明されているのでここでは省きます。
さらにググりまくってやっと使い方(といっても一部だけど)を発見。
EC-CUBE2.3.2から2.3.3の差分ファイルを抽出するには、
- 差分ファイルを保存するフォルダを用意
- そのフォルダ上で右クリックして「TortoiseSVN」メニューから「ログを表示」。
- ログが出るので、比較したいリビジョンを選ぶ。Ctrlキーを使って、2つだけ選ぶ。
- 右クリックして、「リビジョンを比較」。
- 比較結果が出るので、エクスポートしたいファイル選択する(通常は全部選択)。
- 右クリックして、「選択をエクスポート」。
- エクスポート先を指定して、できあがり。
これでなんとディレクトリ構造をキープして差分のファイルが保存されていた。
これはすごい!
- Comments: 0
- Trackbacks: 0
EC-CUBE に PayPal 支払を追加する
参考サイト
・PayPal決済導入方法←かなり詳しいです。1部のコードでエラーが出たので下記サイト参考にして修正しました。
まず、PayPal のビジネスアカウントを取得している必要があります。
■PayPal側の設定
[マイアカウント]→[個人設定]→[販売の設定-ウェブサイト決済の設定]ページを表示。
- ウェブサイト決済の自動復帰
自動復帰:オン
ウェブサイト決済の自動復帰
復帰URL:
http://ショップURL/html/shopping/complete.php
- 支払いデータ転送:オン
- 暗号化ウェブサイト決済
暗号化されていないウェブサイト決済の受領拒否:オフ
- PayPalアカウントオプションサービス:オフ
- 連絡先電話番号:オフ
- 高速チェックアウトの設定
giropayおよび銀行振替による支払いのサポート:オフ
と設定して保存。
[マイアカウント]⇒[個人設定]⇒[販売の設定-言語のエンコード]
- ウェブサイトの言語:日本語
- [詳細オプション]
エンコード方式:UTF-8
PayPalから送信されたデータと同じエンコード方式を使用しますか(IPN、ダウンロード可能なログ、メールなど)?
はい
[マイアカウント]⇒[個人設定]⇒[販売の設定-支払い受領設定]
- クレジットカード利用明細上の名前を適宜設定
■EC-CUBE側の設定
/data/class/pages/shopping/LC_Page_Shopping_Confirm.phpの
148行目:// 決済方法により画面切替
155行目:}
を
// 決済方法により画面切替
if($payment_type != "") {
$_SESSION["payment_id"] = $arrData['payment_id'];
header("Location: " . URL_SHOP_MODULE);
}else{
if($arrData['payment_id'] == ※1 payment_id) {
// 設定変更行して下さい ↑ if($arrData['payment_id'] == payment_id) {
$paypalURL = "https://www.paypal.com/j1/cgi-bin/webscr?cmd=_xclick&" ;
$paypalURL .= "business=" . "PayPalアカウントのメールアドレス" . "&" ;
// 設定変更行して下さい ↑$paypalURL .= "business=" . "paypalアカウントのメールアドレス" . "&" ;
$paypalURL .= "lc=JP&item_name=" . "※2 商品名" . "&" ;
// 設定変更行して下さい ↑ $paypalURL .= "lc=JP&item_name=" . "商品名" . "&" ;
$paypalURL .= "invoice=" . $order_id . "&" ;
$paypalURL .= "currency_code=JPY&no_shipping=1&no_note=1&" ;
$paypalURL .= "shipping=" . $arrData['deliv_fee'] . "&" ;
$paypalURL .= "amount=" . ($arrData['payment_total']-$arrData['deliv_fee']) . "&" ;
$paypalURL .= "email=" . $arrData["order_email"] . "&" ;
$paypalURL .= "first_name=" . urlencode(mb_convert_encoding($arrData["deliv_name02"], "UTF-8",CHAR_CODE)) . "&" ;
$paypalURL .= "last_name=" . urlencode(mb_convert_encoding($arrData["deliv_name01"], "UTF-8", CHAR_CODE)) . "&" ;// 郵便番号から市町村を得る
$city = $objQuery->get("mtb_zip", "city", "zipcode=" . $arrData["deliv_zip01"] . $arrData["deliv_zip02"]) ;
$paypalURL .= "address1=" . urlencode(mb_convert_encoding(str_replace($city, "", $arrData["deliv_addr01"]), "UTF-8", CHAR_CODE)) . "&" ;
$paypalURL .= "address2=" . urlencode(mb_convert_encoding($arrData["deliv_addr02"], "UTF-8", CHAR_CODE)) . "&" ;
$paypalURL .= "city=" . urlencode(mb_convert_encoding($city, "UTF-8", CHAR_CODE)) . "&" ;
$paypalURL .= "zip=" . $arrData["deliv_zip01"] . "-" . $arrData["deliv_zip02"] . "&" ;
$paypalURL .= "night_phone_b=(" . $arrData["order_tel01"] . ")" . $arrData["order_tel02"] . "-" . $arrData["order_tel03"] ;header("Location: " . $paypalURL);
} else {
header("Location: " . URL_SHOP_COMPLETE);
}
}
に入れ替え。
※1.支払い方法の選択をPayPalを選んで、テスト注文をして、注文ステップ途中の「お支払方法の指定」の画面でソースを見るとそれぞれの決済方法に「value="x"」と数字のIDが振られているので、そのxの部分を記載。
※2. ショップで当たり障りのない商品名を入れる。(雑貨ショップであれば「雑貨」など…)
EC-CUBE2.3.3
PHP 4.3.9
PostgreSQL 7.4.17
で動作確認済み。
- Comments: 0
- Trackbacks: 1
EC-CUBEのカスタマイズ ギフト包装・のし対応
- 2008-12-21 (日)
- 参考になるサイトリンク
ギフト包装・のし対応にカスタマイズ方法を書いたサイトです。
使用バージョン:EC-CUBE 2.1.2
- Comments: 0
- Trackbacks: 0
EC-CUBEでFCKeditorを使う
商品登録ページの詳細-メインコメントの部分を、WYSIWYG編集できるようにFCKeditorを使えるようにする。
EC-CUBE 2.3.0
まず、こちらのサイト
AjaxなWYSIWYGエディタ、FCKeditor 2.6 日本語版をリリースしたよ。
から FCKeditor_2.6_ja.zip をダウンロードし、解凍してから fckeditor ディレクトリをアップロード。
(アップロードする場所は html/fckeditor)
/data/Smarty/templates/default/admin/main_frame.tpl の39行目あたりに下記の3行目の部分を挿入。
<script type="text/javascript" src="<!–{$TPL_DIR}–>js/css.js"></script>
<script type="text/javascript" src="<!–{$TPL_DIR}–>js/file_manager.js"></script>
<script type="text/javascript" src="<!–{$smarty.const.URL_DIR}–>/fckeditor/fckeditor.js"></script>
/data/Smarty/templates/default/admin/products/product.tpl に
<script type="text/javascript">
$(function(){
var oFCKeditor = new FCKeditor( 'main_comment' ) ;
oFCKeditor.ReplaceTextarea() ;
oFCKeditor.ToolbarSet = 'EC-CUBE' ; //ツールバーの設定
});
</script>
を追加。
html/fckeditor/fckeditor.js 下記のように適宜修正。
var FCKeditor = function( instanceName, width, height, toolbarSet, value )
{
// Properties
this.InstanceName = instanceName ;
this.Width = width || '100%' ;
this.Height = height || '300' ;// 初期設定は200
this.ToolbarSet = toolbarSet || 'EC-CUBE' ;// ←ツールバーセットの指定
this.Value = value || ” ;
this.BasePath = FCKeditor.BasePath ;
this.CheckBrowser = true ;
this.DisplayErrors = true ;
this.Config = new Object() ;
// Events
this.OnError = null ; // function( source, errorNumber, errorDescription )
}
そして、50行目あたり
FCKeditor.BasePath = '/fckeditor/' ;
を
FCKeditor.BasePath = '/html/fckeditor/' ;
に修正。
html/fckeditor/fckconfig.js の45行目あたりでスキンの指定をする。(これはスキンを変更したいときだけ)
FCKConfig.SkinPath = FCKConfig.BasePath + 'skins/silver/' ;
137行目あたりにツールバーセットを追加。(下記はEC-CUBE用にシンプルにしてみたサンプル)
FCKConfig.ToolbarSets["EC-CUBE"] = [
['Source'],
['Bold','Italic','Underline','StrikeThrough'],
['OrderedList','UnorderedList'],
['JustifyLeft','JustifyCenter','JustifyRight'],
['Table','Rule','Smiley'],
['TextColor'],
['FitWindow'],
'/',
['FontFormat','FontSize'],['RemoveFormat'],
// No comma for the last row.
] ;
これでOK!
- Comments: 3
- Trackbacks: 0
EC-CUBE 注文を削除してもマイページの購入履歴に残ってしまう
- 2008-05-21 (水)
- EC-CUBE | EC-CUBEの不具合
EC-CUBEで注文のキャンセルが入った時に、受注管理画面で削除してもマイページにログインして確認すると購入履歴に出てきます。
この不具合の解決策がカゴラボ的EC-CUBE開発ブログにありました。こちらでの説明は1.3.x~1.4.x向けの対策なので、その記事を参考にしながら2.0.1用に修正した。
引用
受注管理からキャンセル処理をした場合、データベースの「dtb_order」テーブルの「status」カラムに”3”が記録されます。受注のステータスに関しては、/data/conf/conf.php で設定されています。
一方、マイページのトップ(/html/mypage/index.php)で購入履歴が出てくるようになっていますが、この場合の条件には「削除フラグが立っていない」と「customer_idが何であるか」だけで、statusが何であるかは全く影響されません。
なので、この条件の中に「statusが3以外の時にだけ、購入履歴として出す」を入れれば良いことになります。
ということで、2.0.1用に読み直してみると、
data/class/pages/mypage/LC_Page_Mypage.php の92行目
$where = "del_flg = 0 AND customer_id=?";
を
$where = "del_flg = 0 AND customer_id=? AND status <> 3";
に
data/class/pages/mypage/LC_Page_Mypage_History.php の72行目
$where = "del_flg = 0 AND customer_id = ? AND order_id = ? ";
を
$where = "del_flg = 0 AND customer_id = ? AND order_id = ? AND status <> 3";
に修正することで回避できた。
次は受注管理の売り上げ集計にも残らないようにしないといけない。
- Comments: 0
- Trackbacks: 0
EC-CUBE 携帯(モバイル)サイトへのリダイレクトの不具合
- 2008-05-21 (水)
- EC-CUBE | EC-CUBEの不具合
EC-CUBEのトップページが、http://[サイトのドメイン]/html/ だとすると、携帯からそのURLにアクセスすると、
http://[サイトのドメイン]/html/html/mobile/ と余分なディレクトリ(html)が入り存在しないディレクトリににアクセスしてしまい、モバイルサイトが表示されなかった。
これはうちだけの問題かなぁ・・・。
【回避策】
http://[サイトのドメイン]/html/require.php の98行目の
. SC_Utils_Ex::sfRmDupSlash($url . URL_DIR . "mobile/" . $path));
を
. SC_Utils_Ex::sfRmDupSlash($url . URL_DIR . "/../mobile/" . $path));
に修正することでうまくいった。
- Comments: 0
- Trackbacks: 0
EC-CUBE Google Analytics を SSL なページで使う
- 2008-04-24 (木)
- EC-CUBE
EC-CUBEに Google Analytics のデータ取得スクリプトを埋め込むと、SSLがかかったページに移動するとブラウザー(Firefox)のロケーションバーに色がつかず、壊れた鍵マークがつく。
これを回避する策がこれだ
<script type="text/javascript">
if (location.protocol == 'https:'){
document.write("<script src=¥"https:¥/¥/ssl.google-analytics.com¥/urchin.js¥" type=¥"text¥/javascript¥"><¥/script>");
}else{
document.write("<script src=¥"http:¥/¥/www.google-analytics.com¥/urchin.js¥" type=¥"text¥/javascript¥"><¥/script>");
}
</script>
<script type="text/javascript">
_uacct = "xx-xxxxxx-x";
_udn="none";
_ulink=1;
urchinTracker();
</script>
これを footer 部に入れてやればいい。
下記サイトで紹介されていた。
「Google Analytics を HTTPS(SSL)なページで使う」を少し改造する。
- Comments: 0
- Trackbacks: 0
Home > EC-CUBE Archive

