バージョン選択

フォーラム

メニュー

オンライン状況

64 人のユーザが現在オンラインです。 (52 人のユーザが フォーラム を参照しています。)
登録ユーザ: 0
ゲスト: 64
もっと...

サイト内検索

質問 > フロント機能 > 商品検索フォームで商品コードで検索できるようにしたい。

フロント機能

新規スレッドを追加する

スレッド表示 | 新しいものから 前のトピック | 次のトピック | 下へ
投稿者 スレッド
h6295as
投稿日時: 2014/6/24 1:04
対応状況: −−−
新米
登録日: 2014/6/23
居住地:
投稿: 6
商品検索フォームで商品コードで検索できるようにしたい。
現在2.13.1にてXAMPPを用いて構築中なのですが、商品検索から商品コードや商品情報の任意の項目で検索する方法がわかりません。
既出のものだとバージョンが以前のもののため、指定のページにそもそもその記述がなかったり、エラーが出てしまったりしております。
2.13.1にて、商品コードや任意に項目で検索ができるようにするにはどのようにしたらよいでしょうか?

当方、プログラマではありませんので、具体的にご教示いただけると幸いです。

よろしくお願いいたします。


*****************************
バージョン:2.13.1
PHP 5.3.1
DBバージョン:MySQL 5.1.44
******************************
tsuji
投稿日時: 2014/6/24 9:42
対応状況: −−−
仙人
登録日: 2013/11/19
居住地:
投稿: 958
Re: 商品検索フォームで商品コードで検索できるようにしたい。
h6295as 様

具体的ではありませんが、検索ブロックは商品一覧にデータを渡して
検索処理を行っています。
ですので、検索ブロックに検索したい項目を追加し、商品一覧で
その項目が送られてきたら、その項目を検索条件に加えて商品の
取得を行うことになると思います。


ほかにもプラグインを探してみるという手もあると思います。
調べてみると下記のようなプラグインもありました。
http://www.ec-cube.net/products/detail.php?product_id=460
h6295as
投稿日時: 2014/6/25 2:04
対応状況: −−−
新米
登録日: 2014/6/23
居住地:
投稿: 6
Re: 商品検索フォームで商品コードで検索できるようにしたい。
tsuji様

ご回答ありがとうございます。

いろいろ試しておりますが、なかなかうまくいきません。

現状は
data/class/pages/products/LC_Page_Products_List.phpに

// 分割したキーワードを一つずつwhere文に追加
foreach ($names as $val) {
if (strlen($val) > 0) {
$searchCondition['where'] .= ' AND ( alldtl.name ILIKE ? OR alldtl.comment3 ILIKE ? OR alldtl.product_code ILIKE ?) ';
$searchCondition['arrval'][] = "%$val%";
$searchCondition['arrval'][] = "%$val%";
$searchCondition['arrval'][] = "%$val%";
}
}

を記述しアップロードいたしました。
そうしますと

