Bug(バグ) #4026
openPC向けのテンプレートのみ存在する画面をスマートフォンで閲覧するとテーマCSSが適用されない
50%
Description
現象¶
opSkinThemePlugin は、リクエストのあった User-Agent に応じて PC 向けの CSS とスマートフォン向けの CSS を分けて出力できるが、スマートフォンで PC 向けのテンプレートのみ用意された画面を開くと PC, スマートフォン向けのいずれの CSS も読み込まれない現象が起こる。
具体的には opAuthMailAddressPlugin の新規登録画面 (/opAuthMailAddress/requestRegisterURL) などで発生する。
原因¶
opThemeEvent::enableSkinByTheme()
メソッドでは、opWebRequest::isSmartphone()
の結果が true の場合にはスマートフォン向け CSS のみを設定し、false の場合には PC 向け CSS のみを設定という動作となっている。
しかし、スマートフォンから閲覧した場合は表示される画面が常にスマートフォン向けのレイアウトであるとは限らず、PC 向けテンプレートのみ用意されている画面であれば PC 向けのレイアウトで表示される。
そのため、スマートフォンからの閲覧でかつ PC 向けのレイアウトが表示される場合に、PC 向け CSS が設定されておらずスキンが適用されていない状態で表示されていた。
修正内容¶
opWebRequest::isSmartphone()
の結果が true の場合にはスマートフォン向け CSS と PC 向け CSS の両方が設定されるように修正する。
Updated by Youichi Kimura about 8 years ago
- Status changed from Accepted(着手) to Pending Review(レビュー待ち)
- % Done changed from 0 to 50
下記 Pull Request にて修正しました。
https://github.com/tejimaya/opSkinThemePlugin/pull/18
Updated by kaoru n about 8 years ago
マージしました。
レビュー、テストがまだなのでステータスはレビュー待ちのままにしておきます。