私は 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 つは次のようではありません。
- のすべてのコンテンツを作成してから、新しいディレクトリに
\Plugin\Comments\View\Themed\Slate\Elements
コピーします。\Plugin\Comments\View\Elements
ただし、この解決策は機能しません。 \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 のマニュアルには、プラグインのビュー ファイルのコピーについての言及はありません。そのまま動作するはずです!なぜプラグインが要素にアクセスできなかったのかわかりません! このプラグインをアプリのテーマ ビューで正しく操作するにはどうすればよいですか?