eccube2.11 インストール時の文字化け対策

新規DBを下記のように設定します。
MySQL の文字セット: UTF-8 Unicode (utf8)
MySQL 接続照合順序: UTF-8 Unicode_ci
作成後に変更しても直らないので再インストールになります。
■PHP MyAdminで文字コードを utf8_general_ci に変更
 ※PHP MyAdminでデータベースを選択後、操作タブ→照合順序 で変更可能

■文字化けが直っていればOK

ですが、もしその手順でインストールしていた、やってみたが直っていなければ下記の手順も試してみましょう。

■.htaccessに、
AddHandler .php
suPHP_ConfigPath

■php.iniを、.htaccessと一緒に指定した階層に置く。

参考サイト↓
http://xoops.ec-cube.net/modules/newbb/viewtopic.php?viewmode=flat&order=ASC&topic_id=9044&forum=10

もう一つの方法が

■下記のUTF-8の部分が別の物になっていれば、修正してからインストール

/data/class/SC_Query.php の79行目、

//$this->conn->setCharset(CHAR_CODE);
$this->conn->setCharset(‘utf8′);

/data/module\MDB2/Driver/mysql.php の539行目、

//if (!empty($this->dsn[‘charset’])) {
  //$result = $this->setCharset($this->dsn[‘charset’], $connection);
  $result = $this->setCharset(‘utf8′, $connection);
  if (PEAR::isError($result)) {
    $this->disconnect(false);
    return $result;
  }
//}

参考サイト↓
http://xoops.ec-cube.net/modules/newbb/viewtopic.php?topic_id=7678&forum=2&post_id=37349

EC-CUBEの商品の登録項目内容の追加

「EC-CUBEの商品の登録項目内容の追加」

商品詳細ページに入力項目を追加したいと思います。
例として今回は家具サイトの例として「サイズ(W*D*H)」を追加します。

データベース(以下、DB)にカラムを追加する

dtb_productsに1カラム追加。
カラム名「comment7」
データ型「text」

商品詳細ページの編集

管理ページのデザイン管理>ページ詳細設定>商品詳細ページを開き、サイズを表示したい部分に、

<!–{$arrProduct.comment7}–>

と記述する。

サイズ表示しないようにするには、

<!–{$arrProduct.comment7|escape}–>

と記述する

商品登録ページの編集

data/Smarty/templates/default/admin/products/product.tplのファイルを開き、メーカーサイトの項目の下あたりに、

つづく

eccube2.11 インストール方法 (ver2.11.4)

eccube2.11.4 インストール方法 一回やりましたがもう既に忘れたのでもう一度トライするところから。

まず、データベースを構築するところからですが user_eccube と適当に設定。

空のDBを作成したら、 EC-CUBE Version 2.11.4(zip)をダウンロード。

この時、不具合修正ファイルの最新版も同時にダウンロード。

上記のうち、ECサイトそして機能するのに必要なデータは「data」「html」の2つのフォルダだけなので他は無視。

セットアップ前に、不具合修正ファイル内にある「data」「html」をeccube-2.11.4の中に入れて上書きしてください。

“eccube2.11 インストール方法 (ver2.11.4)” の続きを読む

EC-CUBEのパスワード忘れた時ver2.11(強制リセット)

先日テスト用のEC-CUBEをインストール後、管理者パスワード控えるの忘れてましたorz
多分作ったのはtarコマンドで解凍の時・・・orz
どうしてもクライアント側で解凍すると権限が全部解除されてしまってインストールに挫折、なのでサーバー上で解凍しましたw
Chromeさんのキャッシュ機能にお任せしましたが、何個も同じフォルダに入れては消してのディレクトリだったのでパスワードが良くわからずw
でもまたサーバー上で新規に解凍してインストールするのもメンドクサイ・・・ググってみても旧バージョンの直し方しか出てこねぇ・・・orz

なので強制的にリセットの方法を発見・・・

再インストール(DBは初期化せず)w
インストール時に初期のIDとPASSを設定するのでリセットできます。

ここで注意。

データベースの初期化を行わないにチェックマークを入れておくこと・・・w
また、忘れる以前にテンプレいじってたりフロントいじってたら消えるかもね。
不安なら一応SQLも主要データもバックアップが必要かも。
(今回は急ぎだったのでしませんでしたがw)

レビュー一覧ページ作成 ec-cube2.11以降

まず管理画面にログインして、デザイン管理>PC>レイアウト設定 から、ページを新規入力します。
URLは review_list.php として、以下のコードを貼り付けて保存します。

次に、html/user_data/review_list.php を開いて、次のように修正します。

data/Smarty/templates/default/user_data/review_list.tpl を以下のように変更します。

以上。

ブロック化は以下。

