バグ報告 > 管理機能 > チケット#2389「未登録のおすすめ商品の削除を行うと全商品が削除されたような表示となる」について |
管理機能
スレッド表示 | 新しいものから | 前のトピック | 次のトピック | 下へ |
投稿者 | スレッド |
---|---|
sumida |
投稿日時: 2013/10/13 22:17
対応状況: −−−
|
仙人 登録日: 2013/2/10 居住地: 広島県呉市ときどき瀬戸内海 投稿: 641 |
チケット#2389「未登録のおすすめ商品の削除を行うと全商品が削除されたような表示となる」について 直接の原因:
・「商品を選択する」で商品を選ぶ。 この段階で、HTML上 おすすめ商品ID:なし 商品ID:あり カテゴリID:0 ランク:5 コメント:なし となっている。 また、DBには、登録されていない状態にある。 ・「削除」を実行する。(DBに未登録のおすすめ商品を削除) data/class/pages/admin/contents/LC_Page_Admin_Contents_Recommend.php
になっており、この段階で、商品ID,コメントに対し、'EXIST_CHECK'でエラーになっている。
この lfCheckError でエラーになっているにもかかわらず、「削除しました」となっている。 また、$arrItemsの読み直しが行われない。 そのため、他のおすすめ商品も表示されていないと思われる。 もし、lfCheckError のエラー条件を緩和し、回避させたとしても、 deleteProduct で、'best_id' がない(DBに未登録)場合、DBにアクセスしている。
そのため、lfCheckError を実行しないようにする必要がある。 修正案 data/class/pages/admin/contents/LC_Page_Admin_Contents_Recommend.php
さらに、並び替えの「上へ」「下へ」も、DBにアクセスしているので、 使用できないようにする必要がある。 (product_idは、存在するので、best_idで判断させる。) data/Smarty/templates/admin/contents/recommend.tpl
再検討事項として、 「商品を選択する」実行直後の場合は、「この内容で登録する」 既存のおすすめ商品の場合は、「この内容で登録する」という表現で良いのか否か。 追記: 「上へ」「下へ」について、動作する仕様として確定していない。 (例:おすすめ商品の1、2に登録していると仮定する) (1)登録したおすすめ商品群の最後のおすすめ商品にある「下へ」を操作しても何も変化しない。 (例:おすすめ商品2の「下へ」を操作) (2)「商品を選択する」直後に、「上へ」「下へ」を操作しても何も変化しない。 (例:おすすめ商品3で「商品を選択する」直後に、「下へ」を操作) (3)おすすめ商品が飛び番号になっているところで、「商品を選択する」直後に、「下へ」を操作すると、画面からなくなる。 (例:おすすめ商品4を登録(この時点で、おすすめ商品の1、2、4が登録されている)し、おすすめ商品3で「商品を選択する」直後に、「下へ」を操作) |
sumida |
投稿日時: 2013/10/14 8:42
対応状況: −−−
|
仙人 登録日: 2013/2/10 居住地: 広島県呉市ときどき瀬戸内海 投稿: 641 |
管理画面:おすすめ商品画面の仕様について 管理画面:おすすめ商品画面の仕様について検討してみました。
(1)「上へ」「下へ」 表示順位のある「支払方法」「配送方法」は、 「順位付けする画面」と「内容を登録する画面」とが別なので、 一覧表の最上段は、「上へ」の表示がなく、最下段は、「下へ」の表示がない。 「おすすめ商品」は、「順位付けする画面」と「内容を登録する画面」とが同じ画面にある。 そのため、内容を登録する段階で、順位付けを意識するようになる。 つまり、登録済みのおすすめ商品は、 「おすすめ商品(1)」〜「おすすめ商品(8)」の間を自由に移動したい。 (2)「商品を選択する」 商品を選択した直後は、画面上にあるだけで、DB上にはない。 そのため、「変更」「削除」「上へ」「下へ」が操作できるのは、「?」と思う。 (「商品を選択する」直後、「上へ」を実行すると、移動することなく、選択した商品がなくなる。) むしろ、「選択の変更」「選択の取消」のような別の操作体系にし、 この部分は、クライアント側で実現したほうが、 サーバ側のclassファイルもすっきりすると思う。 (3)「削除」 おすすめ商品の中間位置にある商品を削除すると、以降のおすすめ商品のrankが繰り上がる。 (SC_Helper_DB.php:sfDeleteRankRecordで繰り上げ処理を行っている。) そのため、表示は、常に前詰めされた表示になる。 しかし、おすすめ商品を跳んだ位置(おすすめ商品3までの時、おすすめ商品5)に登録しても、 おすすめ商品4は、空き地の状態である。 (1)も含めて仕様に、曖昧さが残る。 追記: 変に細工するより、他の画面同様に、 ・画面上部を、「新規登録」「編集」領域とし、 ・画面下部を、変更指示、「削除」「上へ」「下へ」の領域にする。 のもありかと思います。 この画面を触った時、第一印象は、「他の画面とは違う操作なんだ」と感じていました。 |
sumida |
投稿日時: 2014/1/2 10:35
対応状況: −−−
|
仙人 登録日: 2013/2/10 居住地: 広島県呉市ときどき瀬戸内海 投稿: 641 |
Re: チケット#2389「未登録のおすすめ商品の削除を行うと全商品が削除されたような表示となる」について このチケットについて、
チェンジセット23308 http://svn.ec-cube.net/open_trac/changeset/23308 で修正されていますが、 ロジック上、
でエラーがあったとしても、 「削除しました。」を表示するのは問題があると思います。 また、最初に投稿したように、 「商品を選択する」の直後、関数 lfCheckError を実行することも、問題があると思います。 |
sumida |
投稿日時: 2014/1/6 21:49
対応状況: −−−
|
仙人 登録日: 2013/2/10 居住地: 広島県呉市ときどき瀬戸内海 投稿: 641 |
Re: チケット#2389「未登録のおすすめ商品の削除を行うと全商品が削除されたような表示となる」について しつこいようですが、コミッターの方の反応がないので、
再検討いただきたく。 このチケットに対し、再度修正が行われていますが、修正不十分と思いますので、 再度、投稿します。 現状の削除部分の処理では、 (1)おすすめ商品を選んだ直後の削除 (2)登録済みおすすめ商品の削除(エラーが発生する場合) が同じ処理されている。 そのため、コメントに3000文字を超えて入力した状態で、「削除」を実行する。((2)のケース) 「削除しました。」と表示されながら、DBから削除されていない。 本来は、文字数が超えている旨のエラーメッセージを表示しないといけない。 (1),(2)を分けて処理しないといけない。(修正不十分とする根拠です。) また、商品の登録の場合も似たような問題があり、 (3)おすすめ商品を選んだ直後の登録 (4)登録済みおすすめ商品の登録 コメントに3000文字を超えて入力した状態で、「この内容で登録する」を実行する。 「編集が完了しました。」と表示されながら、DBは、更新されていない。 本来は、文字数が超えている旨のエラーメッセージを表示しないといけない。 コメントエラーが発生した場合、現状とは異なる処理に修正しないといけない。 修正例: data/class/pages/admin/contents/LC_Page_Admin_Contents_Recommend.php
なお、エラーメッセージ表示については、別にスレッドを立てました。 http://xoops.ec-cube.net/modules/newbb/viewtopic.php?topic_id=14056&forum=9&post_id=63090 |
nanasess |
投稿日時: 2014/1/7 9:32
対応状況: −−−
|
神 登録日: 2006/9/9 居住地: 投稿: 2318 |
Re: チケット#2389「未登録のおすすめ商品の削除を行うと全商品が削除されたような表示となる」について
|
sumida |
投稿日時: 2014/1/7 21:17
対応状況: −−−
|
仙人 登録日: 2013/2/10 居住地: 広島県呉市ときどき瀬戸内海 投稿: 641 |
Re: チケット#2389「未登録のおすすめ商品の削除を行うと全商品が削除されたような表示となる」について 対応ありがとうございます。
ただ、おすすめ商品の登録は、lfCheckError を実行する必要がありますが、 削除では、lfCheckError を実行する必要があるのでしょうか。 今回は、コメントがエラーになるデータを用いましたが、 削除する場合、 ・コメントの入力内容について無視しても良い。 ・コメント以外の入力内容がエラーの場合、使用者の操作によるエラーではない。 (EC-CUBE内の連携ミスによるエラー) とすれば、lfCheckError を実行しなくても良いように思います。
|
sumida |
投稿日時: 2014/1/13 21:16
対応状況: 解決済
|
仙人 登録日: 2013/2/10 居住地: 広島県呉市ときどき瀬戸内海 投稿: 641 |
Re: チケット#2389「未登録のおすすめ商品の削除を行うと全商品が削除されたような表示となる」について 「解決済」とさせていただきました。
|
スレッド表示 | 新しいものから | 前のトピック | 次のトピック | トップ |