操作
Bug(バグ) #3170
未完了スマートフォンでログインが必要でないページを開くとエラーが発生する
開始日:
2012-08-23
期日:
進捗率:
0%
予定工数:
3.6 で発生するか:
No (いいえ)
3.8 で発生するか:
Unknown (未調査)
説明
概要¶
スマートフォンでログインが必要でないページを開くとサーバ側でエラーが発生する.
具体的には,下記のようなエラーが発生する.下記のものはログインページを開いた場合である.
PHP Fatal error: Call to undefined function javascript_tag() /path/to/openpne/apps/pc_frontend/templates/_layout.php on line 109,
再現手順¶
- スマートフォンでログインページを開く
- メニューから「PC版に切り替え」を選択する
- Web サーバのエラーログを確認する.
- 問題のエラーログが発生する
原因¶
下記ファイルで javascript_tag() 関数を呼び出しているが,この関数を定義する部分が ログインページなどの opToolkit::isSecurePage() が false となるようなページで読み込まれず,エラーが発生する.
apps/pc_frontend/templates/_layout.php
106 <?php if ($sf_request->isSmartphone(false)): ?> 107 <div id="SmtSwitch"> 108 <a href="javascript:void(0)" id="SmtSwitchLink"><?php echo __('View this page on smartphone style') ?></a> 109 <?php echo javascript_tag(' 110 document.getElementById("SmtSwitchLink").addEventListener("click", function() { 111 opCookie.set("disable_smt", "0"); 112 location.reload(); 113 }, false); 114 ') ?> 115 </div> 116 <?php endif ?>
11 <?php if (opConfig::get('enable_jsonapi') && opToolkit::isSecurePage()): ?> 12 <?php 13 use_helper('Javascript');
操作