【EC-CUBE】メール送信者を社名から店舗名に変更する
EC-CUBEでは、なぜか、お問い合わせの確認メールなどを配信するときに送信元が、基本情報の店名ではなく、社名になっている。
ので、これを店名に変更。
LC_Page_Admin_Mail_Sendmail.phpのL135あたり、
,$objSite->data[“company_name“] // 送信元名
を
,$objSite->data[“shop_name“] // 送信元名
と変更。これで、ショップ名でメールが配信される。
月: 2009年1月
EC-CUBEでは、なぜか、お問い合わせの確認メールなどを配信するときに送信元が、基本情報の店名ではなく、社名になっている。
ので、これを店名に変更。
LC_Page_Admin_Mail_Sendmail.phpのL135あたり、
,$objSite->data[“company_name“] // 送信元名
を
,$objSite->data[“shop_name“] // 送信元名
と変更。これで、ショップ名でメールが配信される。
2月20日一部追記・編集しました。——————–
EC-CUBEをインストールすると、結構なトラブルに見舞われる(^^;
ざっと思いついただけでも、
すでに対応策をメモったものがほとんどだけど、サーバーによって対応策は違うし、順不同に個別のものをメモっただけなので、一度整理して、クリーンインストールを前提にインストール方法としてまとめようと思う。
DBがpostgreSQLの場合は、EC-CUBEは比較的トラブルも少ないようなので&今のところB豚はポスグレでインストールすることがほぼ無いので、DBは取り合えずmySQL想定で。
| 分類 | ソフトウェア | 動作確認済み |
|---|---|---|
| OS | Windows | Windows 2000 ProfessionalWindows 2000 ServerWindows 2003 ServerWindowsXP ProfessionalWindowsNT Workstation 4.0WindowsNT Server 4.0 |
| UNIX | Linux glibc 2.1/2.2/2.3 FreeBSD 5.4以降 |
|
| 言語 | PHP | PHP4.1.x以降 PHP5.0.x以降 |
| ライブラリ | 画像生成 | freetype2 2.1.x以降 gd 2.0.x以降 |
| データベース | Postgres | PostgreSQL 7.4.x以降 |
| MySQL | MySQL4.1以上 (MySQL5.x系を含む) |
となっているが、1系の開発&サポートが打ち切られることもあって、今後の運用を考えるとPHP、mySQLは、どちらもver.5以上にしておいたほうが無難。
PHPがapacheモジュール版の場合は、HTACCESSファイルで、CGI版の場合は、PHP.INIで、サーバーのPHP設定をEC-CUBE用に変更する。
#基本はphp_ini.incで設定するが、ini_setで反映されないものはここで設定する
php_value mbstring.language Japanese
php_value output_handler mb_output_handler
php_flag mbstring.encoding_translation 1
php_flag magic_quotes_gpc 0
#php_flag session.use_cookies 0
#php_flag session.use_trans_sid 1
# INI_ALL なのにもかかわらず, ini_set で指定しても反映されない環境がある…
php_value mbstring.internal_encoding UTF-8
# デフォルトテンプレートの状態で 2M近くになるため
php_value upload_max_filesize 5M
php_value date.timezone Asia/Tokyo
/html/mobile/にも同様に、「.htaccess」ファイルを作成して、下記内容で保存。
php_flag mbstring.encoding_translation 0
php_value output_handler null
php_value variables_order EGPS
php_flag session.auto_start 0
php_flag session.use_trans_sid 1
php_value date.timezone Asia/Tokyo
#基本はphp_ini.incで設定するが、ini_setで反映されないものはここで設定する
mbstring.language= Japanese
output_handler= mb_output_handler
mbstring.encoding_translation= 1
magic_quotes_gpc= 0
#session.use_cookies= 0
#session.use_trans_sid= 1
mbstring.internal_encoding= UTF-8
upload_max_filesize= 5
date.timezone= Asia/Tokyo
/html/mobile/にも同様に、「php.ini」ファイルを作成して、下記内容で保存。
mbstring.encoding_translation= on
output_handler= null
variables_order= EGPS
session.auto_start= off
session.use_trans_sid= on
date.timezone= Asia/Tokyo
show variables like “char%”;

システムの文字コード以外は全てutf-8になっているか確認。(システム文字コードもUTF-8であればそれはそれでかまわない)
alter database 〜DB名 character set utf8;
と打ち込んで文字コードを変更。変更後、先のshowコマンドで再びチェックしておく。
上記のように正しく変更されていればOK。
if(defined(‘DEFAULT_DSN’)) {
$objDbConn = DB::connect(DEFAULT_DSN, $options);
$this->dsn = DEFAULT_DSN;
} else {
return;
}
}
}
if (DB_TYPE == ‘mysql’) {
$objDbConn->query(‘SET NAMES utf8’);
}
$this->conn = $objDbConn;
これで、いよいよインストール。
先に、基本情報と特定商取引法に関する表記を入力。その後、「郵便番号DB登録」をクリック。郵便番号辞書はすごいデータ量なので、途中で何とかサーバーエラーが表示されたり画面が真っ白になることがある。
そういう時は、phpMyAdminで、mtb_zipテーブルを確認してみて、その中のデータが増えていれば、問題なく登録されていっていると考えていいので、最終的に、ブラウザで完了画面が出るまで休み休みしながら何度か繰り返しページをリロードし続ける。
完了したら、再びphpMyAdminからmtb_zipテーブルの中身を確認して、データ登録が沖縄県まで全て完了しているか確認しておこう。
最後にメールの送信テスト。
ECサイトのお問い合わせから別のメールアドレスで問合せメールを送ってみて、正常に送信(管理者とお客様双方に確認メールが届く)されればメールはOK。
もし、送信されない場合は、ブラウザからEC-CUBEの管理画面にアクセスして、システム管理画面のパラメータ設定で、「MAIL_BACKEND」の値を”smtp”から”mail”または”sendmail”に変更してみる。たいていは、「mail」で送信できるようになると思う。
大体ここまでで、クリーンインストールでトラブルになる点を解消したインストールができていると思う。カスタマイズを行う前に、フロント画面でログインや注文動作などチェックしておく。
1)外字ファイルの登録
DOCOMOサイトから”i絵文字”をダウンロード、解凍し、インストールする
→IEなどでDOCOMOの絵文字が見れるようになる。
ソフトバンクやauの絵文字は、基本のものは3キャリアで絵文字置き換えプログラムによって変換するからこれでOK。
2)FIREFOXでも絵文字を見る場合(シミュレーターなどで)

