バグ報告 > 管理機能 > 【EC-CUBE 2.13.0】おすすめ商品管理画面を更新すると並び順(rank)が繰り上が |
管理機能
スレッド表示 | 古いものから | 前のトピック | 次のトピック | 下へ |
投稿者 | スレッド |
---|---|
red |
投稿日時: 2013/10/11 15:43
対応状況: −−−
|
神 登録日: 2010/2/15 居住地: 東京都 投稿: 1574 |
Re: 【EC-CUBE 2.13.0】おすすめ商品管理画面を更新すると並び順(rank)が繰り上が 修正コミットしておきました
http://svn.ec-cube.net/open_trac/changeset/23243
|
sumida |
投稿日時: 2013/10/3 17:43
対応状況: −−−
|
仙人 登録日: 2013/2/10 居住地: 広島県呉市ときどき瀬戸内海 投稿: 641 |
Re: 【EC-CUBE 2.13.0】おすすめ商品管理画面を更新すると並び順(rank)が繰り上が よかったですね。
一応、以前のものとの仕様の相違は、前にも書きましたが、 「この内容で登録する」をクリックして、コメントを変更した場合、 変更前: best_idが新規(削除・挿入になっていたため)に割り振られていた。 変更後: best_idがそのまま(更新になったため) です。 |
yeuchi |
投稿日時: 2013/10/3 17:20
対応状況: 解決済
|
新米 登録日: 2013/10/2 居住地: 投稿: 5 |
Re: 【EC-CUBE 2.13.0】おすすめ商品管理画面を更新すると並び順(rank)が繰り上が sumida様
こちらの修正を試してみたところ、無事問題が解決しました! データを更新してもrankが繰り上がらなくなり正常な動作になりました。 おかげさまで仕組みも少し分かってきました。 いろいろと丁寧にお教えいただき本当にありがとうございました。 |
yeuchi |
投稿日時: 2013/10/3 10:10
対応状況: −−−
|
新米 登録日: 2013/10/2 居住地: 投稿: 5 |
Re: 【EC-CUBE 2.13.0】おすすめ商品管理画面を更新すると並び順(rank)が繰り上が ありがとうございます。
頂いたヒントを参考に試してみます。 結果が出ましたら報告させていただきます。 |
sumida |
投稿日時: 2013/10/2 18:05
対応状況: −−−
|
仙人 登録日: 2013/2/10 居住地: 広島県呉市ときどき瀬戸内海 投稿: 641 |
Re: 【EC-CUBE 2.13.0】おすすめ商品管理画面を更新すると並び順(rank)が繰り上が 「この内容で登録する」を使用すると、毎回、"best_id"が新しくなる仕様なので、更新ではだめなのかな〜?
「編集」で商品をかえても、"best_id"が変化しないのに、コメントの内容を登録(変更)すると、"best_id"が変化するのもへんですね。 ということで、"best_id"を変化させない仕様にすれば、 とりあえず、 data/class/pages/admin/contents/LC_Page_Admin_Contents_Recommend.php
でどうでしょう。 "best_id"が""(商品選択直後) "best_id"が""以外(コメントの変更、「編集」ボタン) saveBestProducts内で、"best_id"により、 insertとupdateを使い分けてくれます。 |
sumida |
投稿日時: 2013/10/2 16:19
対応状況: −−−
|
仙人 登録日: 2013/2/10 居住地: 広島県呉市ときどき瀬戸内海 投稿: 641 |
Re: 【EC-CUBE 2.13.0】おすすめ商品管理画面を更新すると並び順(rank)が繰り上が 使ったことのない部分なので best_id や rank の意味が、イマイチよくわかりませんが。
v2.12.5の場合 「この内容で登録する」 LC_Page_Admin_Contents_Recommend.php 入力チェック 内部関数 insertRecommendProduct 実行 内部関数 deleteProduct 実行 dtb_best_productsの該当rankのレコード削除 dtb_best_productsへレコード挿入(上記のrankで) v2.13.0の場合 「この内容で登録する」 LC_Page_Admin_Contents_Recommend.php 入力チェック 内部関数 insertRecommendProduct 実行 内部関数 deleteProduct 実行 関数 deleteBestProducts(SC_Helper_BestProducts.php) 実行 // ランク付きレコードの削除 関数 sfDeleteRankRecord(SC_Helper_DB.php) 実行 dtb_best_productsの該当best_idのレコード削除 以下の処理が追加されています。
コメントが、?なのですが。 関数 saveBestProducts(SC_Helper_BestProducts.php) 実行 dtb_best_productsへレコード挿入 と、ま〜こんなところです。 追記: ランク付きレコードの削除は、数カ所で使っているようです。 ただ、これらは、「削除」として機能しています。 今回の場合、「削除」も存在していますが、 商品を一度登録したあと(「更新」)の場合も、「削除」「挿入」で実現していました。 そのため、「削除」にある「ランクをずらす」が無条件に実行されているようです。 再追記: 商品を選択直後(dtb_best_productsにまだ登録されていない状態)でも、「削除」「挿入」を行っている。 つまり、dtb_best_productsに登録・未登録関係なしに、「削除」「挿入」を行っている。 "best_id"がない場合:挿入 "best_id"がある場合:削除(上記不都合のない)・挿入又は更新 と、使い分けた方が、後々良いのでは。 |
yeuchi |
投稿日時: 2013/10/2 15:02
対応状況: −−−
|
新米 登録日: 2013/10/2 居住地: 投稿: 5 |
Re: 【EC-CUBE 2.13.0】おすすめ商品管理画面を更新すると並び順(rank)が繰り上が ありがとうございます。
早速試してみましたが、残念ながら変化はありませんでした。 問題の起こる法則にいくつか誤りがありましたので訂正させていただきます。 ●問題が起こるのは【この内容で登録する】ボタンを押したときのみで、上・下ボタンの並べ替えでは問題なし。 ※並べ替えを事項すると、rank重複で隠れていたデータが出てきたりという現象が起こってるだけで、rankの重複は発生しません。 ●保存したデータより後ろのrankのデータが一つづつ前に繰り上がる。 例えば、2番目のデータを更新した場合は、3番目以降のデータのrankが1つずつ繰り上がり、結果rank2が重複します。 |
sumida |
投稿日時: 2013/10/2 13:09
対応状況: −−−
|
仙人 登録日: 2013/2/10 居住地: 広島県呉市ときどき瀬戸内海 投稿: 641 |
Re: 【EC-CUBE 2.13.0】おすすめ商品管理画面を更新すると並び順(rank)が繰り上が これだとどうですか。
最終確認していませんけど。 data/Smarty/templates/admin/contents/recommend.tpl 以下、削除
以下、onclick属性を修正
|
sumida |
投稿日時: 2013/10/2 11:41
対応状況: −−−
|
仙人 登録日: 2013/2/10 居住地: 広島県呉市ときどき瀬戸内海 投稿: 641 |
Re: 【EC-CUBE 2.13.0】おすすめ商品管理画面を更新すると並び順(rank)が繰り上が 追記:sumida
別件のようなので、別スレッドを立てます。 http://xoops.ec-cube.net/modules/newbb/viewtopic.php?topic_id=13384&forum=9&post_id=61002#forumpost61002 直接の解決ではありませんが。 今回のバージョンで、classが新規に作成されているようですが、 以前のバージョンから動作していたのでしょうかね? 動作確認していませんが、ソースを見ると、?と思った箇所です。 v2.12.5 data/Smarty/templates/admin/contents/recommend.tplに
の関数が用意されています。 これだと、「form1」決め打ちなので、おすすめ商品のどれでも、移動させれば、 「おすすめ商品1」が対象となるようですけど。 v2.13.0も決め打ちではありませんが、window.confirmがあり同じでした。 ただ、何となく、これは、別件のような気が。 あと、v2.12.5では、 data/class/pages/admin/contents/LC_Page_Admin_Contents_Recommend.php
により、変更する部分を再度DBから取得しています。 今回、v2.13.0では、この処理がなくなっています。 追記: v2.12.5では、テンプレートが、form1固定になっていて、本来のデータと異なっていた(rankだけ正しい)ため、 正しいデータを取得するために、再取得(rankを使って)していなのかな。 |
yeuchi |
投稿日時: 2013/10/2 10:42
対応状況: −−−
|
新米 登録日: 2013/10/2 居住地: 投稿: 5 |
【EC-CUBE 2.13.0】おすすめ商品管理画面を更新すると並び順(rank)が繰り上が バージョン 2.13.0
PHP 5.3.6 PostgreSQL 8.4.8 の環境で構築しておりますが、管理画面のおすすめ商品管理で、登録済みのデー タを、保存し直したり、並べ替えたり、何らかの更新を加えると、その他の登録 済みデータの並び順(rankの値)が繰り上がり、且つrankの値に重複が発生します。 rankの値が重複したデータは、そのうちの1点のみしか管理画面に表示されなく なります。 DBを確認しながら、登録済みデータの更新を繰り返していくと、最終的にすべて のデータのrankの値が[1]になってしまい、管理画面では1つの商品しか表示され なくなりました。フロント画面では全てが表示されます。 プラグインは結構入れておりますが、カスタマイズは行っていません。 検索してみましたがヒントをみつけられす困っております。 どなたかご教示頂けませんでしょうか。 よろしくお願いします。 |
スレッド表示 | 古いものから | 前のトピック | 次のトピック | トップ |