■ユーザーズフォーラム リニューアルのお知らせ
新規投稿は新ユーザーズフォーラムにお願いします。

スマートフォンで見るとエラーが出る

kemshim > スマートフォンで見るとエラーが出る @ 2014/7/19 16:19
お世話になっております。

現在、blue_aquaというテンプレートを使ってサイトを作成しているのですが、
スマートフォン(iPhone)でアクセスするとエラーメッセージが表示されてしまいます。

エラーは以下のようなものです。

引用:

コントローラがありません
エラー: SController が見つかりません。
エラー: クラス SController を app/Controller/SController.php ファイル内に作成してください。
class SController extends AppController {

}
注意: このエラーメッセージをカスタマイズしたい場合は、 app/View/Errors/missing_controller.ctp を作成してください
Stack Trace
• APP/webroot/index.php line 151 → Dispatcher->dispatch(CakeRequest, CakeResponse)
• ROOT/index.php line 51 → require(string)



以下のスレッドも参考にして実行してみましたが、解決できませんでした。

引用:
スマートフォン用ページが表示できない (404エラー)|フォーラム|baserCMSユーザーズ : http://forum.basercms.net/modules/newbb/viewtopic.php?topic_id=1470&forum=4


また現在のシステム設定ですが、

・スマートフォンは「対応する」にチェック
・固定ページをPCと「連動しない」にチェック

としております。


ちなみに固定ページをPCと「連動する」にチェックを入れると、以下のような違ったエラーが出力されます。

引用:
ビューがありません
エラー: ビュー BlogController::posts() が見つかりません。
エラー: ファイル /home/users/0/サーバードメイン/web/basercms/app/webroot/theme/blue_aqua/Blog/smartphone/news/posts.php を作成したことを確認してください
注意: このエラーメッセージをカスタマイズしたい場合は、 app/View/Errors/missing_view.ctp を作成してください



自分ではどうにも解決が難しく、調べても分からなかったので、こちらでご質問させていただきました。

どなたか解決策をご存知のかたがいらっしゃいましたら、何卒よろしくお願いいたします。



■ BaserCMSのバージョン:3.0.2
■ レンタルサーバー名:ロリポップ
■ スマートURLの利用: [OFF]
■ 利用しているデータベース: [MySQL]
■ PHPスキル(自己評価): [ E ]

<動作環境>
■ BaserCMSのバージョン:3.0.5.1
■ レンタルサーバー名:ロリポップ
■ スマートURLの利用: OFF
■ 設置フォルダ: 分かりません…
■ 利用しているデータベース: MySQL

goichi > Re: スマートフォンで見るとエラーが出る @ 2014/7/23 0:01
ロリポップではないのですが、同じ運営元のヘテムルで試しました。
このエラーが私の環境で起きたのは、スマホ用のページが作られていない場合で、かつデバッグモードだった時です。
まるで同じ環境でないので、間違っているかもしれませんが、まずは問題のページのスマホページが作られているかどうかをお確かめください。

引用:
ちなみに固定ページをPCと「連動する」にチェックを入れると、以下のような違ったエラーが出力されます。

という部分は、一度、置いておいて考えたほうが良いかもしれません。
すくなくとも、出ているエラーは固定ページのものではなく、ブログのエラーです。
(スマホ用のレイアウトファイルが無いと言っています。)

まずは固定ページの側から、順番に見ていくと良いと思います。

kemshim > Re: スマートフォンで見るとエラーが出る @ 2014/7/23 13:03
goichi 様

お忙しいところ、ご返信いただきましてありがとうございます。

引用:
まるで同じ環境でないので、間違っているかもしれませんが、まずは問題のページのスマホページが作られているかどうかをお確かめください。


まずこちらで試してみました。具体的には以下の方法です。

1. PC用の固定ページをすべてコピー
2. コピーした固定ページの「カテゴリー」を「スマートフォン」に変更
3. ページ名も例えば「index_copy」から「index」に変更
4. 「公開する」にチェック
5. システム設定は「スマートフォン[対応する]」「固定ページをPCと[連動しない]」にチェック

