Ticket #2581 (closed バグ指摘: 修正済)

Opened 6 years ago

Last modified 6 years ago

おすすめ商品管理> 最後尾のおすすめ商品の「下へ」ボタンが動作しない

Reported by: shutta Owned by: shutta
Priority: Milestone: EC-CUBE2.13.3
Component: 管理画面 Version: 2.13.2
Keywords: Cc:
修正済み: yes

Description (last modified by shutta) (diff)

コミュニティにて下記報告を頂いた。

v2.13 管理画面:(最後尾の)おすすめ商品の「下へ」ボタンが動作しない。
 http://xoops.ec-cube.net/modules/newbb/viewtopic.php?topic_id=14763&forum=9&post_id=66087

(2)最後尾のおすすめ商品の「下へ」ボタンが動作しない
他のスレッドで取り上げましたが、埋もれてしまったので再掲します。
http://xoops.ec-cube.net/modules/newbb/viewtopic.php?viewmode=thread&topic_id=13629&forum=7
最後尾のおすすめ商品では、「下へ」ボタンが動作しない不具合があります。
原因:
  実処理を、DBにあるおすすめ商品に対して行っているが、この処理で、最後尾を後ろに移動させる処理が考慮されていない。
  (他(支払方法等)の順序を入れ替える部分では、最後尾を下へ移動する機能は無いため。)
対策:
  (a)最後尾のおすすめ商品は、「下へ」ボタンを表示しない。
    (簡単ではあるが、画面の操作仕様として?がある。)
  (b)最後尾を後ろに移動させる処理を追加する。
    (共通化されている処理に例外ケースを追加することになる。)

Change History

comment:1 Changed 6 years ago by shutta

  • Owner changed from somebody to shutta
  • Status changed from new to assigned

comment:2 Changed 6 years ago by shutta

  • Description modified (diff)

comment:3 Changed 6 years ago by shutta

  • 修正済み set

 http://xoops.ec-cube.net/modules/newbb/viewtopic.php?viewmode=thread&topic_id=14763&forum=9&post_id=66093#forumpost66093

経緯を調べてみると、
2.4系の頃には、並べ替え機能がなく、
2.12系の

#1789 おすすめ商品管理に並び替え機能を追加する。
http://svn.ec-cube.net/open_trac/ticket/1789

チェンジセット 21802
http://svn.ec-cube.net/open_trac/changeset/21802

で追加されていました。

また、このテーブルのrankは他のテーブルのrankとは扱いが異なっています。
他のテーブルはrankの降順で並ぶようになっていますが、dtb_best_productsは昇順で並ぶようになっています。
rankの意味合いとしては、ダイレクトに何番目に表示するかを意味しているようにも取れます。

また、おすすめ商品は好きな場所(rank)に登録が可能になっており、意図的に歯抜けにして登録することが可能になっています。

上記の点から、他の並び替え(rank)の扱いとは異なるおすすめ商品独自の扱いをしないといけないのではないかと思いました。

というわけで、対応としては、

引用:
(b)最後尾を後ろに移動させる処理を追加する。
  (共通化されている処理に例外ケースを追加することになる。)

の方で検討しています。

r23568 にて、改修。

comment:4 Changed 6 years ago by shutta

 http://xoops.ec-cube.net/modules/newbb/viewtopic.php?viewmode=thread&topic_id=13629&forum=7&post_id=61690#forumpost61690

管理画面:おすすめ商品管理画面での「並べ替え(上へ・下へ)」の仕様について
他のスレッドに併記していたものを、再検討し再掲しました。
http://xoops.ec-cube.net/modules/newbb/viewtopic.php?topic_id=13470&forum=9&post_id=61244#forumpost61244

「上へ」「下へ」について、仕様として確定していないように思います。

(1)おすすめ商品の1、2に登録していると仮定した場合
登録したおすすめ商品群の最後のおすすめ商品にある「下へ」を操作しても何も変化しない。
(おすすめ商品2の「下へ」を操作しても変化がない。)

(2)おすすめ商品の1、2、4に登録していると仮定した場合
登録したおすすめ商品群の中間のおすすめ商品にある「上へ」「下へ」を操作すると指示どおり移動する。
(おすすめ商品2の「下へ」、おすすめ商品4の「上へ」を操作すると指示どおり移動する。)

つまり、(2)の仕様からすると、(1)においておすすめ商品2の「下へ」によっておすすめ商品3に移動しなければならない。
(画面には、「下へ」を表示しているのだから。)

(3)「商品を選択する」により商品を選択した直後(「この内容で登録する」を操作していない)の場合
このおすすめ商品の「上へ」「下へ」を操作すると選択した商品が消える。
(画面には、「上へ」「下へ」を表示している。)


そこで勝手に、おすすめ商品画面の仕様について検討してみました。

(1)「上へ」「下へ」
表示順位のある「支払方法」「配送方法」は、「順位付けする画面」と「内容を登録する画面」とが別なので、一覧表の最上段は、「上へ」の表示がなく、最下段は、「下へ」の表示がない。
「おすすめ商品」は、「順位付けする画面」と「内容を登録する画面」とが同じ画面にある。
そのため、内容を登録する段階で、順位付けを意識するようになる。
つまり、登録済みのおすすめ商品は、
「おすすめ商品(1)」~「おすすめ商品(8)」の間を自由に移動したいのでは。

(2)「商品を選択する」
商品を選択した直後は、画面上にあるだけで、DB上にはない。
そのため、「編集」「削除」「上へ」「下へ」が操作できるのは、「?」と思う。
むしろ、「選択の変更」「選択の取消」のような別の操作体系にするのもありかな。
(現状:「編集」= おすすめ商品の画像変更。編集とは違うような。)

(3)「削除」
おすすめ商品の中間位置にある商品を削除すると、以降のおすすめ商品のrankが繰り上がる。
(SC_Helper_DB.php:sfDeleteRankRecordで繰り上げ処理を行っている。)
そのため、表示は、常に前詰めされた表示になる。
しかし、おすすめ商品を跳んだ位置(おすすめ商品1、2の時、おすすめ商品4)に登録しても、おすすめ商品3は、空き地の状態である。
空き地を許す仕様であれば、前詰めするのもどうかな。


変に細工するより、他の画面同様に、
・画面上部を、「新規登録」「編集」領域とし、
・画面下部を、変更指示、「削除」「上へ」「下へ」の領域にする。
のもありかと思います。
この画面を触った時、第一印象は、「他の画面とは違う操作なんだ」と感じていました。

削除に関して、 r23568 にて、さらに「空き地を許す」状況になったので、削除時には上下のrankを詰めないように変更しました。(r23569)

comment:5 Changed 6 years ago by shinichi_takahashi

  • Status changed from assigned to closed
  • Resolution set to 修正済

shutta様

ご対応ありがとうございます。 動作の確認ができましたのでクローズさせていただきます。

Note: See TracTickets for help on using tickets.