20150411--Dede二次開發-01

image

目錄 php

1、目前市場流行的電子商城系統 1 mysql

2、ecshop的介紹 1 sql

3、安裝 2 數據庫

4、echsop 的目錄結構 5 瀏覽器

5、分析ecshop裏面程序的架構 5 服務器

6、小試牛刀把麪包屑導航改爲兩個大於號 6 網絡

1、根據php頁面找出該頁面對應的模板。 6 session

2、找到category.dwt模板文件,打開找到麪包屑導航的位置 6 架構

3、在library目錄中找出  ur_here.lbi文件 7 函數

7、init.php文件分析 9

8、完成在用戶登陸是, 可使用郵箱登陸。 11

9、完成餘額顯示: 15

10、在添加新商品的時候,添加一個seotitle,便於在商品的詳情頁面顯示。 17

11、套模板 20

1、把模板文件拷貝到themes目錄下面。模板的樣式和圖片的路徑要和ecshop裏面默認的一致 20

2、在模板文件中取出導航信息。 21

3、顯示出商品的分類 22

4、取出熱銷排行 24

5、取出精品推薦數據 25

1、目前市場流行的電子商城系統

Ecshop

shopNC(代碼部分加密)

國外:zencart,magento(麥金斗)

通常在外貿的公司,用zencart,magento用的多一些.

Magento是基於zendframework來開發的.

2、ecshop的介紹

ecshop是上海商派網絡科技有限公司(shopEx)旗下—B2C獨立網店系統,適合企業及我的快速構建個性化網上商店。系統是基於php語言及mysql數據庫架構開發的跨平臺開源程序。

歷史:

2006年6月,ecshop推出第一個版本1.0

2007年5月到6月,ecshop管理層將ecshop賣給康盛世紀。

2008年10月10日,ecshop系列軟件(包括 ecshop,ecmall, maifou等),被上海商派網絡科技有限公司(shopEx)總體收購。

2012年4月,發佈ecshop v2.7.3 release 0411

3、安裝

一、下載解壓,把upload目錄拷貝網站的根目錄(虛擬主機目錄)

wpsB619.tmpwpsB61A.tmpwpsB61B.tmpwpsB61C.tmpwpsB62D.tmpwpsB62E.tmpwpsB63F.tmp

二、配置一個虛擬主機

wpsB65F.tmp

三、若是你的php的版本比較高,則屏蔽一些輸出提示錯誤。

wpsB66F.tmp

打開includes目錄下面的init.php文件

wpsB680.tmp

wpsB6A0.tmp

wpsB6B1.tmp

在打開後臺目錄(admin)的init.php文件。

wpsB6D1.tmp

四、執行安裝,在瀏覽器裏面訪問域名便可。

wpsB6D2.tmp

4、echsop 的目錄結構

wpsB6E3.tmpwpsB6E4.tmpwpsB6E5.tmpwpsB6F5.tmpwpsB6F6.tmpwpsB6F7.tmpwpsB6F8.tmpwpsB709.tmpwpsB70A.tmpwpsB70B.tmpwpsB72B.tmp

5、分析ecshop裏面程序的架構

1:Ecshop屬於面向過程+函數調用爲主, 並且沒用單入口模式具體的功能對應具體的頁面.

2:用的模板引擎是簡化的smarty模板.

第一步:包括include/init.php,進行數據庫以及smarty等的初始化工做

第二步:調用相關函數從數據庫中取數據,而後Assign

第三步:display一個靜態頁

總結:也是一個MVC的架構,只不過不是純OOP的,也不是單一入口的。

純OOP:全部的東西必須屬於一個類,不能遊離在類的外面。

控制器: 根目錄下的php文件

模型層:includes/下的一些以lib_開頭的文件,如:lib_article:文件相關操做。

視圖層:themes/ 前臺靜態頁

6、小試牛刀把麪包屑導航改爲兩個大於號

wpsB73C.tmp

一、根據php頁面找出該頁面對應的模板。

wpsB74D.tmp

wpsB75D.tmp

二、找到category.dwt模板文件,打開找到麪包屑導航的位置

思路:根據在靜態頁面分析:只需在模板中找到<div id=」ur_here」>位置,便可找到。

wpsB77D.tmp

經過分析,導航是在library目錄下面的ur_here.lbi文件中,

wpsB78E.tmp

三、在library目錄中找出  ur_here.lbi文件

發現導航的輸出是經過{$ur_here}變量輸出的

wpsB78F.tmp

說明在php頁面中一定有一個$smarty->assign(‘ur_here’,);

wpsB7AF.tmp

搜索當前沒有該函數,說明該函數是在其餘頁面中定義的。

打開init.php文件,經過該文件中require的其餘文件進行查找

wpsB7C0.tmp

最後發現是在lib_main.php文件中的。

wpsB7E0.tmp

本身練習 :去掉標題裏面的powered by echsop字樣。

wpsB7F1.tmp

7、init.php文件分析

一、定義一個根目錄,便於引入其餘的文件。

wpsB7F2.tmp

二、判斷是否安裝
wpsB822.tmp

三、初始化設置,當沒有權限修改服務器在中的php.ini文件時能夠本身在頁面經過ini_set函數來完成修改。

wpsB832.tmp

四、判斷魔術引號是否開啓,若是沒有開啓則要自定義函數完成數據的過濾。

wpsB833.tmp

$sql=」select * from user where username=’$username’#’ and password=’$password’」;

五、初始化數據庫的類

wpsB854.tmp

$ecs->table('sessions_data')//返回參數的實際表名

六、載入語言包文件目錄

wpsB855.tmp

七、判斷訪問來者

wpsB875.tmp

wpsB895.tmp

八、建立smarty對象

wpsB8A6.tmp

相關文章
相關標籤/搜索