スマートフォンでアクセスしましたが、結果は変わりませんでした。

具体的にどのような現象が起きているのかというと、

1. 以下のエラーが出力される
ビューがありません
エラー: ビュー BlogController::posts() が見つかりません。
エラー: ファイル /home/users/0/サーバードメイン/web/basercms/app/webroot/theme/blue_aqua/Blog/smartphone/news/posts.php を作成したことを確認してください

注意: このエラーメッセージをカスタマイズしたい場合は、 app/View/Errors/missing_view.ctp を作成してください


2. CSSが効いていない

3. ヘッダー、スライダー、フッターなどの要素が抜けている




ただ、システム設定で「スマートフォン [対応しない]」にチェックして試して見たところトップページ以外は思い通りに表示されました


トップページでは以下のような現象が起きてしまいます。

1. エラーが表示される

コントローラがありません
エラー: SController が見つかりません。
エラー: クラス SController を app/Controller/SController.php ファイル内に作成してください。
class SController extends AppController {

}
注意: このエラーメッセージをカスタマイズしたい場合は、 app/View/Errors/missing_controller.ctp を作成してください
Stack Trace
•	APP/webroot/index.php line 151 → Dispatcher->dispatch(CakeRequest, CakeResponse) 
•	ROOT/index.php line 51 → require(string)


2. CSSは効いている

3. ヘッダーやフッターなどの要素も反映される



このケースにおいて、思い通りに表示されているURLをチェックすると、末尾に/s/がないことがわかります
この/s/を表示させないようにすると、思い通りに表示されるのではないかと思っておりますが、
その方法がわかりません。

どのような原因が考えられるのでしょうか。

貴重なお時間を頂いて申し訳ないのですが、何卒ご教授頂ければと思います。

長文になってしまい申し訳ありません。

よろしくお願いいたします。

<動作環境>
■ BaserCMSのバージョン:3.0.5.1
■ レンタルサーバー名:ロリポップ
■ スマートURLの利用: OFF
■ 設置フォルダ: 分かりません…
■ 利用しているデータベース: MySQL

goichi > Re: スマートフォンで見るとエラーが出る @ 2014/7/23 23:09
うーん、何ででしょうね。。。

引用:
まずこちらで試してみました。具体的には以下の方法です。

1. PC用の固定ページをすべてコピー
2. コピーした固定ページの「カテゴリー」を「スマートフォン」に変更
3. ページ名も例えば「index_copy」から「index」に変更
4. 「公開する」にチェック
5. システム設定は「スマートフォン[対応する]」「固定ページをPCと[連動しない]」にチェック

スマートフォンでアクセスしましたが、結果は変わりませんでした。

ということですが、この時に表示されているエラーの中に
引用:
エラー: ファイル /home/users/0/サーバードメイン/web/basercms/app/webroot/theme/blue_aqua/Blog/smartphone/news/posts.php を作成したことを確認してください

という一文がありますが、このファイルは作成されていますか?
システム管理にて「スマートフォン[対応する]」とされているので、baserCMSはスマホ用のテンプレを読みに行きます。このposts.phpというのは、例えばトップページなので、ブログの新着記事を表示する際に利用する関数blogPosts()を使うと呼び出されたと思います。もし、スマホページでこの関数を使っているなら、ページだけをスマホ用にコピーするのではなく、スマホ用のposts.phpも用意しなくてはいけません。

引用:
ただ、システム設定で「スマートフォン [対応しない]」にチェックして試して見たところトップページ以外は思い通りに表示されました。

ということで、
引用:
このケースにおいて、思い通りに表示されているURLをチェックすると、末尾に/s/がない

という状態なのですが、つまりはトップページだけ、スマホ用プレフィックス「/s/」が効いてしまっているわけですよね。本来は「スマートフォン[対応しない]」にした時点で、この「/s/」はURLにつかなくなるはずです。デバッグモードなので、変にサーバーキャッシュが残っているということも無いと思いますが、一応、システム管理でサーバーキャッシュを消してもらった上、トップページにスマホでアクセスして「/s/」に飛ばされるかどうかを確認できるでしょうか?

