2012-01-16 6 views
0

)ユーザモデル、プロファイルモデル、ユーザコントローラを持つプラグインがあります。このユーザモデルでは、プロファイルモデルに関連付けられています。私のメインモデルフォルダ(アプリケーションの下)に、私はユーザモデルとユーザコントローラを持っています(ここで私はプロファイルに関連付けられていません)。ユーザーモデルがプロファイルモデルに関連付けられていないというエラーが表示されることがあります。また、時々私はエラーを取得しています - "ユーザーコントローラーにアクションログアウトがありません"。私はapp/controller/userscontrollerでログアウトアクションを与えましたが、そのメソッドはmyplugin/usercontrollerでは利用できません。私はcakephp2.0を使っています..どうすればこの問題を解決できますか? cakephpがモデルとコントローラのキャッシュを設定する方法は?私はキャッシュを完全に無効にしたくありません。cakephpプラグインモデル/コントローラキャッシュに関する問題(本体モデル/コントローラ

答えて

2

私もこれに問題がありました。基本的には、Cakeは同じクラス名のコントローラをサポートしていないという事実になります。そのため、プラグインとアプリレベルのコントローラUsersControllerは、キャッシングや一部のコンポーネント(たとえば、Authコンポーネント)に問題を引き起こします。

Cakeアプリケーションのさまざまなレベルで同じクラス名をサポートするには、PHP 5.3が必要です.Cake 5.3では、重複したクラス名を正しく処理するために必要な名前空間もサポートされています。

2.0ブランチがベータ版であるため、Cake 3.0がリリースされることはありません。プラグイン名をコントローラ、ビュー、モデルに追加することでプラグインをリファクタリングしました。

従ってPluginUserModelとなり、UsersControllerPluginUsersControllerとなった。モデルの名前を使用するすべてのビューと変数を更新する必要があるため、ちょっと面倒です。

My original question

はまさに、これは..あなたがファイルを適用しているためImが探しているものです。..同様の質問が上がったケーキのバグトラッカーへのリンク、あなたは、

+0

おかげでたくさんのいくつかの背景に興味があるはずですが含まれていますバグ(http://cakephp.lighthouseapp.com/projects/42648/tickets/2378)に記載されていますか? – binoy

+1

私はしましたが、問題を解決していないようです。 'cake_core_file_map'はまだコントローラへの参照が矛盾していますが、おそらく他の問題を引き起こします。このレポートhttp://cakephp.lighthouseapp.com/projects/42648/tickets/1884には、修正内容と開発者の反応があります。コントローラ、ビュー、モデルをリファクタリングするのがおそらく最も安全な方法でしょう。 – mensch

+0

もう一度ありがとう – binoy