1

私は CakePHP 2.4.1 を使用しており、CakeDC コメント プラグインをインストールした後、次の通知を受け取りました。

注意 (1024): 要素が見つかりません: Elements\comments\flat\main.ctp [CORE\Cake\View\View.php、415 行目]

私の基本アプリケーションはテーマを使用しています。次のように、AppController beforeFilter コールバックからテーマを初期化します。

class AppController extends Controller { 
     function beforeFilter(){
     App::uses('Security', 'Utility');
     $this->theme = 'Slate';  
     $this->layout = 'blog' ;
     } 
}

この問題を解決するために、2 つの方法を試しました。1 つは成功しましたが、もう 1 つは次のようではありません。

  1. のすべてのコンテンツを作成してから、新しいディレクトリに\Plugin\Comments\View\Themed\Slate\Elementsコピーします。\Plugin\Comments\View\Elementsただし、この解決策は機能しません
  2. \Plugin\Comments\View\Elements\commentsディレクトリを にコピーしてい\app\View\Themed\Slate\Elementsます。このソリューションは正常に機能しています。このソリューションは、にコピーした場合にも機能し\app\View\Elementsます。

次のように app/Config/bootstrap.php からプラグインを初期化します。

CakePlugin::loadAll();

そしてコントローラーから:

public function callback_commentsInitType() {

        return 'flat'; // threaded, tree and flat supported
    }

以下は通知のスクリーンショットです。 ここに画像の説明を入力

さらに、アクセスしようとすると、私のテーマ レイアウトとデフォルトの CakePHP レイアウトが混在するミスのあるレイアウトでレンダリングされるhttp://mywebsite.com/commentsエラーが返されます。次のショットはそれを示しています。Action CommentsController::index() could not be found.

ここに画像の説明を入力

CakePHP のマニュアルには、プラグインのビュー ファイルのコピーについての言及はありません。そのまま動作するはずです!なぜプラグインが要素にアクセスできなかったのかわかりません! このプラグインをアプリのテーマ ビューで正しく操作するにはどうすればよいですか?

4

1 に答える 1