【问题标题】:Cakephp: Referring to one block of code in a view and email templateCakephp:在视图和电子邮件模板中引用一段代码
【发布时间】:2011-07-26 08:59:21
【问题描述】:

所以我已经完成了当前项目的视图文件,现在我正在实现用户通过电子邮件将该视图发送给其他人的功能。我希望能够重用此视图文件中的代码,而不是将其复制/粘贴到电子邮件模板中。当用户希望我更改视图的一部分时(这与 DRY 的对立面),这只是在寻找问题。

如何获取代码块并将其移动到电子邮件和视图模板都可以使用的共享模板文件中?我仍然需要在电子邮件模板中添加一些特定的 css,所以仅仅让电子邮件引用视图的 ctp 文件并不是一个足够好的选择。

如果我只是编写自己的 php 文件(不使用 cake 框架),我会将一段代码放在另一个文件中,并在视图和电子邮件文件中使用包含语句。我应该如何在 cakephp 中做到这一点?

谢谢! 约翰

【问题讨论】:

    标签: cakephp


    【解决方案1】:

    检查元素:

    http://book.cakephp.org/view/1081/Elements

    它们允许您完全按照您的描述进行操作。

    因此,您将创建您的元素(共享代码),然后在您的电子邮件和视图中使用它。

    echo $this->element('some_element');
    

    【讨论】:

    • 建议:根据您的 CSS,您必须有一个单独的电子邮件视图或元素。电子邮件客户端中的 CSS 支持并没有那么好。见campaignmonitor.com/css
    • 是的,我确实在创建元素引用后不久就遇到了这个问题。我最终为 IsEmail 传递了一个标志,然后在元素中声明了一些复制的 css,这些 css 不会出现在页面渲染中(以便覆盖现有的 css)。有点难看,而且有点干,但我宁愿处理风格问题而不是内容问题!
    猜你喜欢
    • 1970-01-01
    • 2017-11-15
    • 1970-01-01
    • 1970-01-01
    • 2011-01-18
    • 2011-05-21
    • 2012-09-21
    • 1970-01-01
    相关资源
    最近更新 更多