官术网_书友最值得收藏!

Using controller context in a view

Yii views are pretty powerful and have many features. One of them is that you can use controller context in a view. So, let's try it.

Getting ready

Set up a new application using yiic webapp.

How to do it...

  1. Create a controller as follows:
    class WebsiteController extends CController
    {   
       function actionIndex()
       {
          $this->pageTitle = 'Controller context test';
          $this->render('index');
       }
    
       function hello()
       {
          if(!empty($_GET['name']))
             echo 'Hello, '.$_GET['name'].'!';
       }
    }
  2. Now, we will create a view showing what we can do:
    <h1><?php echo $this->pageTitle?></h1>
    <p>Hello call. <?php $this->hello()?></p>
    <?php $this->widget('zii.widgets.CMenu',array(
    'items'=>array(
          array('label'=>'Home', 'url'=>array('index')),
          array('label'=>'Yiiframework home', 'url'=>'http://yiiframework.ru/',
       ),
    ))?>

How it works...

We are using $this in a view to refer to a currently running controller. When doing it, we can call a controller method and access its properties. The most useful property is pageTitle which refers to the current page title and there are many built-in methods that are extremely useful in views such as renderPartials and widget.

There's more…

The following URL contains API documentation for CController where you can get a good list of methods you can use in your view:

http://www.yiiframework.com/doc/api/CController

主站蜘蛛池模板: 梅河口市| 革吉县| 恩施市| 陕西省| 颍上县| 芦溪县| 勃利县| 乌恰县| 灵川县| 扎鲁特旗| 安西县| 古丈县| 南京市| 巧家县| 扎兰屯市| 巨野县| 崇州市| 界首市| 长垣县| 建始县| 郧西县| 江门市| 德江县| 陕西省| 刚察县| 天峻县| 阜新| 鄂托克前旗| 阳山县| 贞丰县| 惠水县| 永福县| 郎溪县| 七台河市| 东辽县| 樟树市| 巴彦淖尔市| 滦南县| 正安县| 榆树市| 岑巩县|