質問 > フロント機能 > 販売制限数の表示について |
フロント機能
スレッド表示 | 新しいものから | 前のトピック | 次のトピック | 下へ |
投稿者 | スレッド |
---|---|
000 |
投稿日時: 2020/11/25 17:10
対応状況: −−−
|
常連 登録日: 2020/1/29 居住地: 投稿: 69 |
販売制限数の表示について EC-CUBE2.13.5
商品一覧及び商品詳細のページに販売制限数を表示させたいのですが、うまくいきません。 SC_Product.phpにalldtlSQL関数がなく、SC_DB_DBFactory_ExのalldtlSQL関数に 引用:
を追加しましたが表示されませんでした。 2.13.5は別に表示方法があるのでしょうか。 ご教授いただけますと幸いです。 |
coremobile |
投稿日時: 2020/11/25 20:49
対応状況: −−−
|
長老 登録日: 2018/8/30 居住地: 投稿: 186 |
Re: 販売制限数の表示について 一覧画面に表示する場合は
SC_Product.phpのlists関数の$col = <<< __EOS__部分にも 下記を追加してみてください。 sale_limit_max, sale_limit_min, |
000 |
投稿日時: 2020/11/26 9:39
対応状況: −−−
|
常連 登録日: 2020/1/29 居住地: 投稿: 69 |
Re: 販売制限数の表示について ご返信ありがとうございます
SC_Product.phpのlists関数の$col = <<< __EOS__部分にも 下記を追加したところシステムエラーとなり画面自体が表示されなくなりました。 sale_limit_max, sale_limit_min, また、現時点では商品詳細及び一覧の両方で表示ができていない状態なのですが 他に考えられる点はありますでしょうか |
coremobile |
投稿日時: 2020/11/26 22:12
対応状況: −−−
|
長老 登録日: 2018/8/30 居住地: 投稿: 186 |
Re: 販売制限数の表示について SC_Product.phpのlist関数に下記のように「sale_limit_max」と「sale_limit_min」を追加してみてください。
public function lists(&$objQuery) { $col = <<< __EOS__ product_id ,product_code_min ,product_code_max ,name ,comment1 ,comment2 ,comment3 ・ ・ ・ ,sale_limit_max←ここ ,sale_limit_min←ここ __EOS__; ・ ・ ・ } またalldtlSQL関数はこのようになります。 public function alldtlSQL($where_products_class = '') { if (!SC_Utils_Ex::isBlank($where_products_class)) { $where_products_class = 'AND (' . $where_products_class . ')'; } /* * point_rate, deliv_fee は商品規格(dtb_products_class)ごとに保持しているが, * 商品(dtb_products)ごとの設定なので MAX のみを取得する. */ $sql = <<< __EOS__ ( SELECT dtb_products.* ,T4.product_code_min ,T4.product_code_max ,T4.price01_min ,T4.price01_max ,T4.price02_min ,T4.price02_max ,T4.stock_min ,T4.stock_max ,T4.stock_unlimited_min ,T4.stock_unlimited_max ,T4.point_rate ,T4.deliv_fee ,T4.sale_limit_max←ここ ,T4.sale_limit_min←ここ ,dtb_maker.name AS maker_name FROM dtb_products INNER JOIN ( SELECT product_id ,MIN(product_code) AS product_code_min ,MAX(product_code) AS product_code_max ,MIN(price01) AS price01_min ,MAX(price01) AS price01_max ,MIN(price02) AS price02_min ,MAX(price02) AS price02_max ,MIN(stock) AS stock_min ,MAX(stock) AS stock_max ,MIN(stock_unlimited) AS stock_unlimited_min ,MAX(stock_unlimited) AS stock_unlimited_max ,MAX(point_rate) AS point_rate ,MAX(deliv_fee) AS deliv_fee ,MAX(sale_limit) AS sale_limit_max←ここ ,MIN(sale_limit) AS sale_limit_min←ここ FROM dtb_products_class WHERE del_flg = 0 $where_products_class GROUP BY product_id ) AS T4 ON dtb_products.product_id = T4.product_id LEFT JOIN dtb_maker ON dtb_products.maker_id = dtb_maker.maker_id ) AS alldtl __EOS__; return $sql; } これでうまくいくと思いますのでご確認ください。 |
000 |
投稿日時: 2020/11/27 10:18
対応状況: −−−
|
常連 登録日: 2020/1/29 居住地: 投稿: 69 |
Re: 販売制限数の表示について ご丁寧にご返信いただきありがとうございました。
あの後、試行錯誤していたところ 使用しているDBの都合上、呼ばれるファイルが異なっていることが判明いたしました。 修正ファイル:【SC_DB_DBFactory_MYSQL_Ex】 引用:
こちらとSC_Productsに記載を加えることで、商品一覧及び詳細に販売制限数を表示することができました。 この度はありがとうございました。 |
coremobile |
投稿日時: 2020/11/27 16:39
対応状況: −−−
|
長老 登録日: 2018/8/30 居住地: 投稿: 186 |
Re: 販売制限数の表示について 解決のお手伝いができてよかったです。
|
スレッド表示 | 新しいものから | 前のトピック | 次のトピック | トップ |