質問 > 管理機能 > 管理画面には品切れと表示されるのにPC上では表示されない |
管理機能
スレッド表示 | 古いものから | 前のトピック | 次のトピック | 下へ |
投稿者 | スレッド |
---|---|
MPV |
投稿日時: 2012/4/4 14:02
対応状況: −−−
|
仙人 登録日: 2011/3/27 居住地: 投稿: 309 |
Re: 管理画面には品切れと表示されるのにPC上では表示されない chocomame様 こんにちは。
質問等が色々ありましたので、順次(私がわかる範囲ですが) 回答を書いていきますね。 引用:
こちらは、可能でしたら該当商品の在庫数の更新などの オペレーションを行った日時の近辺をご覧頂くと、 何がしかSQLのエラーなどが出ているかもしれません・・・。 "error"の文字列でその日時の近辺を探してみると 見つかるかもしれません。 引用:
ひとまずよかったです。 dtb_products_classの以下の状態を確認しますと
この時点で有効なレコードはproduct_class_idが109、110の レコードです。 通常の規格削除の処理で、不整合になっていたレコードにも 削除フラグが立ったので、正常に表示されるようになったと 思います。(直接DBをいじらずに済んでよかったです。) ちなみに、その後に再度規格を登録したということでしたが (もう戻しましたでしょうか?)その場合、product_class_idが 109、110のレコードのdel_flgも0→1になっていると思いますが いかがでしょうか。 補足)当方が2.11.3の動作環境を持っていないので確認が できないのですが、他の規格のない商品につきましても スクリプト部分に設定されているproduct_class_idは 2つ違う値になっていますでしょうか? もしそうであれば、問題ないのですが・・・。 以前当方が添付したように、現在のバージョン(2.11.5) では、product_class_idは1つの値で2箇所設定されて います。 また、dtb_products_classのレコードも、規格を削除すると 該当レコードは削除フラグでなく、本当に削除されるように 仕様が変わっています。 引用:
今までおかしかったのは、dtb_products_classの状態に よるものですので、在庫数を0にするだけで問題ないと思います。 引用:
確認の為に規格を設定した際に、上記の情報の状態は どうなっていたでしょうか? (きちんと表示、設定されていたでしょうか?) また、現在有効なdtb_products_classの ・product_code ・price01 ・price02 ・stock にはきちんと値が設定されているでしょうか。 あとお手数ですが、再度商品マスタ登録画面から 上記情報を入力し、修正登録をしてみて 状態をご確認頂けないでしょうか。 とりあえず以上です。 また何かございましたら、こちらへコメントを頂ければ お返事いたします。 |
chocomame |
投稿日時: 2012/4/3 12:48
対応状況: −−−
|
常連 登録日: 2011/8/22 居住地: 投稿: 31 |
Re: 管理画面には品切れと表示されるのにPC上では表示されない MPV様
すみません、いまこのスプリクトの部分を見方がわかりました。すみません。 引用:
3.の完了時 の部分は、既に消したしまったのでもう一度規格登録をしてスプリクトを取りました。 product_class_id部分が111、112になっています。 <script type="text/javascript">//<![CDATA[ classCategories = {"__unselected":{"__unselected":{"name":"\u9078\u629e\u3057\u3066\u304f\u3060\u3055\u3044","product_class_id":"111","product_type":"1"}},"10":{"#":{"classcategory_id2":null,"name":" (\u54c1\u5207\u308c\u4e2d)","stock_find":false,"price01":"","price02":"350","point":"0","product_code":"imo-170","product_class_id":"111","product_type":"1"}},"9":{"#":{"classcategory_id2":null,"name":" (\u54c1\u5207\u308c\u4e2d)","stock_find":false,"price01":"","price02":"350","point":"0","product_code":"imo-170","product_class_id":"112","product_type":"1"}}};function lnOnLoad(){fnSetClassCategories(document.form1, ""); } $(function(){ lnOnLoad(); }); //]]> </script> 5.の完了時 これは、product_class_id部分が109、110のときにとりました <script type="text/javascript">//<![CDATA[ classCategories = {"__unselected":{"__unselected":{"name":"\u9078\u629e\u3057\u3066\u304f\u3060\u3055\u3044","product_class_id":"109","product_type":"1"}},"8":{"#":{"classcategory_id2":null,"name":" (\u54c1\u5207\u308c\u4e2d)","stock_find":false,"price01":"","price02":"350","point":"0","product_code":"imo-170","product_class_id":"109","product_type":"1"}},"7":{"#":{"classcategory_id2":null,"name":" (\u54c1\u5207\u308c\u4e2d)","stock_find":false,"price01":"","price02":"350","point":"0","product_code":"imo-170","product_class_id":"110","product_type":"1"}}};function lnOnLoad(){fnSetClassCategories(document.form1, ""); } $(function(){ lnOnLoad(); }); //]]> </script> わかりにくくて本当にすみません。 |
chocomame |
投稿日時: 2012/4/3 12:37
対応状況: −−−
|
常連 登録日: 2011/8/22 居住地: 投稿: 31 |
Re: 管理画面には品切れと表示されるのにPC上では表示されない MPV様
なんとかご指示通りを調べてみたのですが、一部私の知識不足で理解できなくて 調べられなかった点もあります。申し訳ありません。 引用:
今まで商品登録をしている際は、エラーが出たことはなかったです。 登録した商品には規格がないため、規格は一度も使ったことがありません。 1番最初に、お鍋やアイスの規格を削除したくらいです。 /data/logsを見ました。customer.logとsite.logの二つがありましたが、 英語が連ねられているだけで、エラーかなにかが私にはわかりませんでした。 すみません。 引用:
<3.の完了時> スクリプト部分の出し方がわからなかったです。 これは公開してソースを見ればよいのでしょうか。 dtb_products_classを見ると、 product_id=16に対して product_class_idは、以前からあった93、94、95、96に加えて109、110ができています。 class_combination_idをみると、 product_class_id=109は19、product_class_id=110は20という番号が入っています。 product_class_id=93、94、95、96は、全てNULL stockは、product_class_id=93、109、110は0、product_class_id=94、95、96は、は全てNULL stock_unlimitedは、product_class_id=93、109、110は0、product_class_id=94、95、96は、は全て1 del_flgは、product_class_id=93、94、95、96は、1 product_class_id=109、110は0 となっています。 <5.の完了時> 上記と全く変わりませんでした。 create_dateとupdate_dateの時間が上記と同じでした。 引用:
HPの商品ページを見たら、 「申し訳ございませんが、只今品切れ中です。」 の表示が出ていて、お客様が買えない状態になっていました! ありがとうございます。 希望どおりの表示になったのですが、今後どのようにしてこの表示を出していけばいいかわからないです。 規格を作ってから削除しないとこの表示は現れないのでしょうか。 現在、この商品基本情報(商品登録画面)には、 ・商品コード ・通常価格 ・販売価格 ・在庫数 の表示が出て来ない状態です。 規格を削除して、商品登録をしたら表示されなくなりました。 これは解消できるのでしょうか。 わかりにくい文章と質問ばかりで申し訳ありません。 ご教授をお願いいたします。 |
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の 状態をお伺いできますでしょうか。 大変恐縮ですが、どうぞよろしくお願いいたします。 |
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/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/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/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 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/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レコードだけの状態です。 (規格が存在すると複数レコードできていると思います。) もし説明がわからない等ございましたら返信頂ければ幸いです。 追伸)当方の記載に誤り等がございましたので、 修正、加筆しました。すみません・・・。 |
(1) 2 » |
スレッド表示 | 古いものから | 前のトピック | 次のトピック | トップ |