Home > EC-CUBE Archive

EC-CUBE Archive

EC-CUBE 携帯では「オススメ」を表示しなくするには

data/Smarty/templates/テンプレートディレクトリ/mobile/frontparts/bloc/best5.tpl の

<!–{if count($arrBestProducts) > 0}–>

<!–{if count($arrBestProducts) > 20}–>

に変更。(ここでは0を20に変えているが、おすすめ数は20はありえないということで入れてるので他にも書き方はあると思うが、手っ取り早いのでこのように変更している)

EC-CUBE サブカテゴリーを最初から表示する

Aカテゴリー(サブカテゴリーあり)
Bカテゴリー(サブカテゴリーなし)
Cカテゴリー(サブカテゴリーあり)

上記のようなカテゴリーを持つ場合、通常サイドバーに表示されるカテゴリーのリストは親カテゴリーのみで、AカテゴリーをクリックするとAカテゴリーのサブカテゴリーが表示される。

いちいち親カテゴリーをクリックしなくてもサブカテゴリーを表示させたい場合、カテゴリーブロックの下記の部分の赤文字の部分を削除すればいい。

<!–{section name=cnt loop=$arrTree}–>
<!–{* 表示フラグがTRUEなら表示 *}–>
<!–{if $arrTree[cnt].display == 1}–>
<!–{assign var=level value=`$arrTree[cnt].level`}–>
<!–{assign var=levdiff value=`$level-$preLev`}–>
<!–{if $levdiff > 0}–>
<ul>
<!–{elseif $levdiff == 0 && $firstdone == 1}–>
</li>
<!–{elseif $levdiff < 0}–>
<!–{section name=d loop=`$levdiff*-1`}–>
</li>
</ul>
<!–{/section}–>
</li>
<!–{/if}–>
<li><a href=”<!–{$smarty.const.URL_DIR}–>products/list.php?category_id=<!–{$arrTree[cnt].category_id}–>”<!–{if in_array($arrTree[cnt].category_id, $tpl_category_id) }–><!–{/if}–>><!–{$arrTree[cnt].category_name|escape}–>(<!–{$arrTree[cnt].product_count|default:0}–>)</a>
<!–{if $firstdone == 0}–><!–{assign var=firstdone value=1}–><!–{/if}–>
<!–{assign var=preLev value=`$level`}–>
<!–{/if}–>


EC-CUBE カテゴリー一覧のタイトルをカスタマイズ

サブカテゴリーの一覧を表示した場合、そのページのタイトルの部分には親カテゴリー名しか表示されない。

これを、

親カテゴリー名|サブカテゴリー名|サブサブカテゴリー名

のように表示させるには、

/data/class/pages/products/LC_Page_Products_List.phpの111行目を下記のように書き換えます。

//$tpl_subtitle = $arrFirstCat['name']; デフォルト行をコメントアウト
$tpl_subtitle = $objDb->sfGetCatCombName($arrCategory_id[0]);//追加行

カテゴリーとカテゴリーの間に“|”が入りますが、これを取り除く方法はわかってないです。

lightboxを使って商品画像を表示する

商品詳細ページの画像を拡大する際にlightboxを使って表示させる方法が、

「EC-CUBEの工房」に書いてありました。

メーカーURLチェックを外す

商品登録時に「メーカーURL」を別項目として使用したいときに通常のテキストを入力できるようにするには、

/data/class/pages/admin/products/LC_Page_Admin_Products_Product.phpの556行目あたりの

$objErr->doFunc(array(“メーカーURL”, “comment1″, URL_LEN), array(“SPTAB_CHECK”, “URL_CHECK”, “MAX_LENGTH_CHECK”));
の”URL_CHECK”を削除する。

実際には、
/data/class_extends/page_extends/admin/products/LC_Page_Admin_Products_Product_Ex.phpに、上記のLC_Page_Admin_Products_Product.phpの入力エラーチェックのfunction部分をextendsの方にコピーして”URL_CHECK”を削除しておいたほうが良し。

特定商取引法登録の文字数の変更

特定商取引法登録の文字数を変更する。

返品・交換について」はデフォルトでは200文字に制限されているがこの制限を変更したい場合、【システム設定】→【パラメーター設定】の MTEXT_LEN の項目を500に変更するだけでOK。
ただし、下記のすべての項目が同じ設定になる。

  • 商品代金以外の必要料金
  • 注文方法
  • 支払方法
  • 支払期限
  • 引き渡し時期
  • 返品・交換について

カスタマイズではなく設定変更だけです。とりあえず覚え書きということで。

ブロックを条件分岐で表示させる

カテゴリーidが1もしくは詳細ページなどの商品idが2のときにブロックを表示させたい場合、ブロックを下記のようにする。

<!--{if $category_id == "1"or $arrProduct.product_id == "2"}-->
 ブロックの内容
 <!--{/if}-->


保護中: ブログの記事を新着情報に表示させる

この投稿はパスワードで保護されています。表示するにはパスワードを入力してください:


EC-CUBEのバージョン管理

EC-CUBEを以前のバージョンから次のバージョンにアップデートしようとしても、変更されたファイルがわからないので何かいい方法がないか探していた。

EC-CUBE開発コミュニティで、「TortoiseSVN」を使うと便利だと教えていただいたので早速ダウンロードしてインストールしてみたが使い方がさっぱりわからん :cry:

「TortoiseSVN」のダウンロードはここから

インストールの方法はいろんなサイトで説明されているのでここでは省きます。


さらにググりまくってやっと使い方(といっても一部だけど)を発見。

「TortoiseSVN」の使い方を発見したページはここ

EC-CUBE2.3.2から2.3.3の差分ファイルを抽出するには、

  1. 差分ファイルを保存するフォルダを用意
  2. そのフォルダ上で右クリックして「TortoiseSVN」メニューから「ログを表示」。
  3. ログが出るので、比較したいリビジョンを選ぶ。Ctrlキーを使って、2つだけ選ぶ。
  4. 右クリックして、「リビジョンを比較」。
  5. 比較結果が出るので、エクスポートしたいファイル選択する(通常は全部選択)。
  6. 右クリックして、「選択をエクスポート」。
  7. エクスポート先を指定して、できあがり。

これでなんとディレクトリ構造をキープして差分のファイルが保存されていた。

これはすごい!

EC-CUBE に PayPal 支払を追加する

参考サイト

PayPal決済導入方法←かなり詳しいです。1部のコードでエラーが出たので下記サイト参考にして修正しました。

EC-CUBEにPAYPAL支払いを組み込む

まず、PayPal のビジネスアカウントを取得している必要があります。

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

で動作確認済み。

Home > EC-CUBE Archive

Return to page top