Backport(バックポート) #1581
A community category is sorted not in order of column sort_order of table community_category but in order of ID. (コミュニティカテゴリがテーブルcommunity_categoryのカラムsort_orderではなく、ID順にソートされる)
100%
Description
Overview (現象)¶
2系から3系へアップデートのアップデート時に以下の操作を行うと、コミュニティカテゴリがテーブルcommunity_categoryのカラムsort_orderではなく、ID順にソートされる
前提 ・2.12のときに、コミュニティカテゴリのIDとsort_orderの並びが違う状態 (後から追加し、カテゴリ的には既存のものより上にしたいため) 結果 ・そのデータをupgrade する ・OpenPNE3で参照しているテーブルcommunity_categoryのカラムsort_order ではなく、ID順にソートされてプルダウンメニューに表示される
再現バージョン¶
- OpenPNE2.12 → 3.4.6
Causes (原因)¶
community_category テーブルからレコードを取得する際のSQLで、sort_order カラムを order by に指定していない。
また、管理画面でのソートに対応しておらず、
OpenPNE3 で追加したカテゴリのsort_order カラムの値が null になっています。
Way to fix (修正内容)¶
community_category を取得する際、随所で以下のようなコードとなっている。
Doctrine::getTable('CommunityCategory')->createQuery()->where('lft > 1');
where句の指定はすべて共通であるため、CommunityCategoryTable に getAllChildrenQuery() を追加して共通化し、
このメソッド内で「order by sort_order」を付加するように修正する。
この修正によってコミュニティ検索などのプルダウン選択ではソートが正しく機能するようになりますが、
管理画面ではソート順の反映は行われません。
報告元¶
http://sns.openpne.jp/diary/24997 から転載
2.12から3.4.6へアップデートした環境で、 前提 ・2.12のときに、コミュニティカテゴリのIDとsort_orderの並びが違う状態 (後から追加し、カテゴリ的には既存のものより上にしたいため) 結果 ・そのデータをupgrade する ・OpenPNE3で参照しているテーブルcommunity_categoryのカラムsort_order ではなく、ID順にソートされてプルダウンメニューに表示される
Related issues
Associated revisions
History
#1
Updated by Masato Nagasawa almost 12 years ago
- Subject changed from コミュニティカテゴリがテーブルcommunity_categoryのカラムsort_orderではなく、ID順にソートされる to A community category is sorted not in order of column sort_order of table community_category but in order of ID. (コミュニティカテゴリがテーブルcommunity_categoryのカラムsort_orderではなく、ID順にソートされる)
#2
Updated by Masato Nagasawa almost 12 years ago
- Status changed from Accepted(着手) to Pending Review(レビュー待ち)
- % Done changed from 0 to 50
更新履歴 967546534580768c9755f031b85218c0fc80bbf9 で適用されました。
#3
Updated by Masato Nagasawa almost 12 years ago
- Target version changed from OpenPNE 3.4.9 to OpenPNE 3.4.8
#4
Updated by Shogo Kawahara almost 12 years ago
- Status changed from Pending Review(レビュー待ち) to Rejected(差し戻し)
#1528 差し戻しによるステータス変更
#5
Updated by Masato Nagasawa almost 12 years ago
- Status changed from Rejected(差し戻し) to Pending Review(レビュー待ち)
更新履歴 b01aedcbef8966cdd6eb917fc2a1bdec61c072bc で適用されました。
#6
Updated by Masato Nagasawa almost 12 years ago
更新履歴 888f0742ca89f0deb5376da143756700ef363580 で適用されました。
#7
Updated by Masato Nagasawa almost 12 years ago
更新履歴 8254beb04191acc5d6f18975ec3475d16e7651e1 で適用されました。
#8
Updated by Masato Nagasawa almost 12 years ago
- Status changed from Pending Review(レビュー待ち) to Rejected(差し戻し)
- Target version changed from OpenPNE 3.4.8 to OpenPNE 3.4.9
3.4.9にて対応します。
#9
Updated by Shinichi Urabe almost 12 years ago
- Status changed from Rejected(差し戻し) to Pending Fixing(修正待ち)
#10
Updated by Masato Nagasawa over 11 years ago
- Status changed from Pending Fixing(修正待ち) to Pending Review(レビュー待ち)
更新履歴 02dd3d16ca6d88215c88353bc2a423e6bd1a81d2 で適用されました。
#11
Updated by Masato Nagasawa over 11 years ago
更新履歴 3bb6f4d1b9fab64b7dbd68a984d93d73075e1184 で適用されました。
#12
Updated by Mutsumi Imamura over 11 years ago
- File befor_214to34_upgrade.png View added
- File after_214to34_upgrade.png View added
アップグレード動作を確認しましたが、ID順にソートされてしまいました。
再度、ご確認をお願いいたします。
#13
Updated by Mutsumi Imamura over 11 years ago
- Status changed from Pending Review(レビュー待ち) to Rejected(差し戻し)
#14
Updated by Masato Nagasawa over 11 years ago
- Status changed from Rejected(差し戻し) to Accepted(着手)
#15
Updated by Masato Nagasawa over 11 years ago
- Status changed from Accepted(着手) to Pending Review(レビュー待ち)
管理画面ではソートには対応していません。
チケット #1528 で以下のようにコメントしていましたが、修正内容にこの事を明記していなかったため追記しておきました。
現状カテゴリのソートカラムにはnullが入っているため、 nullのカテゴリについては1より順番が上になります。 コミュニティカテゴリのソート順自体変更する機構が存在していないため、 これについては別チケットで対応する必要があると思います。
#16
Updated by Mutsumi Imamura over 11 years ago
管理画面でソートに対応していない件について承知しました。
/mobile_frontend.php/community/searchのデフォルト画面でカテゴリ一覧が表示されますが、その表示順がID順に表示される件については別issuesで対応ということにします。
その他については特に問題ありません。
#17
Updated by Rimpei Ogawa over 11 years ago
- Status changed from Pending Review(レビュー待ち) to Pending Testing(テスト待ち)
- % Done changed from 50 to 70
#18
Updated by Shinichi Urabe over 11 years ago
- Status changed from Pending Testing(テスト待ち) to Fixed(完了)
- % Done changed from 70 to 100
Imamura Mutsumi は書きました:
管理画面でソートに対応していない件について承知しました。
/mobile_frontend.php/community/searchのデフォルト画面でカテゴリ一覧が表示されますが、その表示順がID順に表示される件については別issuesで対応ということにします。その他については特に問題ありません。
上記は #1796 を作りました。このチケットはクローズします