增强AW_Blog插件之后台文章编辑新增一图片字段

简介:

上一次讲了给AW_Blog插件后台文章列表添加分类栏,今天继续来加强AW_Blog,给每个文章新增一个独立的图片字段。为什么要新加一个字段呢,文章内容里不是也可以添加图片吗?这是因为某些情况下,独立的图片字段是必需的,如果要把AW_Blog当做一个简单的CMS来用的话,如下图:

这里跟文章相关的图片,如果没有独立的图片字段,那就只能想办法从文章内容中抓取图片出来,不仅难度很高(专业CMS都有这个功能),而且无法保证图片比例的一致性,这时候有一个单独的图片字段的话就可以针对性的上传要显示的图片。

打开AW_Blog_Block_Manage_Blog_Edit_Form文件,给表单添加一个属性,表示该表单接受文件上传

  protected function _prepareForm()
  {
      $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'
                                   )
      );

      $form->setUseContainer(true);
      $this->setForm($form);
      return parent::_prepareForm();
  }

打开AW_Blog_Block_Manage_Blog_Edit_Tab_Form文件,新增需要添加的表单项

。。。。。。。。。。。
        		$fieldset->addField('blog_image', 'image', array(
        			'name' 	=> 'blog_image',
        			'label' => $this->__('图片'),
        			'title' => $this->__('图片'),
        			'note' 	=> $this->__('上传新闻列表或其他地方会用到的图片'),
        		));
。。。。。。。。。。。。。。

打开AW_Blog_Manage_BlogController文件,在saveAction里添加处理文件上传的代码

       if ($data = $this->getRequest()->getPost()) {
        //上传图片
         if(isset($_FILES['blog_image']['name']) and (file_exists($_FILES['blog_image']['tmp_name']))) {
              try {
              $uploader = new Varien_File_Uploader('blog_image');
              $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['blog_image']['name']);
              
              $data['blog_image'] = $uploader->getUploadedFileName();
              
              }catch(Exception $e) {
              
              }
        }else{
            if(isset($data['blog_image']['delete']) && $data['blog_image']['delete'] == 1)
            $data['blog_image'] = '';
            else
            unset($data['blog_image']);
        
        }

。。。。。。。。。。。。
当然还有一个最重要的,就是在数据库的aw_blog表中新增一个字段来保存图片的路径

后台显示效果如下:


前台在模板文件中调用该图片的方式,在适当的位置加入类似下面的代码:

<img src="<?php echo $this->getUrl('media').$post->getBlogImage();?>">

补丁下载链接:http://www.kuaipan.cn/file/id_5552585259880364.html

PS:补丁里只包含几个php文件,数据库字段的话要自己添加,容许我偷懒下吧得意

目录
相关文章
|
6月前
|
Java
Springboot 导出word,动态填充表格数据
Springboot 导出word,动态填充表格数据
|
JavaScript 算法 前端开发
layui框架实战案例(16):xm-select下拉多选插件实战记录(远程搜索、过滤、翻页、单选、提示文字)
layui框架实战案例(16):xm-select下拉多选插件实战记录(远程搜索、过滤、翻页、单选、提示文字)
824 0
|
10天前
|
JavaScript 前端开发
layui下拉框xm-select自定义搜索使用方法
【10月更文挑战第28天】`xm - select` 是基于 Layui 的下拉框增强插件,支持自定义搜索功能。实现步骤包括:1. 引入 Layui 和 xm - select 的核心文件;2. 创建下拉框的基本 HTML 结构;3. 使用 `layui.use` 函数初始化插件并配置搜索功能;4. 可选地进行高级自定义搜索优化,如模糊匹配、多字段搜索和实时更新数据。通过这些步骤,可实现灵活的下拉框搜索功能。
|
JavaScript 前端开发 Windows
VScode的注释和标题,标签,img的src属性(如何网页上插入图片)(Mac如何开启js控制台)(如何免费复制网页中的文字)
VScode的注释和标题,标签,img的src属性(如何网页上插入图片)(Mac如何开启js控制台)(如何免费复制网页中的文字)
|
6月前
|
JSON 定位技术 数据格式
HTML新特性【账号和获取密钥、初始化、变更地图类型、添加控件、改变控件位置、添加覆盖物、自定义标注图标、添加文本标注】(四)-全面详解(学习总结---从入门到深化)(下)
HTML新特性【账号和获取密钥、初始化、变更地图类型、添加控件、改变控件位置、添加覆盖物、自定义标注图标、添加文本标注】(四)-全面详解(学习总结---从入门到深化)
65 0
|
6月前
|
JavaScript 前端开发 定位技术
HTML新特性【账号和获取密钥、初始化、变更地图类型、添加控件、改变控件位置、添加覆盖物、自定义标注图标、添加文本标注】(四)-全面详解(学习总结---从入门到深化)(上)
HTML新特性【账号和获取密钥、初始化、变更地图类型、添加控件、改变控件位置、添加覆盖物、自定义标注图标、添加文本标注】(四)-全面详解(学习总结---从入门到深化)
62 0
|
安全 测试技术 Go
Go 1.18 新增三大功能之一“模糊测试”使用方式
Go 1.18 新增三大功能之一“模糊测试”使用方式
50 0
|
XML 数据格式
如何将SAP C4C自定义BO中类型为图片的附件用PDF文档显示出来
如何将SAP C4C自定义BO中类型为图片的附件用PDF文档显示出来
如何将SAP C4C自定义BO中类型为图片的附件用PDF文档显示出来
dwz框架新建更新后对原表格刷新
dwz框架新建更新后对原表格刷新
156 0
|
监控 JavaScript 前端开发
Fundebug录屏插件更新至0.5.0,新增domain参数
摘要: 通过配置domain来保证“视频”的正确录制 录屏功能介绍 Fundebug提供专业的异常监控服务,当线上应用出现 BUG 的时候,我们可以第一时间报警,帮助开发者及时发现 BUG,提高 Debug 效率。
1032 0