我正在改造我们网站上的优惠券系统,现在遇到了以下问题:
我正在检查会话中的cc_id(couponcode_id),如果是,我将该变量提供给PHP文件,其中包含了一些函数。只举一个例子:
{if $smarty.session.cc_id}
<div class="coupon-outter">
<div class="coupon">
<div class="coupon-code-start">
<p>Ihr Coupon ist aktiv.<br>
Klicken Sie hier für Details</p>
</div>
<div class="coupon-code-detail">
<div class="coupon-block-headline">
<p class="coupon-headline">{$smarty.session.cc_id|@get_coupon_code}</p>
</div>
</div>
</div>
</div>
{/if}
所以在我的理解中,如果会话变量{$smarty.session.cc_id}
被设置,整个事情就会发生。现在,如果我兑换优惠券并且会话变量可用,那么一切正常。但是当没有设置会话变量时,我得到以下错误代码:
USER ERROR(256): "Smarty error: [in C:/xampp/htdocs/xxx/xxx/xxx/index.html line 72]: [plugin] modifier 'get_coupon_code' is not implemented (core.load_plugins.php, line 118)"
所以我知道如果未设置,Smarty无法通过会话cc_id。但如果没有设置它甚至不应该整个代码块,但它正在尝试然后我得到错误,因为它无法传递cc_id。
这是我的PHP:
function get_coupon_code($ccid){
$sql = "SELECT coupon_code FROM coupons WHERE coupon_id='".$ccid."'";
$retval = mysql_query($sql);
$row = mysql_fetch_assoc($retval);
return $row['coupon_code'];
}
有任何解决此问题的建议吗?
答案 0 :(得分:0)
{if isset($ smarty.session.cc_id)}可以解决问题。