magento新闻模块开发(四)

修改 /app/code/local/Xinson/News/etc/config.xml

<modules>
    <Xinson_News>
        <version>0.1.1</version>
    </Xinson_News>
</modules>

数据库更新文件

/app/code/local/Xinson/News/sql/news_setup/mysql4-upgrade-0.1.0-0.1.1.php

<?php
/* @var Mage_Core_Model_Resource_Setup $this */
$this->run("
ALTER TABLE `news` ADD `filename` VARCHAR (50) NOT NULL DEFAULT ‘‘ AFTER `title`;
");

修改编辑区域

/app/code/local/Xinson/News/Block/Adminhtml/News/Edit/Tab/Form.php

<?php

class Xinson_News_Block_Adminhtml_News_Edit_Tab_Form extends Mage_Adminhtml_Block_Widget_Form
{
    protected function _prepareForm()
    {
        $model = Mage::registry(‘news_data‘);

        $form = new Varien_Data_Form();

        $fieldset = $form->addFieldset(‘news_form‘, array(‘legend‘=>Mage::helper(‘news‘)->__(‘News information‘)));

        if ($model->getNewsId()) {
            $fieldset->addField(‘news_id‘, ‘hidden‘, array(
                ‘name‘ => ‘news_id‘,
            ));
        }
        $fieldset->addField(‘title‘, ‘text‘, array(
            ‘name‘ => ‘title‘,
            ‘label‘ => Mage::helper(‘news‘)->__(‘News Title‘),
            ‘title‘ => Mage::helper(‘news‘)->__(‘News Title‘),
            ‘required‘ => true,
        ));

        $fieldset->addField(‘is_active‘, ‘select‘, array(
            ‘name‘ => ‘is_active‘,
            ‘label‘ => Mage::helper(‘news‘)->__(‘Status‘),
            ‘title‘ => Mage::helper(‘news‘)->__(‘News Status‘),
            ‘required‘ => true,
            ‘options‘ => $model->getAvailableStatuses(),
        ));
        
        //新加的
        //小图路径
        $fieldset->addType(‘image‘, Mage::getConfig()->getBlockClassName(‘news/adminhtml_news_helper_image‘));
        //输入框
        $fieldset->addField(‘filename‘, ‘image‘, array(
            ‘label‘     => Mage::helper(‘news‘)->__(‘File‘),
            ‘required‘  => false,
            ‘name‘      => ‘filename‘,
        ));

        $fieldset->addField(‘content‘, ‘editor‘, array(
            ‘name‘ => ‘content‘,
            ‘label‘ => Mage::helper(‘news‘)->__(‘Content‘),
            ‘title‘ => Mage::helper(‘news‘)->__(‘Content‘),
            ‘required‘ => true,
            ‘style‘ => ‘width:700px; height:300px;‘,
        ));

        $form->setValues($model->getData());
        $this->setForm($form);

        return parent::_prepareForm();
    }
}

修改config配置文件(上传文件保存的目录)

<config>
   ......

    <default>
        <news>
            <general>
                <image_folder>news</image_folder>
                <placeholder>no_image.jpg</placeholder>
            </general>
        </news>
    </default>

</config>

加Image文件,/app/code/local/Xinson/News/Block/Adminhtml/News/Helper/Image.php

<?php

class Xinson_News_Block_Adminhtml_News_Helper_Image extends Varien_Data_Form_Element_Image
{
    protected function _getUrl()
    {
        $url = false;
        if ($this->getValue()) {
            $url = Mage::getBaseUrl(‘media‘) . trim(Mage::getStoreConfig(‘news/general/image_folder‘), ‘ /\\‘) . ‘/‘ . $this->getValue();
        }
        return $url;
    }
}
时间: 2024-07-28 13:20:47

magento新闻模块开发(四)的相关文章

magento新闻模块开发(二)

Magento提供了强大的Grid Widget使我们能够方便的创建数据表格,现在我们为新闻模块创建后台数据表格. 修改config.xml配置文件,添加admin路由 <config>     <admin>         <routers>             <news>                 <use>admin</use>                 <args>               

magento新闻模块开发(一)

Magento模块开发的简单示例 开发模式下开启日志记录,方便调试. System->Developer magento/var 要开启777权限,/var/log目录下能看到(exception.log,system.log). 模块文件 (Xinson 为Packagename,News为Modulename) Packagename_All.xml的命名表示Package中开启多个模块 /app/etc/modules/Xinson_News.xml <?xml version=&quo

magento新闻模块开发(三)

修改Grid Block 在/app/code/local/Xinson/News/Block/Adminhtml/News/Grid.php中添加_prepareMassaction()函数 <?php class Xinson_News_Block_Adminhtml_News_Grid extends Mage_Adminhtml_Block_Widget_Grid {     //...          protected function _prepareMassaction()  

PHP新闻系统开发流程

PHP新闻系统开发流程一.系统总体设计 (一)系统功能描述和功能模块划分 (二)系统流程分析 (三)系统所用文件二.数据库设计 (一)创建数据库 (二)设计表结构三.新闻发布模块开发 (一)新闻首页 (二)新闻详细页面及其他各类详细页面(内容页) (三)新闻所有页面及其他各类所有页面(列表页)四.新闻管理模块开发 (一)新闻管理首页 (二)新闻插入页面 (三)新闻修改页面 (四)新闻删除确认页面 (五)新闻删除页面

第二篇 基于微擎的模块开发—PHP

从陌生到如今能勉强完成第一个微网站模块的实现.也算是一个小小的进步,从设计数据库到,返回数据,前端模版渲染 每一点都是有点难度的.所以我想总结一下,我是如何实现一个微擎模块. 第一,首先得分析某个模块的想实现什么需求,根据需求设计合理的数据库结构. 第二,了解微擎的结构,运行流程,设计模块结构. 第三,重点就是site.php , 完成site.php 需要一定的php的编程能力, 第四,site.php 其中 通过 pdo 从数据库的获取我们想得到数据源. 微擎已封装其路由机制, doWeb

Clover周报模块 -- 开发总结

2014年7月8日 00:16:05 一.切图 这次开发,切图花了不少时间,样式是用scss写的,第一次用,不过用着用着就发现它的强大,层级.作用域.重用等都非常的方便,还有考拉神器,用着真是爽!不过,改起样式来就蛋疼了,通过浏览器看到的是css样式,然后从css里找到它是scss的第几行,多了一层转折,不能通过浏览器直接看到scss的样式,略感麻烦. 二.布局 整个周报页面是在一张HTML页面上实现的,用Ajax请求各种数据,然后展现到页面的不同位置.因为神框架Avalon的存在,数据的处理变

Nginx模块开发入门(转)

前言 Nginx是当前最流行的HTTP Server之一,根据W3Techs的统计,目前世界排名(根据Alexa)前100万的网站中,Nginx的占有率为6.8%.与Apache相比,Nginx在高并发情况下具有巨大的性能优势. Nginx属于典型的微内核设计,其内核非常简洁和优雅,同时具有非常高的可扩展性.Nginx最初仅仅主要被用于做反向代理,后来随着HTTP核心的成熟和各种HTTP扩展模块的丰富,Nginx越来越多被用来取代Apache而单独承担HTTP Server的责任,例如目前淘宝内

linux下nginx模块开发入门

本文模块编写参考http://blog.codinglabs.org/articles/intro-of-nginx-module-development.html 之前讲了nginx的安装,算是对nginx有了最初步的了解,在配置完之后,我们就可以进行简单的nginx模块开发了. 下面本文展示一个简单的Nginx模块开发全过程,我们开发一个叫echo的handler模块,这个模块功能非常简单,它接收“echo”指令,指令可指定一个字符串参数,模块会输出这个字符串作为HTTP响应.例如,对ngi

Nginx模块开发入门

前言 Nginx是当前最流行的HTTP Server之一,根据W3Techs的统计,目前世界排名(根据Alexa)前100万的网站中,Nginx的占有率为6.8%.与Apache相比,Nginx在高并发情况下具有巨大的性能优势. Nginx属于典型的微内核设计,其内核非常简洁和优雅,同时具有非常高的可扩展性.Nginx最初仅仅主要被用于做反向代理,后来随着HTTP核心的成熟和各种HTTP扩展模块的丰富,Nginx越来越多被用来取代Apache而单独承担HTTP Server的责任,例如目前淘宝内