Bit of a late reply, but here’s how to add a Featured Image field to a post:
In app/code/community/AW/Blog/Block/Manage/Blog/Edit/Form.php:
Change:
$form = new Varien_Data_Form(array(
'id' => 'edit_form',
'action' => $this->getUrl('*/*/save', array('id' => $this->getRequest()->getParam('id'))),
'method' => 'post',
));
to:
$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'
));
In app/code/community/AW/Blog/Block/Manage/Blog/Edit/Tab/Form.php:
add:
$fieldset->addField('featured_image', 'image', array(
'name' => 'featured_image',
'label' => 'Featured Image'
));
Somewhere below the line:
$fieldset = $form->addFieldset('blog_form', array('legend' => Mage::helper('blog')->__('Post information')));
In app/code/community/AW/Blog/controllers/Manage/BlogController.php:
add:
if(isset($_FILES['featured_image']['name']) and (file_exists($_FILES['featured_image']['tmp_name']))) {
try {
$uploader = new Varien_File_Uploader('featured_image');
$uploader->setAllowedExtensions(array('jpg','jpeg','gif','png'));
$uploader->setAllowRenameFiles(false);// setAllowRenameFiles(true) -> move your file in a folder the magento way
// setAllowRenameFiles(true) -> move your file directly in the $path folder
$uploader->setFilesDispersion(false);$path = Mage::getBaseDir(‘media’) . DS ;
$uploader->save($path, $_FILES[‘featured_image’][‘name’]);
$data[‘featured_image’] = $_FILES[‘featured_image’][‘name’];
}catch(Exception $e) {}
}// handle delete image
else {
if(isset($data[‘featured_image’][‘delete’]) && $data[‘featured_image’][‘delete’] == 1)
$data[‘image_main’] = ”;
else
unset($data[‘featured_image’]);
}
below the line:
$model = Mage::getModel('blog/post');
And finally, add a “featured_image” column to the aw_blog table in your database. Use the type VARCHAR(255) or something.
Now in your template files, you can access the featured image using the getFeaturedImage() method. For example in blog.phtml (the blog listing page) you could get the featured image for each post by putting the following code in the foreach loop:
<?php echo Mage::getBaseUrl(Mage_Core_Model_Store::URL_TYPE_MEDIA).$post->getFeaturedImage() ?>
Hi
Thanks for the code but I was also having issue with the featured image save in blog. I have checked and found that image is not being added to the blog data so its not added into database. I have made a small change and its fixed issue for me.
You just need to add below line
$model->setFeaturedImage($_FILES[‘featured_image’][‘name’]);
before
$model->save();
in app/code/community/AW/Blog/controllers/Manage/BlogController.php file.
Thanks
https://forum.aheadworks.com/featured-image-t3821.html