プロジェクト

全般

プロフィール

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順にソートされる)

Masato Nagasawa13年以上前に追加. 13年以上前に更新.

ステータス:
Fixed(完了)
優先度:
Normal(通常)
担当者:
対象バージョン:
開始日:
2010-08-25
期日:
進捗率:

100%


説明

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順にソートされてプルダウンメニューに表示される

befor_214to34_upgrade.png 表示 (20.5 KB) Mutsumi Imamura, 2010-11-15 14:49

after_214to34_upgrade.png 表示 (9 KB) Mutsumi Imamura, 2010-11-15 14:49


関連するチケット

関連している OpenPNE 3 - Backport(バックポート) #1580: 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順にソートされる) Fixed(完了) 2010-08-25
関連している OpenPNE 3 - Bug(バグ) #1528: 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順にソートされる) Fixed(完了) 2010-08-25

関係しているリビジョン

リビジョン 96754653 (差分)
Masato Nagasawa13年以上前に追加

fixed sort of the community category. (fixes #1581 BP from #1528)

リビジョン b01aedcb (差分)
Masato Nagasawa13年以上前に追加

fixed updated unit test of the community category table class. (fixes #1581 BP from #1528)

リビジョン 8254beb0 (差分)
Masato Nagasawa13年以上前に追加

Revert "fixed updated unit test of the community category table class. (fixes #1581 BP from #1528)"

This reverts commit b01aedcbef8966cdd6eb917fc2a1bdec61c072bc.

リビジョン 888f0742 (差分)
Masato Nagasawa13年以上前に追加

Revert "fixed sort of the community category. (fixes #1581 BP from #1528)"

This reverts commit 967546534580768c9755f031b85218c0fc80bbf9.

リビジョン 3bb6f4d1 (差分)
Masato Nagasawa13年以上前に追加

fixed sort of the community category. (fixes #1581 BP from #1528)

リビジョン 02dd3d16 (差分)
Masato Nagasawa13年以上前に追加

fixed updated unit test of the community category table class. (fixes #1581 BP from #1528)

履歴

#1 Masato Nagasawa13年以上前に更新

  • 題名コミュニティカテゴリがテーブルcommunity_categoryのカラムsort_orderではなく、ID順にソートされる から 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 Masato Nagasawa13年以上前に更新

  • ステータスAccepted(着手) から Pending Review(レビュー待ち) に変更
  • 進捗率0 から 50 に変更

更新履歴 967546534580768c9755f031b85218c0fc80bbf9 で適用されました。

#3 Masato Nagasawa13年以上前に更新

  • 対象バージョンOpenPNE 3.4.9 から OpenPNE 3.4.8 に変更

#4 Shogo Kawahara13年以上前に更新

  • ステータスPending Review(レビュー待ち) から Rejected(差し戻し) に変更

#1528 差し戻しによるステータス変更

#5 Masato Nagasawa13年以上前に更新

  • ステータスRejected(差し戻し) から Pending Review(レビュー待ち) に変更

更新履歴 b01aedcbef8966cdd6eb917fc2a1bdec61c072bc で適用されました。

#6 Masato Nagasawa13年以上前に更新

更新履歴 888f0742ca89f0deb5376da143756700ef363580 で適用されました。

#7 Masato Nagasawa13年以上前に更新

更新履歴 8254beb04191acc5d6f18975ec3475d16e7651e1 で適用されました。

#8 Masato Nagasawa13年以上前に更新

  • ステータスPending Review(レビュー待ち) から Rejected(差し戻し) に変更
  • 対象バージョンOpenPNE 3.4.8 から OpenPNE 3.4.9 に変更

3.4.9にて対応します。

#9 Shinichi Urabe13年以上前に更新

  • ステータスRejected(差し戻し) から Pending Fixing(修正待ち) に変更

#10 Masato Nagasawa13年以上前に更新

  • ステータスPending Fixing(修正待ち) から Pending Review(レビュー待ち) に変更

更新履歴 02dd3d16ca6d88215c88353bc2a423e6bd1a81d2 で適用されました。

#11 Masato Nagasawa13年以上前に更新

更新履歴 3bb6f4d1b9fab64b7dbd68a984d93d73075e1184 で適用されました。

#12 Mutsumi Imamura13年以上前に更新

アップグレード動作を確認しましたが、ID順にソートされてしまいました。
再度、ご確認をお願いいたします。

#13 Mutsumi Imamura13年以上前に更新

  • ステータスPending Review(レビュー待ち) から Rejected(差し戻し) に変更

#14 Masato Nagasawa13年以上前に更新

  • ステータスRejected(差し戻し) から Accepted(着手) に変更

#15 Masato Nagasawa13年以上前に更新

  • ステータスAccepted(着手) から Pending Review(レビュー待ち) に変更

管理画面ではソートには対応していません。
チケット #1528 で以下のようにコメントしていましたが、修正内容にこの事を明記していなかったため追記しておきました。

現状カテゴリのソートカラムにはnullが入っているため、
nullのカテゴリについては1より順番が上になります。
コミュニティカテゴリのソート順自体変更する機構が存在していないため、
これについては別チケットで対応する必要があると思います。

#16 Mutsumi Imamura13年以上前に更新

管理画面でソートに対応していない件について承知しました。
/mobile_frontend.php/community/searchのデフォルト画面でカテゴリ一覧が表示されますが、その表示順がID順に表示される件については別issuesで対応ということにします。

その他については特に問題ありません。

#17 Rimpei Ogawa13年以上前に更新

  • ステータスPending Review(レビュー待ち) から Pending Testing(テスト待ち) に変更
  • 進捗率50 から 70 に変更

#18 Shinichi Urabe13年以上前に更新

  • ステータスPending Testing(テスト待ち) から Fixed(完了) に変更
  • 進捗率70 から 100 に変更

Imamura Mutsumi は書きました:

管理画面でソートに対応していない件について承知しました。
/mobile_frontend.php/community/searchのデフォルト画面でカテゴリ一覧が表示されますが、その表示順がID順に表示される件については別issuesで対応ということにします。

その他については特に問題ありません。

上記は #1796 を作りました。このチケットはクローズします

他の形式にエクスポート: Atom PDF