【问题标题】:CakePHP- retrieve names of Email TemplatesCakePHP- 检索电子邮件模板的名称
【发布时间】:2014-04-10 20:42:07
【问题描述】:

我正在构建一个 CakePHP 应用程序,并试图让用户从列表中选择一个电子邮件模板,然后将其发送到他们选择的地址。我想避免硬编码模板的名称,因为它们可能会随着时间的推移而改变和更新。如何生成我拥有的所有电子邮件模板的文件名列表(在我的控制器中)?我尝试使用 CakePHP 文件夹类访问 app/view/Emails/text 的内容,如下所述:http://book.cakephp.org/2.0/en/core-utility-libraries/file-folder.html

但是,这没有用;我无法获取该目录的内容。我只需要访问文件名;一旦我得到它们,我就可以完成其余的逻辑。

【问题讨论】:

  • 为什么无法访问内容? Folder 类可以访问您的应用程序文件夹中的所有内容。至少,应该这样。你试过普通的 PHP 方法了吗?
  • 我不知道为什么它不适合我;我无法通过 Folder 类访问任何内容。我什至尝试像这样简单地访问 img 文件夹中的内容: $dir = new Folder('/img'); $files = $dir->find('.*\.png');但它回来是空的。我不熟悉香草 PHP;我去查一下
  • 我刚刚意识到我禁用了 url 重写;这会导致无法读取目录内容吗?
  • 当然可以。如果您可以启用重写 CakePHP 可以更好地展示它的魔力:)

标签: php email cakephp directory


【解决方案1】:

在你的控制器中尝试任何方法:

    App::uses('Folder', 'Utility');
    $dir = new Folder(APP . 'View/Emails/text/');
    $files = $dir->find('.*\.ctp');
    //print the array to inspect
    pr($files);

它应该向您显示 /app/View/Emails/text/ 中的所有 .ctp 模板文件

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-01-18
    • 1970-01-01
    • 2011-09-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-09-06
    相关资源
    最近更新 更多