おお~。確認できた♪
3)FIREFOXの携帯エミュレータ
FIREFOXで携帯のサイト確認ができる。ユーザーエージェントを携帯のものに置き換えて、見た目をシミュレートする。
http://firemobilesimulator.org/ (携帯用シミュレータ)
http://www.qooin.com/firefox/useragent.html (ユーザーエージェントをスイッチする)
3キャリア共通でコード利用したいのであれば、基本3G以上を対応機種と考えて、古い機種についてはある程度の割りきりが必要。
XHTMLで記述
コンテンツのMIMEタイプもHTTPヘッダーも「application/xhtml+xml」
文字コードは、Shift-JIS
CSSは基本インライン
画像の全画面表示サイズは、240pxで作成してwidth=100%としておく
画像フォーマットは、JPEGかGIF
ページ全体の容量は、トップページで100KB以内(広範囲で対応させるには5KB)
文字サイズは、標準で全角10文字程度(小で13文字程度)
絵文字を共通化するにはPHPなどの絵文字共通化プログラムが必要
コーディングでインデントを使わない
【デザインのポイント】
<hr>はキャリアによって指定・表示に癖が出る
・ドコモでは、XHMLでは全ての属性に非対応
・ソフトバンクは、罫線の上下にマージンができる、hrの余白調整はmargin/paddingプロパティで対応可能、noshadeにも対応
・auは、ライン色はcolorで指定可能、height/borderは指定できない、text-alignプロパティが使用可能(au以外では、align属性を使用する)
・WIDTHは全キャリア使用可能
・hrを使うより画像使用したほうがキレイにできる
画像
・ドコモXHTMLではalign属性が非対応、CSSでのフロートはauが非対応のため、画像の回り込みをするには、両方の属性を併用しなければならない
・回り込みの解除は、<br clear=”all” />だが、ドコモ非対応、ドコモでは、「blockquote」「dl」「div」「form」「hr」「h1-h6」「ol」「ul」「p」「pre」にclear属性を記述すれば旧機種でも対応できる。
・画像のmarginはドコモでも対応
・画像のborderはドコモ非対応
リンク
・ドコモxhtmlは、<a>タグのname属性に非対応なので、<a>タグには、nameとidを両方使用する
・auでは、auではdivなどのブロックレベル要素間で1pxほどのすき間が生じてしまうというバグがある
・ドコモとau/ソフトバンクの違いということであれば、外部CSSにau/ソフトバンク用のCSSを書いておいて、ドコモにはインライン指定のCSSを優先させるといった手順をふむことで、違いを吸収するということが可能
・CSSはstyle属性が優先されるので、ドコモのインラインCSSとソフトバンク/auの外部CSSを共存する場合は、<DIV>タグを入れ子にして外側をインラインCSSにして内側のdivにソフトバンク/au用のクラスを指定する
・アクセスキーの設定:一般的には「[0]がトップページ」「[9]が1つ前のページへ戻る」「[5]更新」としているサイトが多い
・入力モードの設定:ドコモのiモードHTMLの場合は、「istyle」属性を、iモードXHTMLの場合は、style属性で「-wap-input-format(WCSS)」を指定します。auの場合は「format」属性で、ソフトバンクの場合は「mode」属性をinputタグに指定します。3キャリア対応で書く場合は、それぞれの属性をinputタグに併記すれば問題ない。ただし、-wap-input-format(WCSS)をソフトバンクで読み込むと入力制限がかかるバグがある。このため、入力設定をしたいフォームでは、スクリプト側でキャリアごとの振り分けをするとよい。
振り分けをする場合は
DoCoMo
style=-wap-input-formatのみ
au/SoftBank
istyle、format、modeをすべて記述
という感じになるように切り替えてやると、おかしな状況にも対応でき、きちんとした入力モードの切り替えが実装できる。
Smartyのプラグインなり、ヘルパーにまとめるなりしてやると、簡単に使える。
http://www.tomcoote.co.uk/JavaScriptCookieCrumbs.aspx
(http://coliss.com/articles/build-websites/operation/javascript/693.htmlで紹介されていた)
ユーザーが辿ってきたページの経路履歴をクッキーに保存して、その経路をパンくずリストとして書き出すタイプ
http://www.mtblue.org/pc/web/breadcrumbs.php
ディレクトリの構造を取得して、上の階層へ辿るリンクをパンくずリストとして書き出すタイプ
色々ありますな。