バージョン選択

フォーラム

メニュー

オンライン状況

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

サイト内検索

質問 > 管理機能 > 既存の商品規格を廃止ではなく削除した場合の操作について カート情報を消す 規格分類管理 規格管理 商品規格

管理機能

新規スレッドを追加する

スレッド表示 | 古いものから 前のトピック | 次のトピック | 下へ
投稿者 スレッド
erukun
投稿日時: 2022/5/17 15:31
対応状況: 確認中
一人前
登録日: 2021/2/22
居住地: 国内
投稿: 114
Re: 既存の商品規格を廃止ではなく削除した場合の操作について カート情報を消す 規格分類管理 規格管理 商品規格
名古屋の悪口言ってたら治りました。
さぽーれは有るけどお金持ちは必要なものを必要なだけしか買わないから商品あんまり動かないんよな。



因みに404はURIパス的にはdefault_flame.twigを通っているので、ヘッダーやフッター、サイドバーが有る未だ可愛い方の404ですからね。



➊dtb_class_name
➋dtb_class_category
❸dtb_product_class


これらを確認して、自分の環境では今回一部の➊と➋だけ消した
状態でした。いずれにせよ❸は手を加えていなかったから逆算し
て考える事が出来、不正解だとは思うのですが最低限の状態に戻
せました。
復元しても良いのだけどソートがダブるのが気分的に嫌だったの
と件数がたまたま少なかったので手作業しました(非推奨。本当
はファイル作成してコマンド打ち込まないといけないんだろうけ
ども)


足りない(削除した)class_nameを作成するために、仮に
ec-root/admin/product/class_name からレコードを作成して、phpmyadmin から有るべきIDに採番しなおしてUPDATEしたら動く
ようになりました。とにかく現状が空なので何かしらレコードを作って正しく採番することが必要でした。EC-CUBEがIDを削除した
ら永久欠番の扱いのように一意になる採番設計だったので良かったです。



ポイントはbackend_nameの管理名がSQLでは順番として先に来る
ので(管理画面の入力フォームでは後になる)恥ずかしい名前が公
開されるのは要注意だと思いました。規格に関連する商品を複製の
上該当商品の紐づけを仮にして廃止にステータスを変更しました。(たぶん意味のない無駄な行為)



良く分からないのですがカートに入れるタイミング以降、そのあと
は、商品規格が外れても規格自体がテーブル上に存在すればエラー
にならない仕様なのでしょうか?なんだかそんな気がしました。商
品をカートに入れるまでがすごい厳格なイメージです。



自分は念のために、検証する時間が勿体ないのと臆病なのでもう少
し日を改めて落ち着いてから検証します。
月曜日から気分がハイになったので中日の水曜日当たりに鬱になり
ます。



自分が消した規格が、IDとしてテーブルに登録されているかどうか整合性が取れているか一番簡単な確認方法は、
admin管理画面から注文取消した受注情報についてあとから商品を沢山追加して送料無料とか割引あるなら送料再計算します。
フロントのマイページから過去注文履歴を見て、エラーにならなかったら雑におけだと思います。

あれ。規格取得の処理走るからカート閲覧出来たら雑におけなのかにゃ?
yt1969
投稿日時: 2022/5/16 16:11
対応状況: −−−
一人前
登録日: 2018/3/3
居住地:
投稿: 91
Re: 既存の商品規格を廃止ではなく削除した場合の操作について カート情報を消す 規格分類管理 規格管理 商品規格
いろいろと想像超えててすみません、、トンチンカンなこと言いましたかね。(試したくないし。。)
こうして見てると(恐縮ですが)過去の商品の物理削除とかもあんまりやりたくないなと思いました。


ところで気になったので。
引用:
受注管理画面の再計算ですが、計算が合わなかったときにボタンが押せることが分かりました。

購入処理中、決済処理中の時だけdisableにするってなってますよ。
edit.twig#L219
edit.twig#L714
erukun
投稿日時: 2022/5/16 9:01
対応状況: 保留
一人前
登録日: 2021/2/22
居住地: 国内
投稿: 114
Re: 既存の商品規格を廃止ではなく削除した場合の操作について カート情報を消す 規格分類管理 規格管理 商品規格
受注管理画面の再計算ですが、計算が合わなかったときにボタンが押せることが分かりました。(今まで知りませんでした。)

