【问题标题】:Using Helper in view generated by console/shell in CakePHP在 CakePHP 中控制台/shell 生成的视图中使用 Helper
【发布时间】:2012-09-26 11:33:17
【问题描述】:

我想在通过 CakePHP 控制台生成的电子邮件视图中使用自定义和核心 Html-Helper CakePHP 2.x。我以正常方式使用 CakeEmail,但无法掌握如何包含帮助程序。

如何在通过 CakePHP 控制台生成的视图中使用/添加/包含帮助器?

public $helpers = array('Html'); 添加到shell 不起作用。

【问题讨论】:

  • 澄清: 似乎我误解了错误:视图没有缺少帮助程序,它缺少基本 URL。如果您发现自己的情况是您认为 Html-Helper 由于未返回完整 URL 而无法工作,请参阅此处:stackoverflow.com/questions/11109785/…

标签: cakephp console helper cakephp-2.1


【解决方案1】:

对于 CakePHP 1.3,我做的有点脏,但它可以工作

App::import("Core", "Controller");
App::import("Controller", "App");

class SomeShell extends Shell { 

  function startup() { 
    $this->Controller =& new AppController();

    ...
  }
}

并且 AppController 在我的电子邮件模板中使用了我需要的帮助器。你怎么看?

【讨论】:

    【解决方案2】:

    它记录在这里: http://book.cakephp.org/2.0/en/core-utility-libraries/email.html#sending-templated-emails

    $email->helpers(array('Html', 'Custom', 'Text'));
    

    【讨论】:

      【解决方案3】:

      这应该在 shell 中工作(但只在低于 2.x 的 cakePHP 中):

      App::import('Core', 'Helper');
      
      $html = new HtmlHelper();
      

      【讨论】:

      • 你还需要传递一个 View 对象
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2012-07-18
      • 2011-05-23
      • 1970-01-01
      • 2012-10-23
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多