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

How to add tab in Customer Information in Magento Admin

Step 1) Override the file /app/code/core/Mage/Adminhtml/Block/Customer/Edit/Tabs.php, Inside _beforeToHtml() method, add the following code: $ this -> addTab ( 'Custom' , array (      'label'   = > Mage :: helper ( 'customer' ) -> __ ( 'Custom' ) ,      'class'   = >     'ajax' ,      'url'     = >     $ this -> getUrl ( '*/*/custom' , array ( '_current' = > true ) ) , ) ) ; Step 2)  Override the file /app/code/core/Mage/Adminhtml/controllers/CustomerController.php, Add the following code: public function customAction() { $this->_initCustomer(); $this->getResponse()->setBody( Mage::app()->getLayout()->createBlock('core/template')->setTemplate('custom/customer/tab/custom.phtml')->setCustomerId(Mage::registry('current_customer')->getId())         ->setUseAjax(true)-...

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...

Magento programmatically remove product images

/* Remove Product media Image Start*/ $ptoductId=120; $productImgRemov= Mage::getModel('catalog/product')->load($ptoductId); $entityTypeId = Mage::getModel('eav/entity')->setType('catalog_product')->getTypeId(); $mediaGalleryAttribute = Mage::getModel('catalog/resource_eav_attribute')->loadByCode($entityTypeId, 'media_gallery'); $gallery = $productImgRemov->getMediaGalleryImages(); foreach ($gallery as $image) $mediaGalleryAttribute->getBackend()->removeImage($productImgRemov, $image->getFile()); $productImgRemov->save(); /* Remove Product media Image End*/