myMethod()
呈现一个分配了一些默认参数的模板。我想通过扩展ParentController
来调用逻辑之前,在twig-template中分配一些可用的值。
我添加了伪代码行$this->assignValue('myKey', 'myValue');
。有谁知道是否有像assignValue()
这样的方法或如何解决我的问题?
提前致谢!
class ParentController {
protected function myMethod() {
return $this->render('myTemplate.html.twig', array(
'param1' => 'value1',
'param2' => 'value2',
'param3' => 'value3'
));
}
}
class ChildController extends ParentController {
// TODO: Assign some parameters BEFORE
// Pseudocode:
$this->assignValue('myKey', 'myValue');
// /Pseudocode
return parent::myMethod();
}
答案 0 :(得分:4)
您可以在ChildController方法中重新定义render
,如:
function render($tpl, $parameters) {
$parameters = array_merge($parameters, ['myKey' => 'myValue']/** or some other parameters*/);
return parent::render($tpl, $parameters);
}