我返工我們網站上的優惠券系統,現在得到了以下的問題:Smarty的錯誤,如果會話變量沒有設置
我檢查會話的cc_id(couponcode_id),如果我isset給變量一個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}
所以在我的理解中,整個事情只發生IF會話變量{$smarty.session.cc_id}
isset。現在,如果我兌換優惠券和會話變量可用,它一切正常。但是,當會話變量沒有設置我收到以下錯誤代碼:
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'];
}
解決這個有什麼建議?
你爲什麼要抑制'get_coupon_code'中的錯誤? - 處理它們比忽略它們更好 – Epodax
我不是故意壓制它們的。我只是不知道如何解決這個問題。對我來說,爲什麼它不起作用沒有意義。 –
只是爲了好奇心,如果您寫出了什麼輸出,即initest {$ smarty.session.cc_id} endtest或{$ smarty.session.cc_id | var_dump} – Borgtex