Контейнер формы не может установить дочернюю форму / создать блок формы [Решено]

Моя цель — создать форму в контейнере форм. Когда я вызываю форму непосредственно в моем контроллере, она работает, но когда я вызываю контейнер, у меня возникает эта проблема:

Неустранимая ошибка: вызов функции-члена setData () для логического значения в app / code / core / Mage / Adminhtml / Block / Widget / Form / Container.php в строке 144

Строка кода:

public function getFormHtml() {
$this->getChild('form')->setData('action', $this->getSaveUrl());
return $this->getChildHtml('form');
}

И это относится к другой строке:

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();
}

Я пытался настроить значения _blockGroup, _controller а также _mode, но ничего не работает …

Мой класс контейнера формы:

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();
}
}

Здесь мои папки и файлы:

Я тоже попробовал вот так:

(Извините за плохой английский, надеюсь, я не забыл что-то важное)

0

Решение

Задача ещё не решена.

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]