【发布时间】:2015-01-30 16:57:52
【问题描述】:
在 magento 1.8.1 中,我已将缩略图添加到 aw blog 帖子标题和每个标题旁边的 aw 博客侧边栏小部件中
我做了这些:
在 app/code/community/AW/Blog/Block/Manage/Blog/Edit/Form.php 中
改变:
$form = new Varien_Data_Form(array(
'id' => 'edit_form',
'action' => $this->getUrl('*/*/save', array('id' => $this->getRequest()->getParam('id'))),
'method' => 'post',
));
到
$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'
));
在 app/code/community/AW/Blog/Block/Manage/Blog/Edit/Tab/Form.php 中
添加
$fieldset->addField('featured_image', 'image', array(
'name' => 'featured_image',
'label' => 'Featured Image'
));
线下
$fieldset = $form->addFieldset('blog_form', array('legend' => Mage::helper('blog')->__('Post information')));
在 app/code/community/AW/Blog/controllers/Manage/BlogController.php 中
添加
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 .'blogpic'.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']);
}
线下
$model = Mage::getModel('blog/post');
并在数据库中的 aw_blog 表中添加了“featured_image”列。使用类型 VARCHAR(255) 默认 null 并启用 null 。
并添加
<img src="<?php echo Mage::getBaseUrl(Mage_Core_Model_Store::URL_TYPE_MEDIA).$post->getFeaturedImage() ?>" alt="featuredImage" />
到
/app/design/frontend/base/default/template/aw_blog/blog.phtml
下线
<?php foreach ($posts as $post): ?>
<div class="postWrapper">
<div class="postTitle">
<h2><a href="<?php echo $post->getAddress(); ?>" ><?php echo $post->getTitle(); ?></a></h2>
问题是:图像保存在media/blogpic 的正确位置,但它们没有显示在前端
【问题讨论】:
-
在浏览器中打开开发者控制台,查看
featuredImage的图片来源属性。 -
@mudasobwa 从
mdeia加载(根中的基本媒体目录),但它应该从media/blogpic加载 -
在
echo时将. DS . 'blogpic' . DS .添加到Mage::getBaseUrl(Mage_Core_Model_Store::URL_TYPE_MEDIA)? -
@mudasobwa 我是编码新手,但我试过这个:
$path = Mage::getBaseDir('media') . DS . "blogpic";又是同样的问题!如果您能解释更多,我将不胜感激
标签: html magento-1.8 php