2012-01-24 24 views
0

我有一個名爲Template的表,我設置我的郵件通過郵件發送給他們,我需要php變量輸入。使用Smarty模板發送電子郵件

我的問題是:我可以使用Smarty編輯我的消息(它們是HTML代碼)後,從表中檢索它們?

例如,我有:

$message = getMsgFromTable(Template); 

$message具有類型的文本包含PHP變量。我可以使用Smarty來填充這個變量嗎?

$message = setVariableValueBySmarty($message); 

回答

7

Smarty可以獲取模板並返回其輸出,而不是顯示它。
fetch()方法做到這一點,那就是你需要:

http://www.smarty.net/docs/en/api.fetch.tpl

還有在文檔中一個段落,告訴你如何使用它來發送郵件:)

http://www.smarty.net/docs/en/api.fetch.tpl#id627712

如果您需要從數據庫中(存儲爲字符串)創建模板,看看這個:

http://www.smarty.net/docs/en/resources.string.tpl

+0

非常感謝lorenzo-s;) – BKF

+0

對不起,但我認爲我可以接受多個答案;) – BKF

+0

*當您決定哪個答案對您最有幫助時,通過點擊將其標記爲接受答案(從** [How to ask FAQ](http://stackoverflow.com/faq#howtoask)**) –

1

看到@洛倫佐-S和:

如果您DB存儲的模板包含<?php echo $foo; ?>(或類似的,無所謂)形式的「PHP變量」,您可能需要使用prefilter<?php echo $foo; ?>轉換爲{$foo},以便您可以使用Smarty的assign()方法將模板填充到你的數據。

相關問題