Project

General

Profile

Actions

Bug(バグ) #4026

open

PC向けのテンプレートのみ存在する画面をスマートフォンで閲覧するとテーマCSSが適用されない

Added by Youichi Kimura about 8 years ago. Updated about 8 years ago.

Status:
Pending Review(レビュー待ち)
Priority:
Normal(通常)
Target version:
-
Start date:
2016-10-19
Due date:
% Done:

50%

Estimated time:
3.6 で発生するか:
Unknown (未調査)
3.8 で発生するか:
Unknown (未調査)

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 の両方が設定されるように修正する。

Actions

Also available in: Atom PDF