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

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

主站蜘蛛池模板: 防城港市| 同仁县| 宝坻区| 张掖市| 保山市| 蒙山县| 南漳县| 唐山市| 天峨县| 枣强县| 射阳县| 灌南县| 龙里县| 铁岭市| 广水市| 罗江县| 玉龙| 靖江市| 建湖县| 清水河县| 合川市| 青神县| 腾冲县| 元阳县| 贞丰县| 舟曲县| 元阳县| 甘孜| 收藏| 乌什县| 昆山市| 崇礼县| 乌什县| 安龙县| 邵武市| 昌江| 博白县| 通州市| 玉树县| 东阳市| 祥云县|