Ticket #1448 (closed バグ指摘: 修正済)
ダウンロード商品の複製時にダウンロード商品用ファイルを変更すると複製元のファイルが削除される
| Reported by: | shutta | Owned by: | shutta |
|---|---|---|---|
| Priority: | 中 | Milestone: | EC-CUBE2.11.3 |
| Component: | 管理画面 | Version: | 2.11.2 |
| Keywords: | Cc: | ||
| 修正済み: | yes |
Description
コミュニティより転載
ダウンロード商品の複製
http://xoops.ec-cube.net/modules/newbb/viewtopic.php?topic_id=8684&forum=9
EC-CUBE Ver2.11.2 DBサーバー MySQL 5.5.10 既出であったならもうしわけありません。 1.管理画面でダウンロード商品を複製する 2.複製したダウンロード商品の「ダウンロード商品用ファイルアップロード 」しファイルを変更する。 3.登録する。 上記作業にて、複製前の商品のファイルが削除されます。 また編集画面にて[ファイルの取り消し]をした場合も、 既存商品も同様のファイルを参照しているので、ダウンロード不可となります。
Change History
comment:1 Changed 15 years ago by shutta
- Owner changed from somebody to shutta
- Status changed from new to assigned
comment:2 Changed 15 years ago by shutta
前半の、ダウンロード商品用ファイルを変更した際に、複製元のファイルが削除されてしまうのは、 r21202 にて修正。
後半の、[ファイルの取り消し]した場合に関して、
- 管理画面でダウンロード商品を複製する
- 「ダウンロード商品用ファイルアップロード」の欄は、何も変更せずに登録する。
上記作業にて、複製元と複製した商品が同じダウンロード商品用ファイルを参照する形で登録される。
このような状態になった場合、どちらかの商品のダウンロード商品用ファイルを「ファイルの取り消し」すると実ファイルが削除されるので、もう一方の商品はファイルがリンク切れした状態になる。
修正するとすれば、なんらかの仕様変更を検討しないといけない気がします。
- 商品の複製時には、ダウンロード商品用ファイルアップロードのファイル情報部分は複製せずに、
新規にアップロードさせる仕様に変える。
- 商品の複製時には、ダウンロード商品用ファイルアップロードのファイルを変更しなかった場合には、
複製元のファイルを別名でコピーして登録する。
どちらの修正が良いだろうか。
comment:3 Changed 15 years ago by shutta
商品画像も複製時に同様なことになるのではないか、挙動を調べてみました。
[商品画像を変更せずに複製した場合]
複製元と同じ画像ファイル名で登録される。
編集で、「画像の取り消し」をして更新してみると、dtb_productsから画像ファイル名が消されるだけで、実ファイルは削除されなかった。
ファイルは消されないので、もう一方の商品の画像はリンク切れにならない。
[商品画像を変更して複製した場合]
複製元と別の画像が登録され、複製元の画像も削除されず正常に登録できた。
更新時や、取り消し処理を比較してみると、
商品画像の取り消し処理では、実ファイルが削除されることはない。 ダウンロード商品用ファイルは、実ファイルが削除される。
と、実ファイルの扱いに違いがありますね。
なので、
- ダウンロード商品用ファイルの実ファイルを削除する処理を外してしまう
という案もありなのかなと思います。
comment:4 Changed 14 years ago by shutta
コミュニティーのスレッドの、patapataさんの
「複製」を使うときは、同一商品を作りたいわけじゃなく、既存商品を元に別の商品を作るというケースだと思うので・・・
という意見に同意なので、
r21214 にて、ダウンロード商品の複製時に、「ファイルの取り消し」をすると複製元のファイルが消されてしまうのを修正。 ダウンロード商品の複製時には、複製元のダウンロード商品情報をコピーしないようにして、新規に入力・アップロードさせるようにした。
comment:5 Changed 14 years ago by shutta
- Status changed from assigned to closed
- Resolution set to 修正済
