[英]How to set Cookie in smarty template with php?
我目前在設置.tpl smarty模板類的php代碼塊中設置cookie時遇到問題。
在.tpl類中,我有類似的東西:
{php}
setcookie("school", "test");
{/php}
School: { $smarty.cookies.school }
但是,這不會打印出任何內容。 我知道php setcookie調用僅在.php文件中時有效,因為我已經測試過,但是無法使其與.tpl類中的php代碼段一起使用。
任何建議,D
{php}
setcookie("school", "test");
$_COOKIE['school'] = 'test';
{/php}
這是因為$ _COOKIE superglobal僅在刷新頁面時更新,而不是在使用setcookie()
之后更新
請確保您使用的SmartyBC.class.php
不Smarty.class.php
因為{php}{/php}
不會使用Smarty.class.php工作。
還記得將$php_handling
屬性設置為SMARTY_PHP_ALLOW。
更多信息http://www.smarty.net/docsv2/zh/variable.php.handling.tpl
我沒有將嵌入的php代碼放入模板中,而是創建了一個聰明的自定義函數插件,該插件在調用時允許我設置cookie。
有關自定義功能的詳細信息: http : //www.smarty.net/docsv2/en/plugins.functions.tpl Peter指出了執行此操作的想法。
但是,我對如何在模板代碼中的嵌入式php上完成此操作仍感到有些好奇,即使不建議這樣做也是一種好習慣。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.