バージョン選択

フォーラム

メニュー

オンライン状況

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

サイト内検索

質問 > フロント機能 > 特定の商品ステータスのみ商品一覧ページに表示する

フロント機能

新規スレッドを追加する

スレッド表示 | 新しいものから 前のトピック | 次のトピック | 下へ
投稿者 スレッド
tetsulog
投稿日時: 2014/10/21 14:16
対応状況: −−−
新米
登録日: 2014/10/21
居住地:
投稿: 10
特定の商品ステータスのみ商品一覧ページに表示する
[EC-CUBE] 2.11.4
[PHP] PHP 5.3.10
[データベース] MySQL 5.1.73

特定の商品ステータスにチェックを入れた商品のみを商品一覧ページに表示したいです。
products/list.php?product_status_id=1
などで表示できるようなのですが、2.11では対応していないようです。
ご教授よろしくお願いします。
yuh
投稿日時: 2014/10/21 17:04
対応状況: −−−
登録日: 2013/1/9
居住地: 大阪
投稿: 1818
Re: 特定の商品ステータスのみ商品一覧ページに表示する

    function lfGetSearchCondition($arrSearchData){
        $searchCondition = parent::lfGetSearchCondition($arrSearchData);
        if ($this->arrForm["product_status_id"] AND preg_match('/^[0-9]+$/',$this->arrForm["product_status_id"])) {
            $searchCondition['where']    .= " AND EXISTS ( SELECT * FROM dtb_product_status WHERE product_status_id = ? AND alldtl.product_id = product_id  ) ";
            $searchCondition['arrval'][]  = $this->arrForm["product_status_id"];
        }
        return $searchCondition;
    }


LC_Page_Products_List_Ex.phpに上記のコードを追加して、
products/list.php?product_status_id=1
このような形でアクセスすればできると思います。
tetsulog
投稿日時: 2014/10/23 18:41
対応状況: −−−
新米
登録日: 2014/10/21
居住地:
投稿: 10
Re: 特定の商品ステータスのみ商品一覧ページに表示する
yuh様

ありがとうございます!

LC_Page_Products_List_Ex.phpに教えて頂いたコードを追加して、
http://www.〇〇.com/products/list.php?product_status_id=1
でアクセスしたのですが、ステータスに関係なく登録商品が全て表示されてしまいます。エラーは出てません。何かに他に問題がありますでしょうか?
yuh
投稿日時: 2014/10/23 19:01
対応状況: −−−
登録日: 2013/1/9
居住地: 大阪
投稿: 1818
Re: 特定の商品ステータスのみ商品一覧ページに表示する
多分$this->arrForm["product_status_id"]に値が受け取られてないと思います。
$this->arrForm["product_status_id"]を
$_REQUEST['product_status_id']に変更すれば動作するかもです。
tetsulog
投稿日時: 2014/10/23 19:53
対応状況: −−−
新米
登録日: 2014/10/21
居住地:
投稿: 10
Re: 特定の商品ステータスのみ商品一覧ページに表示する
yuh様

ありがとうございます!
何度もすみません!

$this->arrForm["product_status_id"]を
全て$_REQUEST['product_status_id']に変更したのですが、
やはり変わらず全ての商品が表示されてしまいました・・。
もう他に対策はありませんでしょうか?
yuh
投稿日時: 2014/10/28 0:13
対応状況: −−−
登録日: 2013/1/9
居住地: 大阪
投稿: 1818
Re: 特定の商品ステータスのみ商品一覧ページに表示する
2.11.4で間違いないんでしょうか?

LC_Page_Products_List.phpのaction()に
$this->arrForm = $_REQUEST;
ってかかれてますか?




    function lfGetSearchCondition($arrSearchData){
        $searchCondition = parent::lfGetSearchCondition($arrSearchData);
        if ($_REQUEST["product_status_id"] AND preg_match('/^[0-9]+$/',$_REQUEST["product_status_id"])) {
            $searchCondition['where']    .= " AND EXISTS ( SELECT * FROM dtb_product_status WHERE product_status_id = ? AND alldtl.product_id = product_id  ) ";
            $searchCondition['arrval'][]  = $_REQUEST["product_status_id"];
        }
        return $searchCondition;
    }

先ほどのコードを上記のように変更してみてください。

tetsulog
投稿日時: 2014/10/31 18:56
対応状況: −−−
新米
登録日: 2014/10/21
居住地:
投稿: 10
Re: 特定の商品ステータスのみ商品一覧ページに表示する
yuh様

ありがとうございます!
バージョンは2.11.4で間違いないです。
LC_Page_Products_List.phpのaction()にも
$this->arrForm = $_REQUEST;の記述はありました。

確認した後に今回頂いた指定のコードを貼り付けて再アップしてアクセスしたのですが、やはり全商品が出てきてしまいます・・。

スレッド表示 | 新しいものから 前のトピック | 次のトピック | トップ


 



ログイン


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

統計情報

総メンバー数は88,279名です
総投稿数は109,683件です

投稿数ランキング

1
seasoft
7365
2
468
3217
3
AMUAMU
2712
4
nanasess
2303
5
umebius
2085
6
yuh
1818
7
h_tanaka
1610
8
red
1567
9
mcontact
1238
10
tsuji
958
11
fukap
907
12
shutta
835
13
tao_s
796
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.