Why would you mix the two? I like to think that whatever is under media is admin-controllable while everything that is under skin is only controllable by code. This is the reason for which you'd usually grant write access to the web server only to the media/ and var/ dirs.
The proper way to achieve what you want is to also create a css file under media which would be editable via the admin. Then you can use images in media without any problem. This approach would make more sense, as I don't see how useful would allowing image uploads but not actually changing the css be.
Continuing my comment, here is how you can achieve what you need.
You need to create your custom renderer for the image field. For this create this class in your module:
<?php
class [Namespace]_[Module]_Block_Adminhtml_[Entity]_Helper_Image extends Varien_Data_Form_Element_Image{
//make your renderer allow "multiple" attribute
public function getHtmlAttributes(){
return array_merge(parent::getHtmlAttributes(), array('multiple'));
}
}
Now at the top of your _prepareForm
(where you add your fields) add this line before adding any field:
$fieldset->addType('image', '[Namespace]_[Module]_Block_Adminhtml_[Entity]_Helper_Image');
Or if you want to be "politically correct" add it this way:
$fieldset->addType('image', Mage::getConfig()->getBlockClassName('[module]/adminhtml_[entity]_helper_image'));
This will tell Magento that in your current fieldset, all the fields with type image
should be rendered by your own class.
Now you can add your field like similar to how you did it:
$fieldset->addField('image', 'image', array(
'name' => 'image[]', //declare this as array. Otherwise only one image will be uploaded
'multiple' => 'multiple', //declare input as 'multiple'
'label' => Mage::helper('magentostudy_design')->__('design Image'),
'title' => Mage::helper('magentostudy_design')->__('design Image'),
'required' => true,
'disabled' => $isElementDisabled
));
That's it.
Don't forget to replace the placeholders ([Module]
and others) with your values.
[EDIT]
This is basically the way to override/add any input type you want. Create your own class that should extend the original input class (or Varien_Data_Form_Element_Abstract
if you add a new one) and declare it at the top of _prepareForm
Best Answer
$uploader->setAllowRenameFiles(true); //if true, uploaded file's name will be changed, if file with the same name already exists directory. Necessary to avoid conflicts
$uploader->setFilesDispersion(false); //To have a dispersion based on the original file name (as the file option does), we will have to do it manually
$uploader->setAllowCreateFolders(true); //for creating the directory if not exists