例えばポイント値引きやクーポンコードの利用が有る場合で会計がマイナスになったときですかね。

会員マイページは過去注文は参照できませんが(管理画面は出来ます)、ID・パスワード変更は出来ますので、メアドを1文字増減してもらい、
再登録してもらった方には5,000円や10,000円分クーポン進呈で決着で良いですか?

なんかコレしかないと思いました。


依然として、仮会員や非会員でカート情報や過去注文が残っている御方は管理者へ問い合わせしてくれないとダメNGという課題を残しています。
erukun
投稿日時: 2022/5/16 7:26
対応状況: 保留
一人前
登録日: 2021/2/22
居住地: 国内
投稿: 114
Re: 既存の商品規格を廃止ではなく削除した場合の操作について カート情報を消す 規格分類管理 規格管理 商品規格
あはは。ですね、もう笑うしかないです。
早いとこ修復します。あ。自動採番とかはされておらずエラーのままです。出荷済みや失注とかの情報は本当にいろいろな情報と紐づいていますし、5月病ですね。
若しかしたら握力で治るかもだけどさすがに十分な検証は必要と思いました。例外とかも有るでしょうし。。。


ちなみにエラー内容は既出のものです。
- システムエラーが発生しました。 
["An exception has been thrown during the rendering of a template (\"Entity of type 'Eccube\\Entity\\ClassCategory' for IDs id(206) was not found\").","/ec-root/app/template/default/Cart/index.twig",149,"#0
 /ec-root/var/cache/prod/twig/79/79d96981b9b975487e4b902d428fe84d8699631d68198f3c117afdf485cad6bd.php(565): Twig\\Template->displayBlock('main', Array, Array)\n#1
 /ec-root/vendor/twig/twig/src/Template.php(407): __TwigTemplate_588e2aaaed6971cb5d1d43a3cc165147f23c06bb4a0a4e1b1ba74514838da735->doDisplay(Array, Array)\n#2
 /ec-root/vendor/twig/twig/src/Template.php(380): Twig\\Template->displayWithErrorHandling(Array, Array)\n#3
 /ec-root/src/Eccube/Twig/Template.php(40): Twig\\Template->display(Array, Array)\n#4
 /ec-root/var/cache/prod/twig/c6/c6f421f41ba8faf7bde37108e9a1b8ba4510f613f502d1594d515c611402d7c7.php(45): Eccube\\Twig\\Template->display(Array, Array)\n#5
 /ec-root/vendor/twig/twig/src/Template.php(407): __TwigTemplate_e9744a440deec5185ba51545386b855fa5f60e436ee06474017f63cdc1acb0bf->doDisplay(Array, Array)\n#6
 /ec-root/vendor/twig/twig/src/Template.php(380): Twig\\Template->displayWithErrorHandling(Array, Array)\n#7 /ec-root/src/Eccube/Twig/Template.php(40): Twig\\Template->display(Array, Array)\n#8
 /ec-root/vendor/twig/twig/src/Template.php(392): Eccube\\Twig\\Template->display(Array)\n#9
 /ec-root/vendor/twig/twig/src/TemplateWrapper.php(45): Twig\\Template->render(Array, Array)\n#10
 /ec-root/vendor/twig/twig/src/Environment.php(318): Twig\\TemplateWrapper->render(Array)\n#11
 /ec-root/vendor/sensio/framework-extra-bundle/EventListener/TemplateListener.php(102): Twig\\Environment->render('Cart/index.twig', Array)\n#12
 /ec-root/vendor/symfony/event-dispatcher/EventDispatcher.php(214): Sensio\\Bundle\\FrameworkExtraBundle\\EventListener\\TemplateListener->onKernelView(Object(Symfony\\Component\\HttpKernel\\Event\\GetResponseForControllerResultEvent),
 'kernel.view', Object(Symfony\\Component\\EventDispatcher\\ContainerAwareEventDispatcher))\n#13
 /ec-root/vendor/symfony/event-dispatcher/EventDispatcher.php(44): Symfony\\Component\\EventDispatcher\\EventDispatcher->doDispatch(Array, 'kernel.view', Object(Symfony\\Component\\HttpKernel\\Event\\GetResponseForControllerResultEvent))\n#14
 /ec-root/vendor/symfony/http-kernel/HttpKernel.php(156): Symfony\\Component\\EventDispatcher\\EventDispatcher->dispatch('kernel.view', Object(Symfony\\Component\\HttpKernel\\Event\\GetResponseForControllerResultEvent))\n#15
 /ec-root/vendor/symfony/http-kernel/HttpKernel.php(68): Symfony\\Component\\HttpKernel\\HttpKernel->handleRaw(Object(Symfony\\Component\\HttpFoundation\\Request), 1)\n#16
 /ec-root/vendor/symfony/http-kernel/Kernel.php(200): Symfony\\Component\\HttpKernel\\HttpKernel->handle(Object(Symfony\\Component\\HttpFoundation\\Request), 1, true)\n#17
 /ec-root/index.php(76): Symfony\\Component\\HttpKernel\\Kernel->handle(Object(Symfony\\Component\\HttpFoundation\\Request))\n#18 {main}"]

yt1969
投稿日時: 2022/5/16 7:01
対応状況: −−−
一人前
登録日: 2018/3/3
居住地:
投稿: 91
Re: 既存の商品規格を廃止ではなく削除した場合の操作について カート情報を消す 規格分類管理 規格管理 商品規格
むむ

その再計算させたら解消するってのは、新しくorder_idが採番されてレコードが作られるからですかね。
dtb_cart
dtb_cart_item
というカート削除というより、受注情報出荷情報
dtb_order
dtb_order_item
dtb_shipping
こっちをなんとかしないとダメなのですね。
特にdtb_order_item

その新旧の商品規格の状況とかよく分かりませんけど
決済中とか購入中とかでもう無条件に消してもいい(在庫戻しも不要)とかいうならそのorder_idに関連するレコード全削除とか
旧product_class_idを新product_class_idに書き換えるとか

DB直いじったら解消するかもだけど、受注済みとか出荷済みとかに関しては今のままだときっとエラーで見られないし、かといって弄ったら証跡を改竄しちゃうことになるし、ん〜〜

・・・謝りつつの悪あがき的な。。。
erukun
投稿日時: 2022/5/16 3:37
対応状況: 確認中
一人前
登録日: 2021/2/22
居住地: 国内
投稿: 114
Re: 既存の商品規格を廃止ではなく削除した場合の操作について カート情報を消す 規格分類管理 規格管理 商品規格
ご連絡ありがとうございます。


php bin/console eccube:delete-carts '2022/04/19'

 // Deleted 451 carts.                                                          

 [OK] Delete carts successful.


となりましたがキャッシュを消してもやはり消えていませんでした。
受注登録 受注管理画面(例 /ec-root/admin/order/10512/edit)
の小計欄から旧商品規格の商品を消して新規格に紐づけした商品にして再計算できればいいのですがデフォルトだと押せないです。

もちろん既に受注や失注が有れば404エラーからは逃れられないのですが。。。



追記


受注登録 受注管理画面にて
商品名や商品個数を変更してからメール作成画面に遷移させることで便宜上再計算することは分かりました。
旧規格紐づけの商品を消して新規格紐づけの商品を明細に追加する方法です。
しかし本来の意図する仕様ではないと思いますし、エラー解消に辿り着くのは別問題のような気がします。。。受失注のタイミングでメールを飛ばしてますし、何よりDBが更に壊れていく。。。それは避けたいです。



ごめんねって潔く謝った方が早い気はする。。。。
yt1969
投稿日時: 2022/5/15 11:25
対応状況: −−−
一人前
登録日: 2018/3/3
居住地:
投稿: 91
Re: 既存の商品規格を廃止ではなく削除した場合の操作について カート情報を消す 規格分類管理 規格管理 商品規格
カート削除ですか、これとかどうなんでしょう。私は使ったことがないんですが。。

% bin/console eccube:delete-carts --help
Usage:
eccube:delete-carts <date>

Arguments:
date Deletes carts before the specified date
erukun
投稿日時: 2022/5/14 23:15
対応状況: 確認中
一人前
登録日: 2021/2/22
居住地: 国内
投稿: 114
既存の商品規格を廃止ではなく削除した場合の操作について カート情報を消す 規格分類管理 規格管理 商品規格
[EC-CUBE] EC-CUBE 4.0.6-p1 正式版(公式DL版)
[レンタルサーバ] GMO Conohawingサーバ
[OS] Linux web0168.sh.tyo1 3.10.0-962.3.2.lve1.5.39.el7.x86_64 #1 SMP Thu Sep 17 06:10:33 EDT 2020 x86_64
[PHP] PHP 7.4.25
[データベース] MySQL 5.7.27-log
[WEBサーバ] Apache + nginx (バージョン確認方法が分かりません)
[ブラウザ] 有名どころ全て
[導入プラグインの有無] 有り

Amazon Payプラグイン(V2対応版) 1.1.0 AmazonPayV2 状態: 有効

クール便・冷凍便対応プラグイン 1.0.4 DeliveryCool4 状態: 有効

メールマガジンプラグイン 4.0.2 MailMagazine4 状態: 有効

お問い合わせ管理 for EC-CUBE4 1.0.5 ContactManagement4 状態: 有効

Coupon Plugin for EC-CUBE4 4.0.7 Coupon4 状態: 有効

Paidyプラグイン 1.0.5 Paidy4 状態: 有効

Securitychecker4 4.0.0 Securitychecker4 状態: 有効

商品レビュー管理プラグイン 4.0.2

売上集計プラグイン 4.0.1 状態: 有効

クロネコヤマト カード・後払い一体型決済サービス 1.2.1
YamatoPayment4  状態: 有効

EC-CUBE Ranking Plugin 1.0.1 Ranking 状態: 有効


前提としてPurchaseFlowは特にカスタマイズしておりません。
➊商品規格を当初デフォルトテンプレートに倣って規格1、規格2の両方を設定した為に商品検索が遅くなりました。

➋そこで規格2を消すことにし、素直に商品を新しく作り直し、既存の商品規格と商品をセットで残したら良かったのですが、間違った方法をとってしまいました。

❸旧規格を消して新規格と既存商品の結び付けをしてしまいました。

❹この場合に、ステータスが【購入処理中】【決済処理中】のカートでは旧規格の商品がカートに入ってる場合に404エラーが発生します。

❺商品を旧規格と一緒にセットで廃止にすれば良かったのでしょうが、この場合に、データベースをそのまま活かして(後日作り直す予定です)利用する場合に、どの手順でカート情報を消すことが出来ますでしょうか?


カート情報を消す操作がネット上でいろいろと出回っていますが、自分の環境では失敗しているので、何かしら有益な情報が有れば教えて頂きたいです。


プラグインを利用する方法もあるかと思いますが、もともと商品関連データベースについて不整合なデータが数件あり、今回は利用したくありません。そのような理由もあるので後日修復させる予定です。取り急ぎの対処方法が有ればと思いましてトピックをあげさせていただきました。


お忙しいところ恐縮ですが何かしらヒントをいただけますと幸いです。どうぞよろしくお願いいたします。
スレッド表示 | 古いものから 前のトピック | 次のトピック | トップ


 



ログイン



統計情報

総メンバー数は76,851名です
総投稿数は105,245件です

投稿数ランキング

1
seasoft
7333
2
468
3217
3
AMUAMU
2712
4
nanasess
2275
5
umebius
2085
6
yuh
1669
7
red
1556
8
h_tanaka
1195
9
tsuji
944
10
fukap
907
11
shutta
835
12
tao_s
794
13 ramrun 789
14 karin 689
15 sumida 641
16
homan
633
17 DELIGHT 572
18
patapata
502
19
flealog
485
20 tonton 437


ネットショップの壺

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

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