デザイン管理>PC>ブロックの設定新規ブロックで下記を作成。
ブロック名:お客様の声一覧
ファイル名:review_list_bloc

トップページのブロックで表示する場合、html直下のindex.php下記のような感じで書き換え。

基本的には同じ作業。
画像とかは適当にかえましょう。
(レビュー自体未投稿だと空欄なので適当に用意しておきましょう。)

「特定商取引法」項目のカスタマイズ

特定商取引法の項目追加の件 古物系(オークション)や中古家電販売をされている方は許可番号をどうしたって入力しないとなりません。
(場合によっては数県分入力せねばいけないときもありマスが。)

参考例として、項目「運営責任者」の下に項目「許可番号等」を追加する例を記載します。
今回の追加作業にはDBの操作が必要になるので、自己責任でバックアップとりましょう。

追加分カラム名を「law_no1」としました。

増やす場合は重複しなければあとは任意で好きなだけ増やしましょう。

基本MySQLしかいじったことないので以下はMySQL中心です。

1.\data\class\pages\admin\basis\LC_Page_Admin_Basis_Tradelaw.php 管理画面用の追加。

・「パラメータ情報の初期化」の「運営責任者」の下に下記を追加する。

 

 

2.\data\Smarty\templates\admin\basis\tradelaw.tpl 管理画面用テンプレ変更 ・「運営責任者」のデータ部分の下に下記を追加する。

 

 

\data\Smarty\templates\default\order\index.tpl (「利用ガイド」での「特定商取引法」ボタン押下後の表示テンプレート) ・「運営責任者」のデータ部分の下に下記を追加する。

 

 

携帯スマフォも同様に追加。 \data\Smarty\templates\sphone\order\index.tpl \data\Smarty\templates\mobile\order\index.tpl 携帯

 

 

絵文字は好きなの使いましょう。 (ネットで「絵文字コード」とかググれば一覧表が出てくるはずなので。) スマフォ

 

 

最後にデータベース追記 dtb_baseinfo の中にカラム追加。 カラム「law_no1」を追加。 (カラム形式はtext)

 

特定商取引法の文字数制限アップについて/data/mtb_constants_init.php

今日、特商法の部分を記入していたら文字数制限に到達w
なのでいじりましたw

/data/mtb_constants_init.php
/data/class/pages/admin/basis/LC_Page_Admin_Basis_Tradelaw.php
/data/Smarty/template/admin/basis/tradelaw.tpl
この3つを主にいじります。

手順は二段階。
1.もともとの入力制限数を解除
2.文字数チェック自体要らないので削除
3.入力時に文字をカウントしてるので解除

1./data/mtb_constants_init.phpの変更点

下記に変更。多分250行から260行付近です。

MTEXT_LEN が特商法の入力で一番文字数の必要なところ。
配送や返品に関してだと思います。
なのでありったけの文字数突っ込みましたw

2./data/class/pages/admin/basis/LC_Page_Admin_Basis_Tradelaw.php
入力して多かったらまた入力してくれ!みたいなことを行っている部分を削除します。
125から145行目あたりで解除したい項目の下記のコードを削除
「,」も削除してください。じゃないとエラーになるはず。

,”MAX_LENGTH_CHECK”

となりの「”EXIST_CHECK”」は未入力チェックっぽいのでいじらずw

3./data/Smarty/template/admin/basis/tradelaw.tpl
入力時のフォームで文字数をカウントしてるのでいっそのこと解除。
Smartyの都合か1.で変更してもなぜかすぐに反映されなくて、じれったかったので文字カウントごと消してやりました。

maxlength=”

この文が書いてあるような箇所で文字数増やしたいところを片っ端から削除。
これ消せばOKですが、あとはお好みで下記の文章も消しましょう。

(上限文字)

今日、もらった文章をそのままコピペで行こうかと思って突っ込んだら文字数制限で、ちょっとイラっとしながらも、どうせDBで制御してんだろ!とか思いながらDBのぞいてましたが見当たらず。
なので、ググりながらいじりながらようやく正解が出ましたよw

代引きとか配達方法の文言入れるの考えたらどうやったって200文字以上いくw
あとできれば古物商とか許可番号とかいろいろ増やせれば楽なのにねw

一応、特定商取引法の項目の追加も一度やっているのであとで書きます・・・・記憶のあるうちにw

ECCUBEのお問い合わせフォームの複製/別作成 増やし方

ECCUBEのお問い合わせフォームの増やし方eccube2.11版

3時間くらい悩んだ末に解決w
まず、contactを総べてコピペでcontact2に変更後、最後に苦戦したのが、pagelayoutのDBを追加すること。
これやんないと表示されませんでした。

●data/class/page/contact→contact2を作成。
ファイル中の2つのphpのなかでcontactもcontact2に変更。
LC_Page_Contact_Complete 44行目付近。多分これ。

