我正在使用自己的代码在电子邮件发出的同时向客户发送短信。我通过获取电子邮件模板代码来做到这一点
$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 是否采用最佳匹配模板,还是我错过了其他一些更严重的错误,也许有更好的方法来加载模板并进行正确检查以查看它们是否存在?