Skip to content

Problem in creating edit form container of a grid in admin Panel #967

@aishwaryacedcoss

Description

@aishwaryacedcoss

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

}

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions