我在layout/formsde/url.phtml
中有这段代码:
<?php
$use_url = $this->use_url;
foreach($this->match_de as $k=>$v) {
if($this->serverUrl(true) == $k) {
$use_url = $v;
}
}
?>
我有1000页,其中包含以下行:
<?=$this->render("layout/formsde/url");?>
现在问题是$this->use_url
并且$this->match_de
为空,它没有从控制器获取值,如下所示:
return new ViewModel(array(
'description' => $this->de_desc,
'use_url' => $this->layout()->use_url,
'match_de' => $this->layout()->match_de,
));
如何将值传递给 - &gt; render()?所以我有$this->match_de
值与控制器中的精确值?
答案 0 :(得分:1)
您可以将包含所需值的数组传递给渲染
//Example
$this->render('layout/formsde/url', array(
'use_url' => $this->use_url,
'match_de' => $this->match_de));
答案 1 :(得分:1)
可以在模板中定义由视图渲染器Zend\View\Renderer\PhpRenderer
渲染的变量。您可以将第二个参数作为数组传递。
<?=$this->render("layout/formsde/url", array(
'description' => $this->de_desc,
'use_url' => $this->layout()->use_url,
'match_de' => $this->layout()->match_de,
));?>
有关PhpRenderer :: render()方法的更多信息,请参阅here。