亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > CMS > Ecshop > 正文

ECSHOP添加最新交易滾動顯示功能

2024-07-09 22:56:30
字體:
來源:轉載
供稿:網友

ecshop添加新功能我感覺無外乎就是兩個地方的修改,顯示的要修改模板,為了方便下次升級,最好都做成lbi,下次升級了直接把lbi拷進去, 然后稍微修改一下dwt的模板就行了。而對于程序部分的修改,我建議做一個自己的目錄,比如dev,然后把自己加的每個功能做成一個php文件放到 dev目錄里面,在需要的時候在原來的ecshop的php里面include或者require進來就行了。這樣下次系統升級目錄一拷,然后在該 include的地方include 一下就ok了,省時省心。當然,我個人建議你維護一個表,用來保存你都在哪些地方做過哪些修改,以方便下次升級的使用。下面我從模板和程序兩個 方面說一下需要修改什么地方。

一、程序層面修改 
我們想要顯示的無非就是什么人在什么時間購買了什么東西,這樣分析下來我們需要去從數據庫讀取出來這來信息。從網上找到ecshop的數據字典,看了看 和咱們相關的表有三個ecs_order_info,ecs_order_goods,ecs_users,分別存儲了訂單信息,訂單對應的商品信息和購買商品的用戶信息。這三個表同 user_id,order_id和goods_id三個key來聯系,下面我們要寫出sql語句從中取出我們需要的那些信息,sql語句如下:

 SELECT ecs_users.user_name, ecs_order_goods.goods_id,
            ecs_order_goods.goods_name, order_info.add_time
            FROM ecs_users, 
            (
                SELECT order_id, user_id, add_time
                FROM ecs_order_info
                ORDER BY ecs_order_info.add_time DESC 
                LIMIT 0 , 20
            ) AS order_info, 
            ecs_order_goods
            WHERE order_info.order_id = ecs_order_goods.order_id
            AND order_info.user_id = ecs_users.user_id;


 


上面語句的意思從ecs_order_info里面提取前20個交易,然后根據order_id,goods_id和user_id的關聯來獲取用戶名、商品名、商品id和訂單時間。搞定了sql語句, 下面我們就要按照ecshop的模式來寫個函數,這個函數從通過數據庫獲取sql語句的內容,然后把這個sql的record封裝到一個array里面,傳給smarty模板來使用。 下面給出代碼,大家參考一下:

 
>
        /**
         * 調用獲取最新購買者和物品檠?         *
         * @access  private
         * @return  array
         */
        function index_get_recent_buy_query()
        {
            $sql = 'SELECT ecs_users.user_name, ecs_order_goods.goods_id,
                     ecs_order_goods.goods_name, order_info.add_time
                    FROM ecs_users, 
                    (
                        SELECT order_id, user_id, add_time
                        FROM ecs_order_info
                        ORDER BY ecs_order_info.add_time DESC 
                        LIMIT 0 , 20
                    ) AS order_info, 
                    ecs_order_goods
                    WHERE order_info.order_id = ecs_order_goods.order_id
                    AND order_info.user_id = ecs_users.user_id;';
 
            $all = $GLOBALS['db']->getAll($sql);
 
            $arr = array();
 
            foreach ($all AS $idx => $row)
            {
                $arr[$idx]['username']  = $row['user_name'];
                $arr[$idx]['goodName']  = $row['goods_name'];
                $arr[$idx]['goodID']    = $row['goods_id'];
                $arr[$idx]['add_time']  = local_date(
                  $GLOBALS['_CFG']['date_format'], $row['add_time']);
            }
 
            return $arr;
        }

 


上面代碼使用了$GLOBALS['db']->getAll($sql);來獲取數據庫里面記錄,這個db是在init.php里面系統初始化加載好的全局變量,他負責和數據庫交互,獲取 數據等功能。有時間我寫幾篇ecshop代碼分析的文章,詳細講解一下ecshop的初始化過程,大家就可以了解ecshop高質量的代碼了。下面的那個 foreach做的而 工作其實就是把數據封裝到array,smarty在模板處理時數組友好的。上面只是獲取了array,下面的語句是賦值array到smarty模板”

 
//獲取最新的購買者信息
$smarty->assign('recent_buys',     index_get_recent_buy_query());

 


