我使用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' ;
}
}
为了解决这个问题,我尝试了两种方法,其中一种方法成功,但另一方面不如下:
\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
}
以下是该通知的屏幕截图:
此外,当我尝试访问http://mywebsite.com/comments
时,它返回有关Action CommentsController::index() could not be found.
的错误,该错误以missy布局呈现,混合了我的主题布局和默认的CakePHP布局,以下镜头演示了它:
在CakePHP手册中,没有提及复制插件的视图文件。它应该工作原样!我不知道为什么这个插件错过了它的元素?!如何使用应用程序的主题视图正确地进行此插件交互?
答案 0 :(得分:1)
如果您熟悉,可以为cakephp插件创建主题视图。所以你把这个插件复制到你的主题目录主题的插件目录包中。 将插件的View目录的内容复制到: \应用\视图\主题\板岩\插件\评论
Cake php会将此目录用于您的插件。 喜欢这个例子\ app \ View \ Themed \ Slate \ Plugin \ Comments \ Elements \ comments \ flat.ctp