Skip to main content

Add Dynamic data on magento admin form

<?php
class Ankur_Banners_Block_Adminhtml_Banners_Edit_Tab_Form extends Mage_Adminhtml_Block_Widget_Form
{
protected function _prepareForm()
{

$form = new Varien_Data_Form();
$this->setForm($form);
$fieldset = $form->addFieldset("banners_form", array("legend"=>Mage::helper("banners")->__("Item information")));

$fieldset->addField('lable', 'hidden', array(
'label'     => Mage::helper('megamenu')->__('Add Images'),

'name' => 'label',
'after_element_html' => '<div id="add_more"></div><button id="add" class="add_field_button"  type="button" >Add Images</button>'
));



if (Mage::getSingleton("adminhtml/session")->getBannersData())
{
$form->setValues(Mage::getSingleton("adminhtml/session")->getBannersData());
Mage::getSingleton("adminhtml/session")->setBannersData(null);
}
elseif(Mage::registry("banners_data")) {
   $form->setValues(Mage::registry("banners_data")->getData());
}
return parent::_prepareForm();
}
}
 ?>
 <script type="text/javascript">

jQuery(document).ready(function() {
    var max_fields      = 10; //maximum input boxes allowed
    var wrapper         = jQuery("#add_more"); //Fields wrapper
    var add_button      = jQuery(".add_field_button"); //Add button ID
 
    var x = 1; //initlal text box count
    jQuery(add_button).click(function(e){ //on add input button click
        e.preventDefault();
        if(x < max_fields){ //max input box allowed
             //text box increment
index=x;
            jQuery(wrapper).append('\
    <div id="banner' + index + '" >\
       <tr>\
  <a   class="remove_field">remove form</a></br\
        <td class="label"><label for="image">Image</label></td>\
<td class="value">\
         <input id="image' + index + '" name="image' + index + '" value="" type="file" class="input-file">\
<p class="note" id="note_image"><span>(*.jpg, *.png, *.gif)</span></p> </td>\
  </tr>\
     <tr>\
        <td class="label">\
<label for="image_path">Image Path</label></td>\
<td class="value">\
<input id="image_path' + index + '" name="image_path' + index + '" value="" type="text" class=" input-text">\
</td>\
    </tr></br>\
    <tr>\
        <td class="label"><label for="image_link">Image Link</label></td>\
<td class="value">\
       <input id="image_link' + index + '" name="image_link' + index + '" value="" type="text" class=" input-text"> </td>\
    </tr></br>\
    <tr>\
        <td class="label"><label for="short_order">Short Order</label></td>\
<td class="value">\
        <input id="short_order' + index + '" name="short_order' + index + '" value="" type="text" class=" input-text">            </td>\
    </tr></br>\
    </br>\
    </div>\
');

        x++;}
    });
 
    jQuery(wrapper).on("click",".remove_field", function(e){ //user click on remove text
        e.preventDefault(); jQuery(this).parent('div').remove(); x--;
    })

});

</script>

Comments

Popular posts from this blog

Parsing Domain Name From URL In PHP

To get Domain name from the url, we can use parse_url() php function. This would filter the domain name from the given url. $domain = str_ireplace ( 'www.' , '' , parse_url ( $url , PHP_URL_HOST )); This would return the google.com for both http://google.com and http://www.google.com

How to display Image in grid

Write this code in Grid.php:- $this->addColumn("data", array( "header" => Mage::helper("userdesign")->__("Design"), "index" => "image", 'align'     =>'center', 'renderer'  => 'userdesign/Adminhtml_Userdesign_Renderer_Image' )); Then make a "Renderer" folder in module( location - Grid.php) In Renderer Make a PHP file , Named Image.php and put this code <?php class Userdesign_Userdesign_Block_Adminhtml_Userdesign_Renderer_Image extends Mage_Adminhtml_Block_Widget_Grid_Column_Renderer_Abstract{           public function render(Varien_Object $row)     { $designUrl=Mage::getBaseUrl('web').'design/designs/';         $html = '<img width="75" height="75" ';          $value = $row->getData('designId');       $html.= 'src="' . Mage::getBaseUrl('web')....