模板赋值
您正在阅读旧版文档,新版文档已迁移至 [https://document.pescms.com]
目录
调用了模板,可模板没有任何业务变量可用。这个时候我们需要将控制器上的业务变量赋值给模板使用。模板赋值,使用 assign() 方法。该方法只能在控制器中使用。
参数 | 说明 | 备注 |
---|---|---|
$name | 赋给模板调用的变量名称 | 必填 |
$value | 控制器上的业务变量 | 非必填 |
PHP的全局变量可以不赋值,直接在模板中调用:如$_SERVER、$_GET、$_POST、$_SESSION等。
在某个控制器有如下业务变量
<?php ...某控制器... public function index(){ $content = array( 'title' => 'PESCMS', 'content' => '此处省略2的128次方字' ); $list = array('0' => array(), '1' => array() ); //这是一个二维数组。太长了,大家知道就行了 $url = $this->url('Home-Test-index'); $this->assign($content); $this->assign('list', $list); $this->assign('url', $url); }
在对应的模板,上面三个赋值将可以输入如下变量:
$this->assign($content):
<?= $title ?> <?= $content ?>
当业务变量是一个数组。且将该变量放于赋值方法的第一个参数中,那么该数组内的第一级键值将会成为一个单独的变量。正如上面的$content数组中,键值title和content成为了模板变量。
$this->assign('list', $list);
<?= $list[0]['doc_title']; //list变量是一个数组,在这里我们输出他指定的内容值 ?>
$this->assign('url', $url);
<?= $url ?>