我正在尝试在我的应用中为特定的动作名称使用渲染。 实际上,这是我在AppController :: afterFilter()
中设置的条件 if($this->action == 'parameter') {
$this->render('/Elements/parameter');
}
else if($this->action == 'datagrid') {
$this->render('/Elements/datagrid');
}
在我的控制器中/samples/parameter
:
$this->set('model', Inflector::singularize(Inflector::camelize($this->name)));
$this->set('controller', $this->name);
if($parameter_id) {
$this->set('mode', $mode);
$this->set('parameter', $this->Sample->find('first', array('conditions' => array('Sample.id' => $parameter_id))));
} else {
$this->set('mode', 'add');
$this->set('parameter', array());
}
我知道我必须在变量的定义之后渲染,所以我使用afterFilter
我不理解或错过的东西?
的相关信息:
我在Samples Controller
中设置了函数
public function afterFilter(){
parent::afterFilter();
}
谢谢大家!
答案 0 :(得分:2)
{/ 1}}回调在渲染过程完成后被称为,因此在其中调用afterFilter()
做错了。
如果要更改要渲染的视图,请在render()
中执行此操作。所以做一些像
beforeRender()