如何从视图中访问元素中声明的变量

时间:2012-01-10 16:30:48

标签: php cakephp

假设我有一个视图和一个元素:

myElement{
    $aVar = 'abc';
}


myView{
    <?php echo $this->element('myElement'); ?>
    <?php echo $aVar; ?>  (outputs: abc)
}

在视图中渲染元素后,如何从视图中访问该元素中声明的变量?当我尝试这个时,变量是未定义的。

2 个答案:

答案 0 :(得分:0)

你的意思是这样的?

// controller
$this->set('aVar', 'aValue');

// view or layout
echo $this->element('myElement', array('someVar'=>$aVar));

// myElement
echo $someVar; // outputs 'aValue' in 'myElement'

答案 1 :(得分:0)

如果您使用的是CakePHP 1.3,那么API就是:

$this->set('dog', 'Sammy');
$this->getVar('dog'); // Sammy

参考:https://book.cakephp.org/1.3/en/The-Manual/Developing-with-CakePHP/Views.html#getvar