Yii框架開發商城(三)

  

  前兩篇寫了部署前臺頁面....

  這篇說部署後臺的程序框架......後臺有自己的控制器和視圖,Yii 有一個模塊機制,可以幫助我們實現後臺的搭建,模塊有獨立的控制器,視圖,模型....

  模塊不可以單獨部署... 使用 gii 自動代碼生成工具創建後臺模塊,gii其實本身也是一個模塊


一、商城後臺部署

1.在 main.php 配置文件中打開 gii 配置,以方便使用

 21   'modules'=>array(
 22     // uncomment the following to enable the Gii tool
 23     
 24     'gii'=>array(
 25       'class'=>'system.gii.GiiModule',
 26       'password'=>'Enter Your Password Here',
 27       // If removed, Gii defaults to localhost only. Edit carefully to taste.
 28       'ipFilters'=>array('127.0.0.1','::1'),
 29     ),
 30     
 31   ),

       ‘class’ => 'system.gii.GiiModule',       system 值的是yii的核心 framework目錄   gii爲子目錄   GiiModule是gii類文件

       'password'=>'Enter Your Password Here'      提示需要設置密碼,是爲了防止其他人而已使用gii

       'ipFilters'=>array('127.0.0.1','::1'),          過濾器,設置只有本地才能訪問


2.gii如何來訪問?

    通過路由的形勢訪問 gii 模塊    http://***.***.**.**:****/shop/index.php?r=模塊名字

    路由首先判斷  r=   當前的名字是否是模塊,如果是模塊,就訪問模塊,否則定位到控制器

   注:在遠程服務器玩的時候一定要注意配置的ip過濾器....確定要把自己訪問的ip添加進去 ..... 我是在遠程linux上操作,剛纔那個ip過濾器把我噁心了一下

   訪問  http://***.***.**.**:****/shop/index.php?r=gii       不出意外的話會提示輸入密碼,密碼正確進入gii代碼自動生成工具頁面



3.生成一個後臺模塊.....  使用gii工具內的   Module Generator      

   輸入一個後臺名字 ,我輸入 backshop    然後預覽,確定生成,會在 protected 目錄下自動生成一個modules文件夾



 我是在linux系統中操作,看起來不是很形象化....湊合着看,在windows上面會好一些



 這樣就算是成功創建了一個名字是 backshop 的模塊,接着根據提示去 主配置文件中配置這個模塊(引入模塊)




 現在可以自己修改後臺的顯示模板文件,後臺默認的模板文件路徑  /shop/protected/modules/backshop/views/default/index.php

 後臺默認的控制器是 /shop/protected/modules/backshop/controllers/DefaultController.php     在DefaultController.php 中有 actionIndex方法,所以在backshop/目錄下有一個default文件夾,裏面有index.php視圖文件

 在沒有定義後臺的佈局時,後臺會默認顯示前臺的佈局.....這也是代碼的重用性.....


4. 在後臺部署用戶登錄功能,也是通過控制器和視圖展示登錄界面,建立控制器,寫actionLogin方法,渲染login.php視圖

    後臺的操作跟前面是一樣的,只是訪問後臺的時候有點區別,後臺在訪問的時候路由需要加上模塊的名字,所以要在backshop/views/ 路徑下創建 manager文件夾,在裏面放入後臺登陸的模板文件 login.php,  然後在控制器中調用render方法渲染視圖

    訪問後臺   http://****.com/index.php?r=backshop/manager/login       [模塊名/控制器/action方法]

    在/shop/assets/ 路徑下創建後臺資源文件夾  back/img     back/css  導入後臺全部資源......

    在全局變量文件 constant.php 中增加後臺資源路徑,在模板文件中修改css.image的引入路徑.....

 18 //後臺樣式目錄地址
 19 define('BACK_CSS_URL', '/shop/assets/back/css/');
 20     
 21 //後臺圖片目錄地址
 22 define('BACK_IMG_URL', '/shop/assets/back/img/');
 23      

ok。改好了...... 看着還不錯的樣子.....



5. 實現後臺其他頁面效果

    後臺整體架構使用html中的框架標籤 frameset 

    創建後臺首頁展示控制器   /shop/protected/modules/backshop/controllers/IndexController.php   並寫actionHead  actionLeft  actionRight  三個方法

 */
  8 class IndexController extends Controller{
  9 
 10   //生成頭部
 11   function actionHead(){
 12 
 13     $this->renderPartial('head');
 14   }
 15 
 16   //生成左側菜單
 17   function actionLeft(){
 18 
 19     $this->renderPartial('left');
 20   }
 21 
 22   //生成右側主題內容區
 23   funciton actionRight(){
 24 
 25     $this->renderPartial('right');
 26   }
 27 }


  都老操作了,就不詳細說了,把模板文件中的head.php  left.php  right.php 放在views/index/目錄下.....替換好模板文件中的資源引入路徑,刷新訪問

  http://.......com/index?r=manager/index/head


   把head  left  right  用html的frameset便籤整合到一起,在IndexController中用actionIndex方法渲染整合後的模板文件


<frameset border=0 framespacing=0 rows="60, *" frameborder=0>
        <frame name=head src="./head.html" frameborder=0 noresize scrolling=no>
            <frameset cols="170, *">
                <frame name=left src="./left.html" frameborder=0 noresize />
                <frame name=right src="./right.html" frameborder=0 noresize scrolling=yes />
            </frameset>
    </frameset>
注意引入時使用的路徑》。。。要用路由訪問的路徑


ok...都是簡單操作,,上圖,處理完之後的結果畫面



6.後臺商品頁面的整合 ----   商品添加  商品修改  商品展示【一樣的方法】

7.在後臺首頁中點擊產品中心-產品展示,就會在右邊顯示產品展示頁(show).

   只需要修改後臺left.php 頁面中產品展示的超鏈接,不過這裏的超鏈接是透過路由尋找的。。。



  

  在show.php頁面中繼續把添加商品跟修改商品的鏈接也換掉

  ./index.php?r=backshop/goods/add                                  ./index.php?r=backshop/goods/update

修改後顯示的效果是這樣的....




ok

後續(........)

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章