增强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文件,数据库字段的话要自己添加,容许我偷懒下吧

时间: 2024-08-04 05:55:41

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

增强AW_Blog插件之后台文章列表添加分类栏

AW_Blog插件是Magento必备的免费插件之一,一般来说我是用来做新闻插件,甚至是用来作为一个简单的CMS,来补强Magento孱弱的文章发布管理功能.当然以CMS的角度来衡量,AW_Blog还是太简陋了,其中一点就是,虽然AW_Blog提供了文章分类的功能,添加文章时可以选择属于哪个分类,但是在后台的文章列表页面,并没有分类这一栏,这让管理这些文章带了不少麻烦,特别是在文章数量比较多的时候.所以这里提供一个AW_Blog的增强补丁供大家下载,上传覆盖原有的AW_Blog文件后,文章列表的

外包企业站仅仅一个文章编辑后台如何做SEO

目前本人在长沙一家企业管理培训公司网络部任职.任职1个月零9天.主要工作也就是做做SEO,做做信息发布,一些网络来的意向客户的洽谈.工作说忙也忙,说累也累.这也是至从我09年以来逐渐放弃到09年低彻底放弃网络这块第一次回来工作.所以,面对这次的工作,我表示一脸的茫然. 还记得刚接受这个企业管理培训网站的时候心情是相当的复杂.整个网站仅仅接受一个后台权限,后台也仅仅只能添加文章发布信息而已.网站前台结构不合理,设计美观差,甚至在不同浏览器和分辨率下面框架错位.用户体验度严重缺失.title以及de

DedeCms织梦后台添加编辑文章空白解决办法

原因分析: 根据dedecms官方文档说明,出现这种问题是可能是由于catalog_do.php里的header()的问题,因为当执行header()前,如果前面输出了空格.空行.任何字符,都会导致header()跳转失效.这就需要你非常有耐心的去排查一个个<?php  ?>是否有空格或空行.把这些空格空行删除,至此功能就全部正常了. 解决的方法: 1.下载-/dede/catalog_do.php把文件下载到本地,用文本编辑器打开,做如下替换: A.把:header("locati

可以搜索到DedeCms后台文章列表文档id吗?或者快速定位id编辑文章

我们在建站时有的时候发现之前的文章有错误了,要进行修改,但又不知道文章名,只知道大概的文章id,那么可以搜索到DedeCms后台文章列表文档id吗?或者快速定位文章id方便修改? 第一种方法:复制下面的链接地址,直接修改文章id(aid=1183这个数字),就进入文章编辑页面了 http://www.*.com/dede/archives_do.php?aid=1183&dopost=editArchives 第二种方法:后台那边添加搜索文档id功能,打开文件/dede/content_list

实战给AW_Blog插件添加缓存

            aheadworks公司的Blog插件可以算是Magento所有免费插件中最有名也是使用最广泛的一个插件了,就我自己来说,也是每个项目的必备插件(我一般用来做为新闻插件使用).今天拿它做例子演示下给Block添加缓存(Cache).         这个截图是我某个项目使用aw_blog插件的实例,使用AW_Blog_Block_Blog这个block文件在首页输出某个新闻类别下的新闻列表,aw_blog插件本身是没给输出内容做过缓存处理的,也就是说,即便你一天或几天才更

实战给AW_Blog插件添加缓存(续)

两年前的文章(实战给AW_Blog插件添加缓存)描述了一个Block Cache的实例,最近发现代码其实写的有点累赘,后台保存时自动触发刷新缓存并不需要自己去写刷新的动作,系统原生的Model继承类Mage_Core_Model_Abstract里已经有实现这个动作的代码,只需要简单的配置下变量就能实现.修改后的方案如下(Block类的所需修改代码不变) 打开AW_Blog_Model_Post这个文件,在头部定义一个常量,再定义一个变量 const CACHE_TAG = 'aw_blog';

WordPress插件WP-EasyArchives添加文章归档页面例子

安装插件 第一步就是需要先安装好WP-EasyArchives插件!安装完成之后启动插件,然后去配置一下插件选项即可! 新建archives.php 我们在终端操作,进入到主题目录下,看到了page.php了吗?看到就可以了! 然后通过下面的命令操作一下: cp page.php archives.php   这样就新建了一个文件名叫archives.php,同时它也复制了page.php中的所有内容! 然后修改一下archives.php文件,去掉头注释,修改为: /* Template Na

百度WordPress结构化数据插件会延长文章发布时间

  之前百度推出了一款WordPress结构化数据插件,经使用感觉还不错.只是最近发现一个问题,在WordPress后台发布新文章时,点击发布后,要等很久页面才能提交成功,而且经常造成主机资源超限,出现500错误. 经排查,露兜发现此问题是由WordPress结构化数据插件造成的,它的publish_post执行函数耗时15秒!停用该插件后,文章发布就变得很快了.当然也有可能是这个插件跟我网站的某些代码不兼容造成.如果你的WordPress后台发布文章也要等很长时间,并且安装了这个插件,不妨用下

企业网站之站内文章编辑手册

中介交易 SEO诊断 淘宝客 云主机 技术大厅 写在开头: 对于企业站来说,站内文章内容是一个不可缺少的组成部分,鉴于企业网站内容的枯燥特性,做为负责企业网站每天文章内容编辑的笔者和其它同行朋友可谓"深受其害",那么每天对着一个企业网站写文章是否真的那么难? 每天写,写不出来?刚入行不知道如何写企业网站文章的同学大有人在,下面内容可能可以解你忧愁,好了不说了,步入正题! 阅读注明:目前为用于笔者正职的公司网站,适合新入职编辑的朋友阅读学习思路及方法. 一:内容范围.来源.写作意图 1)