簡體   English   中英

如何使用php在smarty模板中設置Cookie?

[英]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.phpSmarty.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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM