Tuesday, July 3, 2012

yii framework 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.

No comments:

Post a Comment