将变量从一个模板传递到另一个模板

时间:2016-02-29 20:07:53

标签: silverstripe

使用Silverstripe模板,我可以将变量从一个包传递到另一个吗?

在Order_ConfirmationEmail.ss <% include Order SendingEmail=true %>内。将$ SendingEmail设置为true。

在Order.ss中,将$ SendingEmail通过另一个模板传递给另一个模板:

<% include Order_Content SendingEmail=$SendingEmail %>

然后在Order_Content.ss中使用变量$ SendingEmail:

<% if $SendingEmail %>We are sending an email <% end_if %>

不幸的是,$ SendingEmail在Order_Content.ss中没有值(它在Order.ss中有)。这种方法可行吗?有没有更好的办法。提前谢谢。

1 个答案:

答案 0 :(得分:0)

它应该。不幸的是,我不确定所有的细节,但据我所知,这是一件事(能够传递范围内的任何变量)。但是你可能应该注意一些警告。最大的一个是范围。如果您在任何时候更改了上下文(并且您有多个层,因此这有可能),您需要确保您尝试引用的变量在范围内。否则它将是空白的,因此在进一步提及它时报告。这是模板中最常见的问题,所以它总是需要支付双倍(三倍)检查。