0

我正在使用自己的代码在电子邮件发出的同时向客户发送短信。我通过获取电子邮件模板代码来做到这一点

$code = $this->getTemplateCode();

然后尝试加载相应的短信模板

$sms = $this->loadByCode('sms_'.$code)->getTemplateText();

$sms然后我在继续发送文本之前检查是否为空,这意味着我可以随意添加或删除连接的 SMS 模板。我遇到的问题是,有时,当没有连接的“sms_*”模板时,我会将完整的电子邮件作为 SMS 发送出去,而不是发送任何文本。

我已经通过发送它尝试作为实际短信加载的模板来调试代码,并收到“sms_creditmemo”,但是当我用上面的方法加载它并执行var_dump($sms); exit;它时,它显示它加载了模板“creditmemo_invoice”这是我在检测到付款方式时使用的电子邮件模板,而不是“creditmemo”。$code无论付款方式如何,我都确保在(用于加载 SMS 模板)中使用原始模板字符串。

现在我的问题是这怎么可能,loadByCode 是否采用最佳匹配模板,还是我错过了其他一些更严重的错误,也许有更好的方法来加载模板并进行正确检查以查看它们是否存在?

4

1 回答 1

0

我通过检查是否加载了正确的电子邮件模板来解决这个问题

if ($this->loadByCode($template)->getTemplateCode() == $template)
于 2013-03-07T07:19:44.910 回答