Tag archives for EC-CUBE
前回紹介した商品名に<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»
商品名に3~4人用などのサブタイトルを載せる場合、商品名より文字のサイズを小さくしたり、変色させたりしたい場合、spanタグをつかってCSSで装飾します。
この時、様々なページでspanタグが表示されますが、EC-CUBEではSmartyを使用してしているので、商品名を表示していている部分の|escapeを削除すればいいだけですが、メールの場合は|escapeを使用していないのでstrip_tagsを入力します。
data\Smarty\templates\default\mail_templates\order_mail.tplの59行目
商品名: <!--{$arrOrderDetail.product_name|strip_tags:false}-->
を追加すればタグが表示されません。 ...more»
検証したEC-CUBEのバージョンは2.3.4ですが、2シリーズはこれでいけると思います。
詳細ページのtplファイル(data\Smarty\templates\default\detail.tpl)に商品一覧と同じコメントを表示したい場合に<!--{$arrProduct.main_list_comment|nl2br}-->タグを組み込みます。
ただ、<!--{$arrProduct.main_list_comment|nl2br}-->タグを入力しただけでは表示されません。
date\class\db\dbfactory\SC_DB_DBFactory_MYSQL.phpの440行から始まる
"vw_products_allclass_detail" => '
(SELECT product_id,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,deliv_fee,main_comment,main_image,main_large_image,
sub_title1,sub_comment1,sub_image1,sub_large_image1,
sub_title2,sub_comment2,sub_image2,sub_large_image2,
sub_title3,sub_comment3,sub_image3,sub_large_image3,
sub_title4,sub_comment4,sub_image4,sub_large_image4,
sub_title5,sub_comment5,sub_image5,sub_large_image5,
product_flag,deliv_date_id,sale_limit,point_rate,sale_unlimited,file1,file2,category_id
にmain_list_comment,を追加すれば表示されるようになります。
"vw_products_allclass_detail" => '
(SELECT product_id,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,deliv_fee,main_comment,main_image,main_large_image,
sub_title1,sub_comment1,sub_image1,sub_large_image1,
sub_title2,sub_comment2,sub_image2,sub_large_image2,
sub_title3,sub_comment3,sub_image3,sub_large_image3,
sub_title4,sub_comment4,sub_image4,sub_large_image4,
sub_title5,sub_comment5,sub_image5,sub_large_image5,
product_flag,deliv_date_id,sale_limit,point_rate,sale_unlimited,file1,file2,category_id ...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»










