ecshop 會員等級管理與實例分析
來源:程序員人生 發布時間:2014-02-07 06:52:46 閱讀次數:2904次
ecshop2.6.2會員等級管理。別看這個功能很簡單,但是可以發揮非常大的作用。而且還可以用來修改人民幣對其他貨幣的匯率。
最近有個電子商務的朋友,讓我將會員等級修改一下,他錄入的產品價格是韓幣,需要通過匯率來轉化為人民幣,我想了想。終于從會員登記下手。首先,比如。錄入產品韓幣是10000,那么轉換成人民幣需要乘以0.0006.那么很簡單,可以用會員等級來修改成不同貨幣的匯率。
1:先將后臺修改,能讓起ecshop會員等級錄入帶有小數的積分。
修改ecs_user_rank,把discount字段修改為decimal(10,6)數據類型,用于存儲小數。
2:修改admin/user_rank.php,把edit_discount修改成
check_authz_json('user_rank');
$rank_id = empty($_REQUEST['id']) ? 0 : intval($_REQUEST['id']);
$val = empty($_REQUEST['val']) ? 0 : $_REQUEST['val'];
if ($exc->edit("discount = '$val'", $rank_id))
{
$rank_name = $exc->get_name($rank_id);
admin_log(addslashes($rank_name), 'edit', 'user_rank');
clear_cache_files();
make_json_result($val);
}
else
{
make_json_error($val);
}
3:修改ecshop數據庫中ecs_sessions表,將discount字段修改為decimal(18,8),為了存儲session中的折扣。保留小數點。
4:修改ecshop中init.php
$_SESSION['user_id'] = 0;
$_SESSION['user_name'] = '';
$_SESSION['email'] = '';
$_SESSION['user_rank'] = 0;
$_SESSION['discount'] = 0.0066;
把折扣默認為韓幣對人民幣匯率。0.0066
5:將includes/cls_session.php中update_session()函數,修改成
$discount = !empty($GLOBALS['_SESSION']['discount']) ?$GLOBALS['_SESSION']['discount'] : 0;
6:在goods.php中,把會員等級傳遞給session
$smarty -> assign('rank',$_SESSION['user_rank']);
7:在goods.dwt中,修改會員等級對應的人民幣價格。
<!-- {foreach from=$rank_prices item=rank_price key=key} 會員等級對應的價格-->
{if $key == $rank}
<dd><strong>{$rank_price.rank_name}:</strong><font class="shop" id="ECS_RANKPRICE_{$key}">{$rank_price.price}</font> </dd>
{/if}
<!--{/foreach}-->
最后完成。
生活不易,碼農辛苦
如果您覺得本網站對您的學習有所幫助,可以手機掃描二維碼進行捐贈