My goal is to have a form into a form container. When I call directly my form in my controller, it works, but when I call the container, I have this issue :
Fatal error: Call to a member function setData() on boolean in app/code/core/Mage/Adminhtml/Block/Widget/Form/Container.php on line 144
The code line is :
public function getFormHtml() {
$this->getChild('form')->setData('action', $this->getSaveUrl());
return $this->getChildHtml('form');
}
And this refers to another line :
protected function _prepareLayout() {
if ($this->_blockGroup && $this->_controller && $this->_mode) {
$this->setChild('form', $this->getLayout()->createBlock($this->_blockGroup
. '/'
. $this->_controller
. '_'
. $this->_mode
. '_form'
)
);
}
return parent::_prepareLayout();
}
I've tried to tweak values of _blockGroup
, _controller
and _mode
, but nothing works ...
My form container class :
class Cheek_Portraits_Block_Edit extends Mage_Adminhtml_Block_Widget_Form_Container
{
public function __construct()
{
$helper = Mage::helper('portraits');
$this->_blockGroup = 'portraits';
$this->_controller = 'page';
$this->_mode = 'edit';
if($this->getRequest()->getParam('id'))
{
$this->_headerText = $helper->__('Edit')." portrait";
}
else
{
$this->_headerText = $helper->__('New')." portrait";
}
parent::__construct();
}
}
Here my folders and files :
I also tried like this :