プロジェクト

全般

プロフィール

Backport(バックポート) #2475

opSkinClassicPlugin を使うと pc_frontend のナビゲーションでクリックできない箇所がある

Minoru Takai12年以上前に追加. 12年以上前に更新.

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

100%


説明

概要

OpenPNE にはグローバルナビ、ローカルナビがある。これは3系と2系両方に存在するが、3系と2系では項目が異なっている。

opSkinClassicPlugin は、3系で2系のデザインを模倣するスキンだが、これを用いると2系のナビ項目の名称が表示されてしまい、次の問題が生じる。

  • (P1) 2系にしか存在しない(3系で実装されていない)ナビ項目が機能しない(クリックできない項目が表示されている)
  • (P2) 3系にしか存在しないナビ項目が表示できない(項目名が2系で用いている画像で表示されているため)

これとは別に、次の問題が生じている。

  • (P3) 3系に存在するナビ項目のほとんどが機能していない(クリックできない)

このチケットでは (P3) を扱う。

補足

opSkinClassicPlugin を用いなければよいという話ではあるが、2系からのコンバートを行ったSNSはデフォルトで opSkinClassicPlugin が使われる。これを加味するとこの問題がどれほど重大であるかが考えやすいかもしれない。

バージョン

  • OpenPNE-3.6.x で生じている(ログアウトなど基本機能がクリックできない)
    • stable-3.6.x ブランチ
    • master ブランチ

OpenPNE-3.4.x では、ログアウトなどの基本機能はクリックできる。しかし 3.4.x でも、実装されているがクリックできないナビ項目が存在するかもしれない(後述の原因を参照)。

原因

この問題は主に次の 3 つの原因によるものである。

  • (C1) opSkinClassicPlugin の CSS に記述されているセレクタと、実際に出力される HTML 上の id 値が一致していない(3.6.x 以降)
  • (C2) 3系で新たに実装された機能(バンドルされたプラグインで実装された機能)に対応するナビ項目について、そのナビ項目を機能させるために opSkinClassicPlugin の CSS を書き換える(追記する)必要があるが、それを行なっていない(3.6.x 以降、もしかしたら 3.4.x でもあるかもしれない)
  • (C3) ナビゲーション項目の id 値を決定するための op_url_to_id() 関数が URL の記述の仕方(member/search か @member_search かの違い)によって、出力される値が異なっている( #257 時点からで、これは 3.3.0 対象なので、 3.4.x 以降)

修正方針

原因の (C2) については CSS に追記する対応をする。

(C1) について、 3.6.x 以降で生じているが 3.4.x では生じていない点については #1004 の修正(3.5.2 対象)がきっかけであり、この問題の根本的な原因は #2573da8aa22 で定義されている op_url_to_id() の定義 か使い方 ( glovalNav / localNav ) が誤っていることである。

(C1) については次のいずれかの方針で修正する。

  • (S1): HTML 側の出力は修正せずに CSS 側のセレクタを修正する
  • (S2): HTML 側の出力(恐らく op_url_to_id() 関数の定義)を修正する
    • この場合、既に CSS ( 3.4.x および 3.6.x 以降)に _foo と __bar のように (C3) の問題を受けた記述が存在するため、 CSS も併せて修正する必要がある

関連するチケット

関連している OpenPNE 3 - Bug(バグ) #2418: opSkinClassicPlugin を使うと pc_frontend のナビゲーションでクリックできない箇所がある Fixed(完了) 2011-09-22

関係しているリビジョン

リビジョン 02ef3d6b (差分)
Minoru Takai12年以上前に追加

(fixes #2475, BP from #2418) changed op_url_to_id() and nav templates to fix nav id format, and modified CSS of nav selectors in opSkinClassicPlugin.

履歴

#1 Minoru Takai12年以上前に更新

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

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

#2 Kousuke Ebihara12年以上前に更新

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

#3 Mutsumi Imamura12年以上前に更新

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

テストOKです。

#4 Minoru Takai12年以上前に更新

この修正の詳細については親チケット #2418 のコメントを参照してください。

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