Fatal error(E_USER_ERROR): DB処理でエラーが発生しました。
SQL: [SELECT COUNT(*) FROM dtb_products AS alldtl WHERE alldtl.del_flg = 0 AND alldtl.status = 1 AND ( alldtl.name LIKE ? OR alldtl.comment3 LIKE ? OR alldtl.product_code LIKE ?) ]
MDB2 Error: no such field
_doQuery: [Error message: Could not execute statement]
[Last executed query: PREPARE mdb2_statement_mysql_12168d99915ed80bd056717547827ace5e1afacd35 FROM 'SELECT COUNT(*) FROM dtb_products AS alldtl WHERE alldtl.del_flg = 0 AND alldtl.status = 1 AND ( alldtl.name LIKE ? OR alldtl.comment3 LIKE ? OR alldtl.product_code LIKE ?) ']
[Native code: 1054]
[Native message: Unknown column 'alldtl.product_code' in 'where clause']
on [/virtual/203.138.30.8/data/eccube/class/SC_Query.php(1087)]
/virtual/203.138.30.8/home/eccube/products/list.php(29): LC_Page_Products_List_Ex->process
/virtual/203.138.30.8/data/eccube/class_extends/page_extends/products/LC_Page_Products_List_Ex.php(54): LC_Page_Products_List->process
/virtual/203.138.30.8/data/eccube/class/pages/products/LC_Page_Products_List.php(83): LC_Page_Products_List->action
/virtual/203.138.30.8/data/eccube/class/pages/products/LC_Page_Products_List.php(137): LC_Page_Products_List->lfGetProductAllNum
/virtual/203.138.30.8/data/eccube/class/pages/products/LC_Page_Products_List.php(363): SC_Product->findProductCount
/virtual/203.138.30.8/data/eccube/class/SC_Product.php(114): SC_Query->count
/virtual/203.138.30.8/data/eccube/class/SC_Query.php(142): SC_Query->get
/virtual/203.138.30.8/data/eccube/class/SC_Query.php(675): SC_Query->getOne
/virtual/203.138.30.8/data/eccube/class/SC_Query.php(691): SC_Query->prepare
/virtual/203.138.30.8/data/eccube/class/SC_Query.php(1016): SC_Query->error
/virtual/203.138.30.8/data/eccube/class/SC_Query.php(1087): trigger_error
▲▲▲ デバッグ情報ここまで ▲▲▲

上記のようなエラーが発生いたしました。
このエラーも読み解く事ができず、困っております。
何となく「alldtl.product_codeというカラムがないよ」と言っているような感じがいたしますが、合っているかどうか分かりませんし、これを修正する方法も分かりません。

どうかご教示いただけますでしょうか?

よろしくお願いいたします。
tsuji
投稿日時: 2014/6/25 9:15
対応状況: −−−
仙人
登録日: 2013/11/19
居住地:
投稿: 958
Re: 商品検索フォームで商品コードで検索できるようにしたい。
h6295as 様

alldtlはSC_Product.phpにあるalldtlSQLで生成されるSQLですね。
ここにはproduct_codeはないようです。

そして、ここに商品コードの検索を加えられるように改修をかける
のは現実的ではないように思っています。

それで、別途dtb_products_classからproduct_codeを検索条件にproduct_idを取得してalldtlの検索条件にIN句で加える、という操作
をしてみてはいかがでしょうか?


----------------
****************************************
株式会社システムフレンド
辻 拓也(takuya tsuji)
改造専門店・EC-CUBE工房
****************************************

h6295as
投稿日時: 2014/6/26 13:09
対応状況: −−−
新米
登録日: 2014/6/23
居住地:
投稿: 6
Re: 商品検索フォームで商品コードで検索できるようにしたい。
tsuji様

ご返答ありがとうございます。

いろいろ試してみましたが、うまくいきませんでした。

納品の都合もありましたので、不本意ではありますが
商品登録の際の「検索ワード」に商品コードを入力する事により一旦解決いたしました。

ご回答ありがとうございました。
スレッド表示 | 新しいものから 前のトピック | 次のトピック | トップ


 



ログイン


EC-CUBE公式 Amazon Payプラグイン

統計情報

総メンバー数は88,971名です
総投稿数は110,019件です

投稿数ランキング

1
seasoft
7367
2
468
3217
3
AMUAMU
2712
4
nanasess
2314
5
umebius
2085
6
yuh
1819
7
h_tanaka
1646
8
red
1570
9
mcontact
1296
10
tsuji
958
11
fukap
907
12
shutta
835
13
tao_s
799
14 ramrun 789
15 karin 689
16 sumida 641
17
homan
633
18 DELIGHT 572
19
patapata
502
20
flealog
485


ネットショップの壺

EC-CUBEインテグレートパートナー

Copyright© EC-CUBE CO.,LTD. All Rights Reserved.