我正在编写一个shell,它会向在我们网站上发布消息的用户发送电子邮件。电子邮件是通过Mandrill完成的,并以插件的形式提供。
这是路径:
/app/Plugin/mandrill/Controller/Component/MandrillComponent.php
以下回复SO帖子(http://stackoverflow.com/questions/10880694/using-a-plugin-component-from-shell-class-in-cakephp-2-0-2),我有以下内容:
App::uses('Controller', 'Controller');
App::uses('ComponentCollection', 'Controller');
App::uses('MandrillComponent', 'mandrill.Controller/Component');`
$Collection = new ComponentCollection();
$Mandrill = new MandrillComponent($Collection);
我通过Console / cake NotifyMailer运行shell,但收到错误:无法找到插件mandrill。
我一直在努力解决这个问题,所以任何帮助都会非常感激。
谢谢!
答案 0 :(得分:0)
您是否已将您的插件加载到Config / bootstrap.php中?
http://book.cakephp.org/2.0/en/plugins.html
CakePlugin::loadAll(); // Loads all plugins at once
CakePlugin::load('Mandrill'); //Loads a single plugin
我认为通过cakephp 2.x约定你所有的插件应该以大写字母开头即。 Mandrill而不是mandrill