程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 網頁編程 >> PHP編程 >> PHP綜合 >> PHP開發框架Yii Framework教程(29) Zii組件-Menu示例

PHP開發框架Yii Framework教程(29) Zii組件-Menu示例

編輯:PHP綜合

介紹完Yii數據庫接口外,從本篇開始介紹Zii組件,包括列表視圖ListView,表格視圖GridView,此外還包括一些基於 JQuery的UI組件,如AutoComplete,DataPicker, Button, Drag 和 Drop等。

本文介紹Menu菜單用法,CMenu使用Html 列 表顯示多級菜單,Menu配置通過其屬性item來配置,每個菜單項包括三個主要屬性

visible  是否可見

active 當前菜單項是否選中,

items 子菜單項。

此外還包括如下屬性:

label: 可選,菜單名稱,支持使用HTML標記 .

url: 可選,點擊該菜單轉的URL鏈接

template: 可選,菜單模板

linkOptions: array, 可選,額外的HTML鏈接屬性

itemOptions: array, 可選,額外的顯示菜單項的HTML屬性。

submenuOptions: array, 可選,額外顯示子菜單的HTML屬 性.

一般可以把Menu定義在Layout布局中,比如本例,修改protected/views/layout/main.php

<?php 

$this->widget('zii.widgets.CMenu',array(     
        'items'=>array(
                    array('label'=>'Home',
                        'url'=>array('/site/index')),
                    array('label'=>'About',
                        'url'=>array('/site/page',
                        'view'=>'about')),     
                    array('label'=>'Contact',     
                        'url'=>array('/site/page',
                        'view'=>'contact')),
                    array('label'=>'Login',
                        'url'=>array('/site/login'),
                        'visible'=>false),
                    ),     
    )); ?>

本例使用CViewAction來顯示幾個靜態頁面,靜態頁面的缺省目錄為當前Controller的View目錄下的 pages子目錄,本例在pages目錄下創建了兩個靜態頁面about.php, contact.
要使用CViewAction來顯示靜態頁面,需要修 改Controller的actions方法:

public function actions()     
{     
    return array(     
        'page'=>array(     
            'class'=>'CViewAction',
            ) 
        ); 
}

此外如果要顯示菜單的層次軌跡(breadcrumbs),可以使用Zii組件中的CBreadcrumbs組件,CBreadcrumbs一般配合 CMenu使用

<?php if(isset($this->breadcrumbs)):?>
    <?php $this->widget('zii.widgets.CBreadcrumbs', array(
            'links'=>$this->breadcrumbs,
    )); ?><!-- breadcrumbs -->
<?php endif?>

本例使用Yii缺省的CSS,顯示結果如下:

如果不使用CSS,顯 示結果如下:

由此可見,需要同時使用CMenu組件配合合適的CSS才能顯示漂亮的菜單。

本例下載:http://www.imobilebbs.com/download/yii/MenuDemo.zip

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved