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

get directory paths, get Base URLs, get URLs in static block, get secure URL in Magento

1) Get Directory paths  Mage::getBaseDir()  //output : /var/www/html/magento Mage::getBaseDir('app')  //output : /var/www/html/magento/app Mage::getBaseDir('media') //output : /var/www/html/magento/media Mage::getBaseDir(‘design’) => Get design directory path Mage::getBaseDir(‘code’) => Gives code directory file path Mage::getBaseDir(‘lib’) => Gives lib directory file path Mage::getBaseDir(‘skin’) => Gives skin directory file path Mage::getBaseDir(‘var’) => Gives var directory file path Mage::getBaseDir(‘cache’) => Gives cache directory file path Mage::getBaseDir(‘log’) => Gives log directory file path       2) Get Base URL  Mage::getBaseUrl() => Get base url path e.g. http://yourwebsite.com/  Mage::getBaseUrl('media') => Get MEDIA folder path e.g. http://yourwebsite.com/media/  Mage::getBaseUrl('js') => Get JS folder path e.g. http://yourwebsite.com/js/  Mage::getBaseUrl('skin') => Get SKIN folder p

CodeIgniter Disallowed Key Characters

Open libraries/Input.php (system/core/Input.php in CI version 2.0+) and locate function _clean_input_keys($str){, The whole block should look like so: function _clean_input_keys($str) {     if ( ! preg_match("/^[a-z0-9:_\/-]+$/i", $str))     {         exit('Disallowed Key Characters.');     }     return $str; } Modify the PCRE sot that it allows the new chars. Please not that the char thats missing is the .(dot) and you should always escape the .(dot) in Regular Expressions as they will otherwise allow any single char. /^[a-z0-9:_\/-\.]+$/i