あと、お使いのバージョンは、最初からこのバージョンをインストールしたものでしょうか?それとも前バージョンからのバージョンアップですか?(3.0.1から3.0.2へのアップデートでは、通常のアップデートに加えて、上書きするフォルダがあります)

バシッとした回答でなくて申し訳ないのですが、思いつくところはそんな所です。待てば他の方からも回答が来るかもしれません。何はともあれ、posts.phpが見当たらない、という上述のエラーもあることなので、テーマファイルの内容を確認しておいても無駄ではないと思います。もしかしたら、一度、他のテーマ(デフォルトなど)でも、スマホアクセスを試してみて、表示できるかどうかを確認しておくと、原因の切り分けに一役買うかも知れません。

kemshim > Re: スマートフォンで見るとエラーが出る @ 2014/7/24 9:16
goichi様


いつもご返信いただき、ありがとうございます。

引用:
という状態なのですが、つまりはトップページだけ、スマホ用プレフィックス「/s/」が効いてしまっているわけですよね。本来は「スマートフォン[対応しない]」にした時点で、この「/s/」はURLにつかなくなるはずです。デバッグモードなので、変にサーバーキャッシュが残っているということも無いと思いますが、一応、システム管理でサーバーキャッシュを消してもらった上、トップページにスマホでアクセスして「/s/」に飛ばされるかどうかを確認できるでしょうか?



この方法を実施してみた結果、解決いたしました。

基本的な所を見逃しており、自分でも恥ずかしいくらいです。。。


それにも関わらず自分で事を荒立てて、goichi様の貴重なお時間を奪ってしまい申し訳ありません。

無事解決することが出来ました。

ご丁寧にアドバイスいただき、ありがとうございました。

<動作環境>
■ BaserCMSのバージョン:3.0.5.1
■ レンタルサーバー名:ロリポップ
■ スマートURLの利用: OFF
■ 設置フォルダ: 分かりません…
■ 利用しているデータベース: MySQL

akazawa > Re: スマートフォンで見るとエラーが出る @ 2015/6/27 10:56
私も同じ症状で出くわしましたので、事例ということで紹介させていただきます。

スマホ用のサイトを作っているのですが、少し前までちゃんと表示されていたのに、コンテンツをWYSIWYGエディタで編集しているうちに、以下のエラーがスマホブラウザ(Android/iPhone)に現れるようになってしまいました。

コントローラがありません
エラー: SController が見つかりません。
エラー: クラス SController を app/Controller/SController.php ファイル内に作成してください。
<?php
class SController extends AppController {

}


コンテンツを編集する際「ソース」ボタンをクリックして、HTML/CSSをべた書きしていたため、何か悪いタグ指定でもしたのかと随分苦慮しました。でも原因は単純で、ページ名の1文字目に知らないうちに「半角空白」が挿入されてしまっていたからでした(>_<) つまり、うまくいっていたときは、/s/example でアクセスしていたが、上のエラーが表示されるようになったしまった時は /s/ example でアクセスしていたというわけです。exampleの前に半角スペースがあるのが、このサイトで見えるかどうかわかりませんが、、、

WYSIWYGエディタを使っているうち、気づかずに「ページ名」欄にフォーカスがあたっていたということですね。
ま、一事例ということで。

■baserCMS: 3.0.8
■スマートURL: ON
■制作・開発モード: デバッグモード1
■設置フォルダ: Apacheのドキュメントルート
■レンタルサーバ: さくらインターネットVPS
■OS: CentOS 6
■HTTPサーバ: A

ログイン
ユーザー名:
パスワード:


  新規登録 / パスワード紛失

検索

facebook
フォーラムで悩みが解決した場合など、よかったら「いいね!」をポチっとクリックしてください!質問の回答者や開発者の励みになります

フォーラムガイド


関連リンク

オンライン状況
41 人のユーザが現在オンラインです。 (37 人のユーザが フォーラム を参照しています。)

登録ユーザ: 0
ゲスト: 41