I'd created a template file for admin form tab as:
class Excellence_Designer_Block_Adminhtml_Designer_Edit_Tabs extends Mage_Adminhtml_Block_Widget_Tabs {
protected function _beforeToHtml() {
$this->addTab('images', array(
'label' => Mage::helper('designer')->__('Images'),
'title' => Mage::helper('designer')->__('Images'),
'content' => $this->getLayout()->createBlock('designer/adminhtml_designer_edit_tab_images')->toHtml(),
));
return parent::_beforeToHtml();
}
}
class Excellence_Designer_Block_Adminhtml_Designer_Edit_Tab_Images extends
Mage_Adminhtml_Block_Template implements
Mage_Adminhtml_Block_Widget_Tab_Interface {
public function _construct() {
parent::_construct();
$this->setTemplate('designer/edit/tab/images.phtml');
}
public function getTabLabel() {
return $this->__('Images');
}
public function getTabTitle() {
return $this->__('Images');
}
public function canShowTab() {
return true;
}
public function isHidden() {
return false;
}
}
images.phtml
<div class="input-field">
<label for="image">Custom Field</label>
<input type="text" class="input-text" name="image" id="image" />
</div>
but there's no value in there if I do want to edit the form
even the value is saved in database. The other tab was created with
Mage_Adminhtml_Block_Widget_Form
and showing the values in fields but for this how could I get the value?
I'd come to a solution don't know is it the right approach but works in my case. If you have a better solution then let me know.
I'd made a change in images.phtml
<div class="input-field">
<label for="image">Custom Field</label>
<input type="text" value="<?php echo $this->getValue(); ?>" class="input-text" name="image" id="image" />
</div>
and added a method in the respective block file
public function getValue() {
return Mage::registry('designer_data')->getImage();
}
Your EditAction() has to be in the way. Check it out.
public function editAction()
{
$newsId = $this->getRequest()->getParam('id');
$newsModel = Mage::getModel('news/news')->load($newsId);
if ($newsModel->getId() || $newsId == 0) {
$data = Mage::getSingleton('adminhtml/session')->getFormData(true);
if (!empty($data)) {
$model->setData($data);
}
Mage::register('news_data', $newsModel);
$this->loadLayout();
$this->_setActiveMenu('news/items');
$this->_addBreadCrumb(Mage::helper('adminhtml')->__('Item Manager'), Mage::helper('adminhtml')->__('Item Manager'));
$this->_addBreadCrumb(Mage::helper('adminhtml')->__('Item News'), Mage::helper('adminhtml')->__('Item News'));
$this->getLayout()->getBlock('head')->setCanLoadExtJs(true);
$this->_addContent($this->getLayout()->createBlock('news/adminhtml_news_edit'))
->_addLeft($this->getLayout()->createBlock('news/adminhtml_news_edit_tabs'));
$this->renderLayout();
}
else
{
Mage::getSingleton('adminhtml/session')->addError(Mage::helper('news')->__('Item does not exist'));
$this->_redirect('*/*/');
}
}