LC_Page_Contact.php 44行目付近もかな??

●data/class_extends/page_extends/contact→同様にcontact2を作成。phpの作業は同上。

LC_Page_Contact_Complete 28行目付近。多分これ。

LC_Page_Contact.php 28行目付近もかな??

●data/Smarty/templates/default/contact→contact2を作成。
フォルダ中の3つのtplで指定されているcontactをcontact2に変更。
contactの文字が見当たらなかった気がするのでパスw

●html/contact→contact2を作成。フォルダ中の2つのファイルのcontactをcontact2に変更。
complete.php 26行目付近

index.php 25行目付近

tpl作成まではこれで完了。

とここまでなら簡単にできましたが。
dbの追加が問題w
どこなのかわからなくて苦労しましたがw

phpMyAdminでみると、dtb_pagelayoutで挿入しました。

device_type_id =10(PC用)
page_id =29(デフォルトで行くとこのページレイアウトナンバー)
url =contact2/index.php(コピペした場所)
filename =contact2/index(拡張子なし)
あとはそのままでOKで実行ボタン押しました。
これをcompleteページ分も追加で表示されるようになりました。

URLはhttp://ドメイン/contact2/index.php

DBいじるので自己責任で加工願います、とくにやる前はDBのバックアップを。
挿入するところ間違えて削除ボタン押してDB復旧させましたよ・・・・w

で、つぎは加工しないとただのコピーで終わってしまうので、それはまたあしたやろーっとw
(一応アンケートフォームにしようかと思ってますw)

出来れば添付ファイルもつけれるといいなぁw

ヤマト家財便の追加方法1(関東発送の場合)

ヤマト家財便の発送料金をコードに追加することで商品登録時に家財便専用の送料を追加できます。
というか家財便のモノしか送れなくなります。
※ちなみに下記の設定は関東地区からの発送の場合になります。

管理画面-システム設定-パラメタ設定を下記に変更
DELIV_ADDR_MAX ・・・0
OPTION_DELIV_FEE ・・・1
OPTION_PRODUCT_DELIV_FEE ・・・1

まずさきにヤマト家財便のお届け地方が50コード(北海道4分割)存在するので変更。

[ec-cube既存の都道府県コード]

MySQLのDBを下記に変更
今回はmtb_prefテーブルを削除後に再度DB(下記)をid:1から50として変更追加
※先に顧客登録があると都道府県がズレます。なので初期インストール時に実行する為のもの。
(アップデート仕様のものは制作中)

mtb_constantsテーブルのid=DELIVFEE_MAXのレコードを47 -> 50に変更

/data/mtb_constants_init.phpのDELIVFEE_MAXのレコードを47 -> 50に変更
/data/cache/mtb_constants.php を削除
/data/cache/mtb_pref.php を削除

上記を削除してから「お客様情報入力」ページを開くと反映されていますとりあえずは都道府県の再登録完了。
管理画面>基本情報設定>配送設定 の中で48以降の県が増えているので一応料金を設定。(ここで設定した料金は支払い情報には反映されませんが。)
※離島・海外等の処理はまた後日

——————-

管理画面-システム設定-パラメタ設定で別のお届け先最大登録数

DELIV_ADDR_MAX に0を設定する。

商品送料を商品重量に変更する
data/Smarty/templates/admin/products/confirm.tpl
132行目 商品送料→送料ランク
135行目 円→/3辺合計

data/class/pages/admin/products/LC_Page_Admin_Products_Product.php
320行目

data\Smarty\templates\admin\products\product.tpl
198行目付近

商品送料をランクに変更↓

送料ランク *213行目
円→/3辺合計

data/class/SC_CartSession.php

609行目付近 「配送業者の送料を加算」の次に「配送ランクを加算」を追加
ここではサイズをcmではなくmmで設定しています。

とりあえず都道府県のコード1まで記述。
残りのコードはこちらのリンクから”ヤマト家財便 発送料金
※関東地区からの発送の場合になります。

後は商品登録時に商品送料ランクの部分に三辺合計を指示するのみです。

「ヤマト家財便の発送料金をコードに追加することで商品登録時に家財便専用の送料を追加できます。」とか書いておきながら。
この設定では家財便のモノしか送れなくなります。なので別途で送料指定が可能なものを模索中・・・
商品種別を増やしてやればうまいこと行くかもしれないけれど・・・しかも家財便の場合代引きができないことも多いしな・・・
支払方法を増やすか支払方法でク分けるかor商品送料自体を2つにして2重チェック(?)したらいいんだろうか。

というか、書いてある「// 配送業者の送料を加算」コードの最終行(break;の次の行)に、下記追記で対応できますねw

このdefault:文は試していないのでうまくいくかどうかは検証してみます。。。