0
我使用自己的代碼在發送電子郵件的同時向客戶發送短信。我通過獲取與加載magento電子郵件模板
$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採取最佳匹配模板或有一些其他更嚴重的錯誤,我錯過了,也許有更好的方法來加載模板,並進行正確的檢查看看他們是否存在?
現在我注意到,當我覆蓋了原來的電子郵件模板這只是發生檢查解決了這個。看起來像'getTemplateText()' - 部分在有東西時從對象數據中取出重寫的電子郵件模板,而在「普通」電子郵件模板中,這是空的,因爲它全部在origData中?也許我應該嘗試找到一種方法來爲SMS模板加載創建一個新實例,或者確保清空對象模板數據.... – 2013-03-06 19:57:17