0

CookBook といくつかのコード例を見ると、view.ctp$this->App->js();にインクルードすると JS [CDATA] が出力されると思われますが、致命的なエラーが発生します。

致命的なエラー: 32 行目の /Users/work/Dropbox/Websites/cake-cart/app/View/Layouts/default.ctp の非オブジェクトに対するメンバー関数 js() の呼び出し

ログを見ると、以下に関連するディスパッチ エラーのみが表示されます。

2012-11-26 13:15:39 エラー: [MissingControllerException] コントローラー クラス CssController が見つかりませんでした。//app/webroot/index.php(92): Dispatcher->dispatch(Object(CakeRequest), Object(CakeResponse)) {main}

追跡できません。システムの知識が足りないのかもしれません。より多くの経験を積んだ人はいますか?

私のセットアップに関する唯一のこと-関連しているかどうかはわかりません-ブートストラップテーマを使用していて、AppController APP/View/Themed/Bootstrap/ でテーマを設定したことです

class AppController extends Controller {

public $theme = "Bootstrap";

... 

これは問題なくサイトを提供しているように見えます...しかし、この js() 致命的なエラーとその CSSController エラーがログに記録されています。

どんな助けでも感謝します、ありがとう。

**編集済み**

わかりました...私はこの図を取得しています。私が参照している例では、APP/View/Helper/AppHelper.php に次のようなパブリック関数を作成したようです。

class AppHelper extends Helper {

public $helpers = array(
    'Html',
    'Form',
    'Session',
    'Js',
);

public function js() {
    $shop = array();
    $shop['basePath'] = Router::url('/');
    $shop['params'] = array(
        'controller' => $this->params['controller'],
        'action' => $this->params['action'],
    );
    return $this->Html->scriptBlock('var Shop = ' . $this->Js->object($shop) . ';');
}
}

...だから、default.ctp で $this->App->js() になる理由は理にかなっています....しかし、まだエラーが発生しています

4

1 に答える 1

0

問題のあるコードを AppHelper から自分のヘルパーに移動し、メイン ページからそのヘルパーを呼び出しましたが、問題はありません。$this->App->js(); の理由がわかりませんでした。うまくいきませんでした。ええと...時々何かをするための多くの方法。

于 2012-11-27T19:41:25.620 に答える