Home > EC-CUBE > カスタマイズ Archive
カスタマイズ Archive
EC-CUBE 携帯では「オススメ」を表示しなくするには
data/Smarty/templates/テンプレートディレクトリ/mobile/frontparts/bloc/best5.tpl の
<!–{if count($arrBestProducts) > 0}–>
を
<!–{if count($arrBestProducts) > 20}–>
に変更。(ここでは0を20に変えているが、おすすめ数は20はありえないということで入れてるので他にも書き方はあると思うが、手っ取り早いのでこのように変更している)
- Comments: 0
- Trackbacks: 0
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}–>
- Comments: 0
- Trackbacks: 0
EC-CUBE カテゴリー一覧のタイトルをカスタマイズ
サブカテゴリーの一覧を表示した場合、そのページのタイトルの部分には親カテゴリー名しか表示されない。
これを、
親カテゴリー名|サブカテゴリー名|サブサブカテゴリー名
のように表示させるには、
/data/class/pages/products/LC_Page_Products_List.phpの111行目を下記のように書き換えます。
//$tpl_subtitle = $arrFirstCat['name']; デフォルト行をコメントアウト
$tpl_subtitle = $objDb->sfGetCatCombName($arrCategory_id[0]);//追加行
カテゴリーとカテゴリーの間に“|”が入りますが、これを取り除く方法はわかってないです。
- Comments: 0
- Trackbacks: 0
lightboxを使って商品画像を表示する
商品詳細ページの画像を拡大する際にlightboxを使って表示させる方法が、
「EC-CUBEの工房」に書いてありました。
- Comments: 0
- Trackbacks: 0
メーカー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"を削除しておいたほうが良し。
- Comments: 0
- Trackbacks: 0
ブロックを条件分岐で表示させる
カテゴリーidが1もしくは詳細ページなどの商品idが2のときにブロックを表示させたい場合、ブロックを下記のようにする。
<!--{if $category_id == "1"or $arrProduct.product_id == "2"}-->
ブロックの内容
<!--{/if}-->
- 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で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 商品詳細ページにお問合せボタン
商品詳細ページにお問合せボタンを作り、そのボタンをクリックするとお問い合わせ内容の textarea にその商品名を挿入する方法。
EC-CUBE 開発コミュニティの 商品詳細ページからお問い合わせへ遷移するには のスレッドで ryo さんが答えていた方法。
管理画面の「デザイン管理」から「ページ詳細設定」で「商品詳細ページ」を編集。
その時の例は下のformを追加する感じ
<form method="post" action="<!–{$smarty.const.SITE_URL}–>contact/">
<input type="hidden" name="products_name" value="<!–{$arrProduct.name|escape}–>" /><input type="submit" name="" value="この商品について問い合わせる" />
</form>※ 赤字の部分はSSLに飛ばすなら「$smarty.const.SSL_URL」に変更。
※ 既存のformタグの内側に挿入しないように注意。その場合はgetが無難?
それから、「data/Smarty/templates/contact/index.tpl」を下記のように編集。
152行目あたり:
<textarea name="contents" cols="60" rows="20" class="area60" wrap="hard"
maxlength="<!–{$smarty.const.LTEXT_LEN}–>" style="<!–{$arrErr.contents|sfGetErrorColor}–>">
<!–{$smarty.post.products_name|escape}–><!–{$contents|escape}–>
</textarea>※ 赤字を追加。
これでOK
- Comments: 0
- Trackbacks: 0

