2012年03月 / 02月≪ 12345678910111213141516171819202122232425262728293031≫04月

インフォメーション

FC2ブログで画像等を一括アップロードするソフトを地味に配布してます。
FC2ブログ用ファイルアップロードの最新版はこちら
(ベクター)FC2ブログ用ファイルアップロード

--.--.-- (--)

スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。


 |  --:--  |  スポンサー広告  |  Top↑

2012.03.20 (Tue)

EC-CUBE2.11対応の本

EC-CUBEの仕事が来たので、今回初めてEC-CUBEというかECサイト自体に触れた。
EC-CUBEは日本製なんでなにかとやりやすい感じはある、が、バージョン2.11のドキュメントが準備中・・・
仕方なくぐぐったり旧バージョンの情報を参考にしつつ始めたけどやっぱりどうも把握しづらい。

カスタマイズする際にはどのファイルをどのようにいじるのか、という基本ルール的な情報がほしい。

やっぱり本が要るかなあと思ってamazonで2.11に対応した本を探したところ、以下の3冊しかなかった。








近所の本屋を2件回ったら運よく3冊とも見かけたので、ざっくり立ち読みした。
立ち読みした感想を書くと

公式ガイドブック・基本編

EC-CUBEを使って自分の通販サイトを作りたい「店舗側向け」という感じ。
主に設置方法が書かれていたと思う。
内部の詳細については書かれていないので、カスタマイズする側にとっては不要だと思った。

公式ガイドブック・応用編

こちらは内部について、カスタマイズ方法について書かれている。
結構実用的なカスタマイズが多数あり、「どのファイルのどの部分に、何のためのどんなコードを書くのか」が説明ありで書かれていた。

EC-CUBE 実践カスタマイズ

カスタマイズについての基本知識部分はとても良かった。クラスの追加方法、ページの追加方法、追加したカスタマイズをインストールにも反映させる方法。
これは買いか、と思ったのだが、基礎以降のカスタマイズ部分を見たら「ソースファイルをダウンロードして設置してください」系。
そのせいか、本自体も妙に薄い・・・・


ってことで
公式ガイドブック・応用編

↑この1冊だけ買いましたとさ。
この本見つつ、書いてあるカスタマイズを2,3個ほど本のとおりに入れてたら結構把握できるようになった。
ただ、この本のカスタマイズはExファイルじゃなく元クラスファイル自体をいじるのが多いので、
カスタマイズしやすさ優先で書かれている感じかな。
個人的にはせっかくあるEXクラスを使いたいんでそっち側に入れてるけど。
それのほうがカスタマイズした部分わかりやすいし。

EC-CUBEは次のバージョンかなんかでプラグイン機能が実装されるみたいなんで、今本買うよりその後に出る本を待ったほうがいいかも。

たまにはアフィらないといつまでたっても5000円にならんw
スポンサーサイト


 |  04:26  |  PHP  |  トラックバック(0)  |  コメント(0)  |  Top↑

2012.03.16 (Fri)

EC-CUBEでaddParamした値を上書きしたい

EC-CUBEで$objFormParam->addParam()で追加したパラメータを上書きしたいなあって何度も思う。
必須を外したいとか、必須にしたいとか、文字数ちょっとだけ増やしたいとか。
できたら元クラスの編集じゃなく、EXクラスで書き換えたいじゃん。
後でアップデートして設定戻ったってなったらめんどくさくて仕方ない。
もう一回同じキーで$objFormParam->addParam()を呼んだら上書きされるかなと思ったけど駄目。

てことでSC_FormParam_Ex.phpに上書きする処理入れることにした。
data/class_extends/SC_FormParam_Ex.php

/**
* addParamで追加したデータを上書きする用の処理
*/
function updateParam($disp_name, $keyname, $length = "", $convert = "", $arrCheck = array(), $default = "", $input_db = 'true') {
$i = array_search($keyname, $this->keyname);
if($i !== false){
$this->disp_name[$i] = $disp_name;
$this->length[$i] = $length;
$this->convert[$i] = $convert;
$this->arrCheck[$i] = $arrCheck;
$this->default[$i] = $default;
$this->input_db[$i] = $input_db;
}
}

