我找到的唯一代码是:
class modulenameComponents extends sfComponents
{
public function executeAction(sfWebRequest $request)
{
$object = $this->getContext()->getController()
->getAction($this->getModuleName(), $request->getParameter('action'))
->getRoute()->getObject();
}
}
但如果组件包含在不同的模块中,它就不起作用。
答案 0 :(得分:3)
从模板中调用组件,因此从模板传递对象:
<?php include_component('modulename', 'actionName', array('myObject' => $myObject)) ?>
您可以通过$ this:
访问组件中的对象class modulenameComponents extends sfComponents
{
public function executeActionName()
{
// your object
$object = $this->myObject;
...
}
}
答案 1 :(得分:1)
关于Symfony 1.4.x doctrine admin generator,其中所有内容都在generator.yml中完成,组件接收包含模型对象的表单对象。因此,要获取当前模型对象,请执行以下操作:
$myModelObject = $this->form->getObject();
注意:这是模型对象,而不是表对象。要获取表对象,请执行以下操作:
$myModelTableObject = $this->form->getObject()->getTable();
我必须自己解决这个问题,所以希望它有所帮助...
答案 2 :(得分:0)
可能有更好的方法,但在您的操作中使用sfConfig::set()
,组件中的sfConfig::get()
应该可以解决问题。