電商網(wǎng)站建設(shè)中,網(wǎng)站自適應(yīng)不同的端,是一個(gè)基本功能,解決用戶(hù)訪(fǎng)問(wèn)不同端自適應(yīng)到相應(yīng)的頁(yè)面,比如用戶(hù)使用微信端訪(fǎng)問(wèn)其他用戶(hù)分享的電腦端的鏈接,能自動(dòng)切換到相應(yīng)的移動(dòng)端的網(wǎng)址,以提升用戶(hù)體驗(yàn)。
下面安菲云以安菲開(kāi)源多用戶(hù)商城系統(tǒng)為例,分析電商網(wǎng)站建設(shè)中如何自適應(yīng)不同端。 安菲開(kāi)源多 用戶(hù)商城系統(tǒng)是通過(guò)在商城后臺(tái)配置頁(yè)面轉(zhuǎn)換,來(lái)實(shí)現(xiàn)手機(jī)端請(qǐng)求PC端網(wǎng)頁(yè)自動(dòng)切換到手機(jī)端頁(yè)面。
在“平臺(tái)”-“系統(tǒng)管理”-“頁(yè)面轉(zhuǎn)換”添加URL,形成不同端之間的映射:

例如電商網(wǎng)站建設(shè)中PC端網(wǎng)址設(shè)置:home/index/index,手機(jī)端網(wǎng)址:mobile/index/index,微信端網(wǎng)址:wechat/index/index,這些數(shù)據(jù)存放在wst_switchs表里。當(dāng)用戶(hù)在微信端訪(fǎng)問(wèn)http://xxxx/home/index/index(xxxx代表域名),會(huì)自動(dòng)跳轉(zhuǎn)到http://xxxx/wechat/index/index這個(gè)頁(yè)面。
實(shí)現(xiàn)的原理是在電商網(wǎng)站每個(gè)端的基類(lèi)控制器放一個(gè)頁(yè)面轉(zhuǎn)換的函數(shù)。
在函數(shù)里通過(guò)以下代碼來(lái)判斷當(dāng)前用戶(hù)是通過(guò)電商網(wǎng)站哪個(gè)端來(lái)訪(fǎng)問(wèn)網(wǎng)址。
$isPC = !$request->isMobile();
$isMobile = $request->isMobile();
$isWeChat = (strpos($_SERVER['HTTP_USER_AGENT'], 'MicroMessenger') !== false);
如果是手機(jī)端請(qǐng)求PC端網(wǎng)址,則根據(jù)用戶(hù)請(qǐng)求的PC端網(wǎng)址到wst_switchs表查找對(duì)應(yīng)的手機(jī)端網(wǎng)址,然后進(jìn)行跳轉(zhuǎn)。如果找不到對(duì)應(yīng)的網(wǎng)址,而且訪(fǎng)問(wèn)端也不匹配的話(huà),就強(qiáng)制跳轉(zhuǎn)到相應(yīng)端的首頁(yè)。
安菲云總結(jié):總的來(lái)說(shuō),是通過(guò)識(shí)別不同的端的地址,找到相應(yīng)的網(wǎng)址進(jìn)行跳轉(zhuǎn),以適應(yīng)到相應(yīng)的端來(lái)響應(yīng)。如果您有不清楚的,可以文章底部留言我們哦。