これで$keynameが同じパラメータが既にあった場合は上書きされ、なかった場合はなんもなし。
使い方はaddParam後に呼ぶ。EXクラスのlfInitParam等のオーバーライドの際に使うと楽

function lfInitParam(&$objFormParam) {
parent::lfInitParam($objFormParam);
// やっぱ性別必須じゃなくていいやとか
$objFormParam->updateParam("性別", 'sex', INT_LEN, 'n', array("NUM_CHECK", "MAX_LENGTH_CHECK"));
}


addParamオーバーライドして、最初に$keynameでパラメータ存在チェック、あったら自動で上書き
って言う処理にしようかと思ったけど、なんか影響あったらめんどくさいのでとりあえず分けた。

画面フォームに表示される「*」「(必須)」だとかはdata/Smartyの方変えないといけないけど。
必須表示も自動になったら良いのにね。


 |  01:51  |  PHP  |  トラックバック(0)  |  コメント(0)  |  Top↑

2012.03.05 (Mon)

hotmailにメール送ったら550 OU-001とか言って戻ってくる

サーバーからhotmailにメール送ったら
(reason: 550 OU-001 (BAY0-MC1-F00) Unfortunately, messages from xxx.xxx.xxx.xxx weren't sent. Please contact yo...ock list. You can also refer your provider to http://mail.live.com/mail/troubleshooting.aspx#errors.)

とか言って戻ってきた。

とりあえず書かれてるURLを開いてみると、エラー内容について説明があった。
550 OU-001はどうもhttp://www.spamhaus.orgこのサイトのブラックリストに載ってるよってことらしい。

さっそくそこ行って解除してもらうぞ!
http://www.spamhaus.org

英語無理
わからんからぐぐったところ、このスパムリスト的なサイトはIPベースでリストに入れてるらしい。

真ん中あたりのBlocklist Removalがブラックリストから削除してくれそうな気がするので、その中の
Blocklist Removal Centerをクリック。
IP入れろって出るので、エラーメールのmessages from xxx.xxx.xxx.xxx weren't の部分(サーバーのIP)をいれてチェック。

赤字がでたらそこのブラックリストに入ってますよってこと。
今回は鶏の絵のところ(CBL)で引っかかってたらしく、そこ行って同じくIPで確認すると
エラー原因とか英語で出てきた。
よくわからんけど翻訳して読んだら、SMTPにつないでHELOコマンドしたら「localhost.localdomain」が返ってきました。
localhost.localdomainはスパムに多いんであなたもスパム。
っていう判断をされたらしい。
ページ一番下のリンクをクリックするとブラックリストから削除されるけど、この問題を解決しないで削除したらまたすぐ登録されるだけですよ。って書かれていたので解決しなくては。

試しに自分のそのサーバーに自分のPCからtelnetでSMTPにつないで、HELOコマンド打ってみた。
C:\>telnet xxx.xxx.xxx.xxx 25または587
220 localhost ESMTP Sendmail Ready; Mon, 5 Mar 2012 20:31:01 +0900
HELO mail.example.com(適当でいい)
250 localhost.localdomain Hello ...

そしたらたしかにlocalhost.localdomainて出た。

どこいじったらここに反映されるのかがよくわからず、/etc/hostsとかいろいろいじって見てみたけど最終的に
sendmailなので
/etc/mail/sendmail.mcに
define(`confDOMAIN_NAME', `ドメイン名')dnl

の一行を追加して(記述が無かった)
m4 /etc/mail/sendmail.mc > /etc/mail/sendmail.cf

して
service sendmail restart

sendmail再起動したらHELO後に返されるドメインが指定したドメインになった。

これで問題は解決したはずなので、鶏の絵のぺーじのリンクからブラックリスト削除申請して10分だか20分待って、もいっかい
Blocklist Removal CenterからIP確認。
全部緑字になったのでためしにホットメールに送信してみた。

無事受信できた。けど迷惑メールフォルダに入ってた。あとは受け取り側の問題かな。もう知らん。


 |  20:45  |  サーバー  |  トラックバック(0)  |  コメント(0)  |  Top↑
 | BLOGTOP | 
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。