質問 > 管理機能 > 管理画面には品切れと表示されるのにPC上では表示されない |
管理機能
スレッド表示 | 新しいものから | 前のトピック | 次のトピック | 下へ |
投稿者 | スレッド |
---|---|
chocomame |
投稿日時: 2012/3/22 19:06
対応状況: −−−
|
常連 登録日: 2011/8/22 居住地: 投稿: 31 |
管理画面には品切れと表示されるのにPC上では表示されない 管理画面から在庫ゼロにしたのですが、
在庫数は0の表示になっていますが、商品マスター一覧では在庫が無制限になります。 ショップの状況には、品切れ商品には商品名が表示されます。 しかも品切れにしているのに商品は購入できます。 http://xoops.ec-cube.net/modules/newbb/viewtopic.php?topic_id=7712&forum=8 に同じ内容があってその通りにしたつもりなのですが、変化がありません。 やり方が違うのかもしれないので教えて下さい。 http://svn.ec-cube.net/open_trac/ticket/1220 にあるファイルdetailをそのまま、 data/Smarty/templates/default/products/detail.tpl に上書きしました。 正しい方法がありましたら教えて下さい。 よろしくお願いいたします。 |
MPV |
投稿日時: 2012/3/22 22:37
対応状況: −−−
|
仙人 登録日: 2011/3/27 居住地: 投稿: 309 |
Re: 管理画面には品切れと表示されるのにPC上では表示されない chocomame様 はじめまして。
当方まだ未熟なので、お役にたたないかもしれませんが・・・。 1.フロントでの確認 ?該当商品の商品詳細画面を見た時に、$tpl_stock_findは var_dump()やSC_Utils::sfPrintR()で確認した場合、 どのような値になっているでしょうか? 2.管理画面での確認 ?該当商品の商品マスター登録内容で、数量のところは どのように入力されているでしょうか?(0 or 無し) ?数量無制限のチェックは入っていないでしょうか? ?該当商品は規格を有する商品でしょうか? 3.該当商品について、DBの実際の値の確認 という流れでのご確認は可能でしょうか? あと、 http://xoops.ec-cube.net/modules/tinyd0/index.php?id=8 をご一読頂いて、ご自身の環境等を明記した方がよりレスが 付きやすいと思います。 |
chocomame |
投稿日時: 2012/3/25 0:25
対応状況: −−−
|
常連 登録日: 2011/8/22 居住地: 投稿: 31 |
Re: 管理画面には品切れと表示されるのにPC上では表示されない ご回答、ありがとうございます。
全く知識なく取り組んでしまい苦戦しています。 投稿の仕方まで教えて頂きまして、本当にありがとうございます。 MPV様が確認をした方がよいと言って下さった部分ですが、 1.フロントでの確認 ?該当商品の商品詳細画面を見た時に、$tpl_stock_findは var_dump()やSC_Utils::sfPrintR()で確認した場合、 どのような値になっているでしょうか? 3.該当商品について、DBの実際の値の確認 1、3、は指定された部分のどの部分を見ればよいのかがわかりませんでした。 色々調べて場所を見つけようとしたのですがわかりませんでした。 もしお手数でなければ、 $tpl_stock_find、var_dump()やSC_Utils::sfPrintR() DBの実際の値 はどこを見れば確認できるのかを教えて頂けないでしょうか。 何卒よろしくお願いいたします。 2の確認は、 ?該当商品の商品マスター登録内容で、数量=0 ?数量無制限のチェックは入っていない ?該当商品は規格はなし 知識がなくてご迷惑をおかけいたしますがご教授して頂きたいです。 何卒よろしくお願いいたします。 ------------------------------------------------------------------------------------------ [EC-CUBE] 2.11.3 [レンタルサーバ] ロリポップ [OS] FreeBSD 5.4-RELEASE [PHP] PHP 5.2.17 [データベース] MySQLの5.1.59 [WEBサーバ] ー [ブラウザ] クローム [現象]在庫を0にしてもPCに在庫がありませんという表示が出ない。購入できる状態で表示される ------------------------------------------------------------------------------------------ |
MPV |
投稿日時: 2012/3/26 0:49
対応状況: −−−
|
仙人 登録日: 2011/3/27 居住地: 投稿: 309 |
Re: 管理画面には品切れと表示されるのにPC上では表示されない chocomame様 こんばんは。
当方も未熟者ですのでどこまでお役にたてるか わかりませんが・・・、一緒に調べてみましょう。 引用:
$tpl_stock_findは、 data/Smarty/templates/default/products/detail.tplを 見て頂くとわかるのですが、
と判定で使用されています。 そのため判定値が知りたかったのでお聞きしました。 $tpl_stock_findが設定されているのは、 data/class/pages/products/LC_Page_Products_Detail.phpと data/class/SC_Product.phpを見て下さい。
この直後に、 SC_Utils::sfPrintR($this->tpl_stock_find); または var_dump($this->tpl_stock_find); を入れます。 管理画面のパラメータ設定でdebug_modeを trueにして下さい。そうしないと表示されません。 SC_Utils::sfPrintRについては http://xoops.ec-cube.net/modules/tinyd0/index.php?id=8 に記載がありますので、再度目を通して下さい。 var_dump()についてはphpのマニュアル等に記載があると思います。 これで、$tpl_stock_findに何が設定されているかを ご確認頂けますでしょうか? *ちなみに当方のtest環境で、在庫がある商品の場合は 以下のように画面の上の方に表示されました。 bool(true) ← var_dump() の結果 **デバッグ中** ← SC_Utils::sfPrintR の結果 bool(true) **デバッグ中** 引用:
chocomame様はMYSQLとのことですが、phpmyadminは 使用可能でしょうか? もし使用可能であれば、DBのdtb_products_classに 該当商品の数量の情報が入っているのですが、 該当商品の在庫数の状態をご確認頂ければと思います。 (まず該当商品をdtb_productsから探して、その商品の product_idから該当のレコードを探して下さい。) こちらは、実際の在庫数として設定されている値が 知りたかったのでお聞きしております。 ちなみに、こちらも当方のtest環境で確認してみたところ dtb_products_classの stock 1(在庫数は設定内容で変動すると思いますが・・・。) stock_unlimited 0 という1レコードだけの状態です。 (規格が存在すると複数レコードできていると思います。) もし説明がわからない等ございましたら返信頂ければ幸いです。 追伸)当方の記載に誤り等がございましたので、 修正、加筆しました。すみません・・・。 |
chocomame |
投稿日時: 2012/3/28 15:04
対応状況: −−−
|
常連 登録日: 2011/8/22 居住地: 投稿: 31 |
Re: 管理画面には品切れと表示されるのにPC上では表示されない 本当に申し訳ありません。
かなり知識がなくて、まだ解決に至りません。 まず、 data/Smarty/templates/default/products/detail.tplと data/class/pages/products/LC_Page_Products_Detail.phpと data/class/SC_Product.php の3つは見つけられて data/class/pages/products/LC_Page_Products_Detail.php に、 「$this->tpl_stock_find = $objProduct->stock_find[$product_id];」 があることを発見し、 SC_Utils::sfPrintR($this->tpl_stock_find); を貼付けました。 他の二つは何もしていません。 管理画面のパラメータ設定でdebug_modeを trueにしました。 ここまでやって後、どうしたらいいかが分からずにいます。 >$tpl_stock_findに何が設定されているかをご確認頂けますでしょうか? どこを見たら確認ができるかが分かりません >var_dump() の結果、SC_Utils::sfPrintR の結果 これはどこを見たらこの結果が確認できるかがわかりません。 phpmyadminには入ることができましたが、 DBのdtb_products_class がどこにあるのかがわかりませんでした。 初歩的なことがわかっていないので、大変ご迷惑をおかけいたします。 お時間がございましたら、ご回答を何卒よろしくお願いいたします。 ------------------------------------------------------------------------------------------ [EC-CUBE] 2.11.3 [レンタルサーバ] ロリポップ [OS] FreeBSD 5.4-RELEASE [PHP] PHP 5.2.17 [データベース] MySQLの5.1.59 [WEBサーバ] ー [ブラウザ] クローム [現象]在庫を0にしてもPCに在庫がありませんという表示が出ない。購入できる状態で表示される ------------------------------------------------------------------------------------------ |
MPV |
投稿日時: 2012/3/28 16:17
対応状況: −−−
|
仙人 登録日: 2011/3/27 居住地: 投稿: 309 |
Re: 管理画面には品切れと表示されるのにPC上では表示されない chocomame様 こんにちは。
引用:
お作りになられたECサイトで、該当商品の商品詳細ページを 見ると、左上に表示されます。 引用:
そうしましたら、探す手順を記載します。 ?まずログインした状態で、ご自分が EC-CUBEインストール時に作成された DB名をクリックすると、画面左側に 全てのテーブル名が表示されると思います。 (もしレンタルサーバで使用DBが限られているのであれば、 ログイン後すぐに表示されると思います。) ?そこからdtb_productsを探してクリックし タブの”表示”をクリックして下さい。 テーブル内のデータが表示されます。 ?そこから該当商品のレコードを探して、見つかったら product_idを控えておきます。 ?見つかったら、画面左側のテーブル名一覧から dtb_products_classをクリックします。 ?(?と同様に)product_idが同じレコードを探します。 見つかったら、前回書きました内容(在庫数と無制限フラグ)を ご確認下さい。 上記手順で確認してみて頂けますでしょうか。 |
chocomame |
投稿日時: 2012/3/28 23:20
対応状況: −−−
|
常連 登録日: 2011/8/22 居住地: 投稿: 31 |
Re: 管理画面には品切れと表示されるのにPC上では表示されない 長老様
ご丁寧に説明していただきありがとうございます。 ご指示通りにしたらご質問を受けていた点を見ることができました。 すごくうれしいです。 >$tpl_stock_findに何が設定されているかを ご確認頂けますでしょうか? **デバッグ中** bool(true) **デバッグ中** と表示されていました。 >DBの実際の値 product_idを控えて、dtb_products_classからさがしました。 すると同じproduct_idが4つ出てきました。 product_class_idは違うのですが、product_idは同じです。 4つの内1つだけstockとstock_unlimitedが0になっていて、後の3つはstock=NULL、stock_unlimited=1となっています。 商品詳細ページのソースを見ると下記のような書き込みがありました。 <script type="text/javascript">//<![CDATA[ var productsClassCategories = {"16":{"__unselected":{"__unselected":{"name":"\u9078\u629e\u3057\u3066\u304f\u3060\u3055\u3044","product_class_id":"94","product_type":"1"}},"__unselected2":{"#":{"classcategory_id2":null,"name":"","stock_find":true,"price01":"","price02":"350","point":"0","product_code":"imo-170","product_class_id":"96","product_type":"1"}}}};function fnOnLoad(){fnSetClassCategories(document.product_form16);} $(function(){ fnOnLoad(); }); //]]> </script> この中にある product_class_id":"94" product_class_id":"96" が、売り切れ表示にならないのと関係あるのでしょうか。 ちなみにこの二つはDBで stock=NULL、stock_unlimited=1の表記です。 この商品は規格がありません。 複数product_idがあるのはおかしいのでしょうか。 お手数をおかけいたしますが解決方法を教えていただければ幸いです。 何卒よろしくお願いいたします。 |
MPV |
投稿日時: 2012/3/29 1:32
対応状況: −−−
|
仙人 登録日: 2011/3/27 居住地: 投稿: 309 |
Re: 管理画面には品切れと表示されるのにPC上では表示されない chocomame様 こんばんは。
引用:
これだと確かに売り切れに流れないですね、うーん。 引用:
引用:
上記の内容から、再度ご確認頂きたいことがございます。 ?dtb_products_classにある(同じproduct_idの) 4レコードの以下項目 ・product_class_id ・stock ・stock_unlimited ・update_date ・del_flg をお教え頂けないでしょうか。 ちなみに当方の環境で確認したところ、ご提示頂きました ソースのスクリプトで設定されているproduct_class_id については、以下の通りでした。 規格がない商品:同一のproduct_class_idが設定されている 規格がある商品:同一のproduct_class_idに加えて、規格の分 別のproduct_class_idが設定されている 逆に当方の環境では、規格がない商品で異なる product_class_idが設定されている商品が 見受けられません。 3/30追記: EC-CUBEのデモサイトでも確認しましたが 当方と同じ状態でした。
ですので、chocomame様の該当商品のproduct_class_idで 現在有効なのは何で、それの在庫状態がどうなのかを 確認したいと思っております。 ?こちらはあまり関係ないかもしれませんが、ソースの 上かぶせ後にキャッシュの削除はしましたでしょうか。 data/Smarty/templates_c/default 以下のファイル ご確認、ご回答頂ければ幸いです。 追伸: 引用:
当方、MPVと申します。 ランクで長老となってはいますが 全然偉くも何ともないので・・・。 |
chocomame |
投稿日時: 2012/4/1 20:23
対応状況: −−−
|
常連 登録日: 2011/8/22 居住地: 投稿: 31 |
Re: 管理画面には品切れと表示されるのにPC上では表示されない MPV様
返事が遅くなってしまい、大変申し訳ありません。 いつも丁寧にわかりやく回答していただきましてありがとうございます。 お名前の件、大変失礼なことをしてしまいました。 申し訳ありません。以後、気をつけます。 ご指示いただきました点を調べました。 上記の内容から、再度ご確認頂きたいことがございます。 >?dtb_products_classにある(同じproduct_idの) 4レコードの以下項目 ・product_class_id ・stock ・stock_unlimited ・update_date ・del_flg をお教え頂けないでしょうか。 product_id=16に対して4つのproduct_class_idがあります。 ■product_class_id=93 ・stock=0 ・stock_unlimited=0 ・update_date=2012-03-28 14:26:01 ・del_flg=1 ■product_class_id=94 ・stock=NULL ・stock_unlimited=1 ・update_date=2011-10-27 00:19:40 ・del_flg=0 ■product_class_id=95 ・stock=NULL ・stock_unlimited=1 ・update_date=2011-10-27 00:19:40 ・del_flg=0 ■product_class_id=96 ・stock=NULL ・stock_unlimited=1 ・update_date=2011-10-27 00:19:40 ・del_flg=0 以上となります >?こちらはあまり関係ないかもしれませんが、ソースの 上かぶせ後にキャッシュの削除はしましたでしょうか。 data/Smarty/templates_c/default 以下のファイル コチラのファイルは全く手をつけていません。 たくさん、phpファイルが入っていましたがこれを全て削除すればよいのでしょうか。 本当に頼ってばかりで申し訳ありません。 なんとか、解決をしたいのでどうかお力をお貸しください。 よろしくお願いいたします。 |
MPV |
投稿日時: 2012/4/2 0:17
対応状況: −−−
|
仙人 登録日: 2011/3/27 居住地: 投稿: 309 |
Re: 管理画面には品切れと表示されるのにPC上では表示されない chocomame様 こんばんは。
お調べ頂きましてありがとうございます。 拝見したのですが、おそらく不整合状態に なっているような気がします。 本来使用してほしいproduct_class_id=93のレコードの del_flgがdel_flg=1(削除済み)になっており、 削除したと思っている規格の他レコードのdel_flgが del_flg=0(有効)になっているようです。 そこでなのですが ?該当商品の規格編集のオペレーションを行った時に、 何かエラー等の異常はなかったでしょうか? (ログなど残っていないでしょうか。) → DBの不整合状態の原因が今までのお話からだけでは よくわからなかったので・・・。 ?該当商品以外の他の規格がない商品につきましても、 今回の表示不具合は発生していますでしょうか? → DB不整合が、該当商品だけなのかの確認です。 ?以下オペレーションを行った場合、状況は 変わらないでしょうか? 1. 該当商品を(一時的に)非公開にする 2. 該当商品の規格を再度(適当に)登録する 3. 登録完了する 4. (本来規格はない商品なので)規格を削除する 5. 登録完了する 6. 該当商品を(元に戻して)公開にする オペレーション実行の際に、3.の完了時と5.の完了時での 商品詳細ページのスクリプト部分並びに、dtb_products_classの 状態をお伺いできますでしょうか。 大変恐縮ですが、どうぞよろしくお願いいたします。 |
(1) 2 » |
スレッド表示 | 新しいものから | 前のトピック | 次のトピック | トップ |