-
Notifications
You must be signed in to change notification settings - Fork 9.4k
Closed
Labels
Description
I have created a edit form functions some thing like this:-
namespace Excercise\Weblog\Block\Adminhtml\Blogpost;
class Edit extends \Magento\Backend\Block\Widget\Container
{
protected $_coreRegistry = null;
/**
* @param \Magento\Backend\Block\Template\Context $context
* @param \Magento\Registry $registry
* @param array $data
*/
public function __construct(
\Magento\Backend\Block\Template\Context $context,
\Magento\Framework\Registry $registry,
array $data = array()
) {
$this->_coreRegistry = $registry;
parent::__construct($context, $data);
}
/**
*
* Retrieve text for header element depending on loaded page
*
* @return string
*/
protected function _construct()
{
$this->_objectId = 'blogpost_id';
$this->_blockGroup = 'Excercise_Weblog';
$this->_controller = 'adminhtml_blogpost';
parent::_construct();
$this->_updateButton('save', 'label', __('Save Post'));
$this->_addButton(
'saveandcontinue',
array(
'label' => __('Save and Continue Edit'),
'class' => 'save',
'data_attribute' => array(
'mage-init' => array(
'button' => array('event' => 'saveAndContinueEdit', 'target' => '#edit_form')
)
)
),
-100
);
$this->_updateButton('delete', 'label', __('Delete Post'));
}
public function getHeaderText()
{
if ($this->_coreRegistry->registry('blog_post')->getId()) {
return __("Edit Post '%1'", $this->escapeHtml($this->_coreRegistry->registry('blog_post')->getTitle()));
} else {
return __('New Post');
}
}
Then Error comes as:-
a:4:{i:0;s:142:"Invalid method Excercise\Weblog\Block\Adminhtml\Blogpost\Edit::_updateButton(Array
(
[0] => save
[1] => label
[2] => Save Post
)
I cant understand where the Problem is existing????Please help me???,my edit controller is:-
namespace Excercise\Weblog\Controller\Adminhtml\Blogpost;
class Edit extends \Excercise\Weblog\Controller\Adminhtml\Blogpost\Index
{
protected $_coreRegistry = null;
/**
* @var \Magento\Framework\Stdlib\DateTime\Filter\Date
*/
protected $_dateFilter;
public function execute()
{
$this->_title->add(__('Blog Post'));
// 1. Get ID and create model
$id = $this->getRequest()->getParam('id');
$model = $this->_objectManager->create('Excercise\Weblog\Model\Blogpost');
// 2. Initial checking
if ($id) {
$model->load($id);
if (!$model->getId()) {
$this->messageManager->addError(__('This post no longer exists.'));
$this->_redirect('*/*/');
return;
}
}
$this->_title->add($model->getId() ? $model->getTitle() : __('New Blog Post'));
// 3. Set entered data if was error when we do save
$data = $this->_objectManager->get('Magento\Backend\Model\Session')->getFormData(true);
if (!empty($data)) {
$model->setData($data);
}
// 4. Register model to use later in blocks
//$this->_coreRegistry->register('blog_post', $model);
// 5. Build edit form
$this->_initAction()->_addBreadcrumb(
$id ? __('Edit Post') : __('New Post'),
$id ? __('Edit Post') : __('New Post')
);
$this->_view->renderLayout();
}
}