Archives for PHP
前回紹介した商品名に<span>タグ等を使用している場合、管理画面や確認メールにも表示されるのでタグ表示の削除方法を紹介しました。
今回は納品書に表示される<span>タグの除去方法です。
タグを除去するのは前回と同じstrip_tagsです。
\html\data\class\SC_Fpdf.phpの184行目
$arrOrder = $this->sjis_conv($this->arrDisp." / ");
$arrOrder = $this->sjis_conv(strip_tags($this->arrDisp)." / ");
オレンジ部分を追加します。
これで納品書に表示されていたタグが消えます。 ...more»
検証したEC-CUBEのバージョンは2.3.4ですが、2シリーズはこれでいけると思います。
通常EC-CUBEでは検索機能が付いていますが、商品名もしくは登録したキーワードが検索に引っかかるようになっています。
商品の詳細ページなどで様々なキーワードがあるので、検索で引っ掛かればメリットが高いので一覧ページのコメントと詳細ページのコメント部分が検索にかかるようにします。
※太字部分を追加してください。
data/class/pages/products/LC_Page_Products_List.php
【453行】
// 分割したキーワードを一つずつwhere文に追加
foreach ($names as $val) {
if ( strlen($val) > 0 ){
$where .= " AND (name ILIKE ? OR comment3 ILIKE ? OR main_list_comment ILIKE ? OR main_comment ILIKE ?) ";
$ret = SC_Utils_Ex::sfManualEscape($val);
$arrval = "%$ret%";
$arrval = "%$ret%";//追加
}
}
一覧ページのコメントのみであれば、OR main_list_comment ILIKE ?だけを追加して$arrval[] = "%$ret%";を追加すればOKです。
class/db/dbfactory/SC_DB_DBFactory_MYSQL.php
【365行】
"vw_products_allclass" => '
(SELECT T1.product_id,
product_code_min,
product_code_max,
price01_min,
price01_max,
price02_min,
price02_max,
stock_min,
stock_max,
stock_unlimited_min,
stock_unlimited_max,
del_flg,
status,
name,
comment1,
comment2,
comment3,
main_list_comment,
main_comment,//追加
main_image,
main_list_image,
product_flag,
deliv_date_id,
sale_limit,
point_rate,
sale_unlimited,
create_date,
deliv_fee,
rank
,
【402行】
FROM (SELECT T0.product_id,
T0.del_flg,
T0.status,
T0.name,
T0.comment1,
T0.comment2,
T0.comment3,
T0.main_list_comment,
T0.main_comment,//追加
T0.main_image,
T0.main_list_image,
T0.product_flag,
T0.deliv_date_id,
T0.sale_limit,
T0.point_rate,
T0.sale_unlimited,
T0.create_date,
T0.deliv_fee,
T00.category_id,
T00.rank
class/db/dbfactory/SC_DB_DBFactory_MYSQL.php部分はmain_commentを追加しないとエラーで検索機能が動かなくなります。
一覧コメントのみの場合は追加する必要はありません。
バージョンによっては追加しなくても動作するようです。
以上で検索機能の強化ができます。 ...more»
最近ハマってPHPの勉強をしている。
様々なプログラミングをかじったのだが、本当にかじった程度なので全くと言っていいほど理解していなかった。
PHPは仕事で使うということで必要に迫られ、ある程度使えるようになる為にPHPの本を3冊とPHPの辞書を1冊買いました。
解らないときは、ネット上でも調べて理解するように努力しています。
そこで、どうでもいいのですが私の勘違いをここに紹介します。
varとはpublicと同じ意味ですが、varはPHPがバージョン4まで使われていてバージョン5からはpublicが標準となります。PHP5ではサポートはしていますが 、推奨されていません。
hogeですが、意味がないという意味らしいです。よくプログラム上の変数などに$hogeと表記されていますが、気にする必要がないようです。
クラスでよく拝見する->というのもあります。配列で見かける=>と似ているのですが違います。意味自体は参照という意味のようです。例えば、 $hiro -> name = "ヒロシ"; などはオブジェクト(変数)がメンバ(クラス内の変数)を参照するという意味のようです(違っていたらごめんね!!)。
pearのインストールはgo-pear.batを実行した時、エラーを起こしてインストールできない場合はpear.iniをリネームしてgo-pear.batを実行するとインストールできた。様々なサイトで調べたのですが、通常go-pear.pharを最新のバージョンに上書きすることによってインストールできるようですが、私の場合はこの方法ではエラーが出ました。その後、pear.iniをリネームしたらインストールできたので、両方する必要があるのか、それともリネームだけすればいいのか???一応http://pear.php.net/go-pear.pharで最新のバージョンをダウンロードしてチェックしてみてください。私の環境はWindowsXPにXAMPPを入れています。XAMPPのバージョンは1.6.6aです。
mysqlの文字化けについてですが、xamppの場合設定するファイルはmyファイル(短縮ダイヤル)なので、my.cnfをどんなに探しても出てきませんでした・・・ヽ(;´Д`)ノmyファイル(C:\xampp\mysql\bin\にあるファイル)を秀丸で開いたら、普通に開けました。
コマンドプロンプトで日本語を入力する場合は、ALT+漢字(半角/全角)を押すと日本語の入力が可能になる。
die()とはexit()と同じ。メッセージを出力して、現在のスクリプトを終了する。
この他にも色々と勘違いをしていた事が多くここ1週間で大分PHPのプログラムのソースをみて理解できるようになりました。
ここ2日ほどSmartyとPearで躓いています・・・。
また、何かしら思い出したら、メモ帳代わりに日記を書きます。 ...more»










