Мне нужно создать поле загрузки изображений для сообщений в модуле блога Magento (блог AW).Поэтому каждый пост должен содержать изображение.
Я отредактировал следующие файлы: / home / клиенты / веб-сайты / w_gale / public_html / gale / app / code / community / AW / Blog / Block / Manage / Blog/Edit/Tab/Form.php
добавил набор полей следующим образом:
$fieldset->addField('fileinputname', 'image', array(
'label' => Mage::helper('blog')->__('Upload image'),
'required' => false,
'name' => 'fileinputname',
'required' => true,
'style' => 'height:100px;border:2px solid #999;',
));
поверх этого файла, в нужном месте я определил форму следующим образом:
$form = new Varien_Data_Form(array(
'id' => 'edit_form',
'action' => $this->getUrl('*/*/save', array('id' => $this->getRequest()->getParam('id'))),
'method' => 'post',
'enctype' => 'multipart/form-data',
)
);
В Blogcontroller.php я добавил следующий код, просто ниже if ($data = $this->getRequest()->getPost()) {
line
if(isset($_FILES['fileinputname']['name']) && (file_exists($_FILES['fileinputname']['tmp_name']))) {
try {
$uploader = new Varien_File_Uploader('fileinputname');
$uploader->setAllowedExtensions(array('jpg','jpeg','gif','png')); // or pdf or anything
$uploader->setAllowRenameFiles(true);
$uploader->setFilesDispersion(false);
$path = Mage::getBaseDir('media') . DS ;
$uploader->save($path, $_FILES['fileinputname']['name']);
$data['imageurl'] = $_FILES['fileinputname']['name'];
} catch(Exception $e) {
}
} else {
if(isset($data['fileinputname']['delete']) && $data['fileinputname']['delete'] == 1)
$data['imageurl'] = '';
else
unset($data['fileinputname']);
}
Однако загрузка не работает.Что я делаю неправильно?Я добавил специальную строку в соответствующее поле в базе данных.В разделе внешнего интерфейса отображается значение базы данных, когда я вводю его вручную.
Спасибо