失踪

2013-10-13 165 views
1

我使用CakePHP 2.4.1和安装CakeDC评论插件后CakePHP的主题应用和插件的视图元素,我得到了以下声明:失踪

通知(1024):找不到元素:元素\评论\平\ main.ctp [CORE \蛋糕\视图\ View.php,线415]

我的基本应用程序正在使用的主题。我初始化从AppController的beforeFilter回调主题化如下:

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

为了解决这个问题,我尝试了两种方法,其中一人成功,但另一种是不如下:

  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,此解决方案也可以工作。

我initialze从应用程序/配置/ bootstrap.php中插件如下:

CakePlugin::loadAll(); 

而从控制系统:

public function callback_commentsInitType() { 

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

以下是通知的屏幕截图: enter image description here

此外,当我尝试访问http://mywebsite.com/comments它返回关于Action CommentsController::index() could not be found.错误,在大小姐布局呈现的是混合我的主题布局和默认的CakePHP布局,下面的截图展示它:

enter image description here

在CakePHP的手册没有关于复制视图的文件没有提及插入。它应该照原样运作!我不知道为什么插件错过了它的元素?!我怎样才能使这个插件交互与应用程序的主题视图正确?

回答

1

如果知道的话,您可以为cakephp插件创建主题视图。因此在将主题中的插件复制到您的主题目录中的插件目录箱后。 将插件的View目录的内容复制到: \ app \ View \ Themed \ Slate \ Plugin \ Comments

Cake php会将此目录用于您的插件。 Like this example \ app \ View \ Themed \ Slate \ Plugin \ Comments \ Elements \ comments \ flat.ctp

+0

谢谢你这是有用的提示。 – SaidbakR