我正在使用自己的代码在电子邮件发出的同时向客户发送短信。我通过使用
获取电子邮件模板代码来完成此操作$code = $this->getTemplateCode();
然后尝试使用
加载相应的SMS模板$sms = $this->loadByCode('sms_'.$code)->getTemplateText();
然后在继续发送文本之前检查$sms
是否为空,这意味着我可以随意添加或删除已连接的SMS模板。我遇到的问题是,有时候,当没有连接的“sms_ *”模板时,我会收到完整的电子邮件作为短信发送而不是没有发送文本。
我通过发送试图加载的模板作为实际的SMS来调试代码,并收到“sms_creditmemo”,但是当我用上面的方法加载它并执行var_dump($sms); exit;
它显示我它加载了模板“creditmemo_invoice”,这是我使用的电子邮件模板,而不是检测到付款方式时的“creditmemo”。无论付款方式如何,我都要确保使用$code
中的原始模板字符串(用于加载短信模板)。
现在我的问题是如何才能实现这一点,loadByCode是否采用了最佳匹配模板,或者是否有其他一些我错过的更严重的错误,也许有更好的方法来加载模板并进行正确的检查以查看如果他们甚至存在?
答案 0 :(得分:0)
我通过检查是否使用
加载了正确的电子邮件模板来解决了这个问题if ($this->loadByCode($template)->getTemplateCode() == $template)