把這句話加到index.php的類似的地方就可以,基本上在80多行,ecshop集中模板賦值的地方。在面我們來看看賦過去的值smarty模板是怎么用的。

二、模板層面的修改 
我們建立一個BusinessActivities.lbi來放我們的smarty模板內容。下面是代碼,看完代碼我來分析:

 <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<!--{if $invoice_list}-->
<style type="text/css">
.boxCenterList form{display:inline;}
.boxCenterList form a{color:#404040; text-decoration:underline;}
</style>
<div class="box">
 <div class="box_1">
  <h3><span>{$lang.sale_activities}</span></h3>
  <div class="boxCenterList">
  <MARQUEE onmouseover=this.stop() onmouseout=this.start() 
scrollAmount=1 direction=up height=155px>
    <!-- 發貨單查詢{foreach from=$recent_buys item=buy_info} -->
    <image src='images/speaker.gif'> {$buy_info.username} 在 {$buy_info.add_time} 買了
    <a href='goods.php?id={$buy_info.goodID}'> {$buy_info.goodName}</a><br>
 
   <div class="blank"></div>
   <!-- 結束發貨單查詢{/foreach}-->
      </MARQUEE>
  </div>
 </div>
</div>
<div class="blank5"></div>
<!-- {/if} --> 
 

大家注意看上面的是來說明你的模板內容基本信息的,我這里是utf8,如果你是gbk,要改成gbk哦。 是和我們上面php程序里面的$smarty->assign(’recent_buys’, index_get_recent_buy_query())對應的,若果你給recent_buys賦值, 并且這個值不為空或者0的話才顯示咱們的模板內容。我們重點看,foreach是smarty模板內置函數,其 主要作用是遍歷傳入的數組,然后生成內容,類似于其他語言里面的foreach。這句話就是遍歷recent_buys,然后把每次遍歷的項做 buy_info,其實這個buy_info 就是咱們數據的2維數組的第二維了。你可以直接用{$buy_info.goodName}這種形式來調用你數組傳入的內容。用smarty模板絕對的數據和現實分離,很爽的。 
下面你在你需要顯示的地方加入 就可以顯示了。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
成人信息集中地欧美| 最近日韩中文字幕中文| 国产精品久久久久久久久久久新郎| 欧美视频裸体精品| 日本亚洲精品在线观看| 亚洲精品资源美女情侣酒店| 国产有码在线一区二区视频| 日韩在线国产精品| 日韩在线观看免费网站| 欧美在线视频网站| 成人国产精品av| 欧美成人一二三| 欧美日韩一区二区在线| 精品视频www| 久久99久久99精品免观看粉嫩| 韩国精品美女www爽爽爽视频| 91久久精品国产91久久性色| 国产午夜精品全部视频播放| 日韩av一区二区在线观看| 91精品国产综合久久男男| 亚洲香蕉成人av网站在线观看| 亚洲国产欧美一区二区丝袜黑人| 国产精品色婷婷视频| 成人国内精品久久久久一区| 亚洲精品国产精品国自产观看浪潮| 国产极品精品在线观看| 欧美日韩国产黄| 欧美激情网站在线观看| 欧美日韩人人澡狠狠躁视频| 日韩欧美有码在线| 亚洲国产精品大全| 亚洲成人黄色在线观看| 91在线视频一区| 97超碰国产精品女人人人爽| 日韩免费黄色av| 久久躁日日躁aaaaxxxx| 午夜精品久久久久久久99热浪潮| 久久久黄色av| 久久精品中文字幕电影| 国产一区二区三区视频在线观看| 成人福利网站在线观看11| 九九九久久久久久| 亚洲欧美综合区自拍另类| 亚洲女人被黑人巨大进入al| 亚洲第一区在线| 国产亚洲aⅴaaaaaa毛片| 国产视频精品va久久久久久| 欧美综合第一页| 日本午夜人人精品| 亚洲综合在线播放| 午夜伦理精品一区| 国产成人久久久| 日韩在线观看免费高清| 国模叶桐国产精品一区| 欧美精品日韩www.p站| 国产精品自产拍高潮在线观看| 国产精品xxxxx| 日韩美女视频免费在线观看| 亚洲色在线视频| 日韩中文字幕不卡视频| 亚洲成人动漫在线播放| 国产精品欧美一区二区三区奶水| 青青草99啪国产免费| 成人网在线视频| 日韩av免费观影| 另类天堂视频在线观看| 久久久久久国产免费| 欧美电影电视剧在线观看| 夜夜躁日日躁狠狠久久88av| 亚洲精品一区二区久| 国产欧美日韩精品丝袜高跟鞋| 国产精品偷伦免费视频观看的| 岛国av一区二区| 日韩亚洲精品电影| 国产欧美日韩中文字幕| 91精品视频免费| 成年人精品视频| 国产+成+人+亚洲欧洲| 97精品国产97久久久久久免费| 久久精品男人天堂| 国产一区玩具在线观看| 一本大道香蕉久在线播放29| 一区二区亚洲精品国产| 福利微拍一区二区| 欧美丝袜一区二区三区| 国产精品aaaa| 色七七影院综合| 日韩av在线电影网| 欧美日韩人人澡狠狠躁视频| 国产精品免费一区二区三区都可以| 91亚洲精品久久久| 欧美日韩国产精品一区二区不卡中文| 亚洲大胆人体视频| 国产999精品久久久| 国产亚洲视频中文字幕视频| 欧美一区二区三区四区在线| 亚洲网站视频福利| 欧洲s码亚洲m码精品一区| 热久久美女精品天天吊色| 九九精品在线观看| 欧美一级片在线播放| 91亚洲国产精品| 欧美亚洲国产另类| 欧美另类暴力丝袜| 欧美大人香蕉在线| 韩国美女主播一区| 亚洲欧美日韩天堂一区二区| 97在线观看免费高清| 国产精品扒开腿做爽爽爽的视频| 97在线免费观看视频| 韩曰欧美视频免费观看| 色悠久久久久综合先锋影音下载| 久久久久久久久久久久av| 第一福利永久视频精品| 中文字幕日韩在线播放| 亚洲自拍偷拍在线| 国产精品视频一区国模私拍| 日韩欧美极品在线观看| 亚洲欧美日韩直播| 国语自产精品视频在线看抢先版图片| 色琪琪综合男人的天堂aⅴ视频| 久久视频在线观看免费| 亚洲欧美国内爽妇网| 中文字幕在线看视频国产欧美在线看完整| 欧美激情一二三| 日本精品视频在线| 免费91麻豆精品国产自产在线观看| 91九色国产社区在线观看| 日韩成人黄色av| 国产亚洲一区精品| 久久夜精品va视频免费观看| 成人免费淫片aa视频免费| 中文字幕久热精品视频在线| 情事1991在线| 亚洲精品有码在线| x99av成人免费| 日韩美女免费观看| 丝袜亚洲另类欧美重口| 97色在线观看| 亚洲成人av片| 国语自产精品视频在线看一大j8| 久久影院免费观看| 成人综合网网址| 欧美乱大交xxxxx| 中文字幕亚洲图片| 国产成人91久久精品| 午夜精品国产精品大乳美女| 精品视频久久久久久久| 久久久久久伊人| 久久精品99久久香蕉国产色戒| 亚洲精品视频免费在线观看| 欧美—级a级欧美特级ar全黄| 91大神在线播放精品| 欧美成人免费一级人片100| 日韩精品在线观| 日韩激情av在线免费观看| 久久中文字幕一区| 在线电影中文日韩| 久久久精品免费视频| 欧美天天综合色影久久精品| 伊人成人开心激情综合网| 久久久综合免费视频| 青草青草久热精品视频在线网站| 亚洲性线免费观看视频成熟|