Magento作为内容管理系统(cms)或开发框架使用

piaoling  2011-07-26 16:13:19

Magento框架设计的魅力实在是另我钦佩,所以把Magento其他模块都禁用掉了仅留下了Core和Cms模块,作为我的开发框架使用。试用了下,完美!

作为CMS可能Magento不是最好的,我们也不去争论它,只是我认为这样做更适合我的需求,或者说是适合作为我的开发框架使 用。同时我要说的是这样禁用掉很多模块,后台留下的一些目录进去后会报错,这个要依照你自己的使用去修改。我相信能对我这篇文章感兴趣的人一定有很深的技 术基础,所以请尽情发挥吧,Magento可以带给你无限的可能。

当前使用版本Magento 1.4.1
作者:精东(转载请留下作者信息)

具体配置方法如下:
1、修改配置文件
Mage_All.xml仅激活以下模块,修改请将各个模块中的active标签改为false。

Mage_Core#核心模块
Mage_Eav#Magento最优秀的模块EAV,成功将eav数据结构迁移到php+MySql平台,我将其留下是为了以后做其他功能开发使用。
Mage_Page#前台的核心模块,用来做页面布局
Mage_Install#系统安装模块,作为框架开发使用
Mage_Admin#后台核心模块,作为管理员和权限的管理
Mage_Adminhtml#后台管理中心
Mage_Cron#系统的计划任务模块,相当有用,让你的系统自动化起来。
Mage_Cms#内容管理模块,也是今天文章重点,我们计划将Magento改造成一个Cms
Mage_GoogleAnalytics#Google的统计模块,我将使用GA来做网站的统计,所以我将其留了下来,如果不喜欢GA你也可以将其禁用
Mage_Media#系统的媒体模块,对媒体文件的管理起到重要作用

以上就是Mage_All.xml里所有留下的模块,当然你也可以增加你想用的模块,但是你要注意依赖关系。

在安装调试的时候我将网站转为开发模式,修改/index.php文件,按照如下代码修改:

#Varien_Profiler::enable();

//if (isset($_SERVER['MAGE_IS_DEVELOPER_MODE'])) {
    Mage::setIsDeveloperMode(true);
//}
 
ini_set('display_errors', 1);

2、打开/app/etc/modules除Mage_Widget.xml之外的其他配置文件,并将他们中的所有模块禁用掉。

Mage_Api.xml
Mage_Bundle.xml
Mage_Centinel.xml
Mage_Compiler.xml
Mage_Downloadable.xml
Mage_Weee.xml
Phoenix_Moneybookers.xml

3、按照正常的方式去按照Magento,如果出现什么意外请注意是否你都开启了我所说的模块。如果你有增加,请按照我上面的方式打开开发者模式,比较简单的英文,应该可以看懂。

4、访问前台,正常的,但是访问后台登录后却报错了。这是因为Magento默认的后台首页是dashboard,但dashboard里有些 block要用到销售和产品一些模块。所以我们需要把后台的默认首页改成其他的页面,我将其改成cms的page页面,改法如下,有两个方法。

在改方法前我们先把Dashboard从后台目录中拿掉:
修改app/code/core/Adminhtml/etc/adminhtml.xml注释掉掉这段

        <!--<dashboard translate="title" module="adminhtml">
            <title>Dashboard</title>
            <sort_order>10</sort_order>
            <action>adminhtml/dashboard</action>
        </dashboard>-->

方法一:

修改/app/code/core/Mage/Core/etc/config.xml,找到下面这段

        <admin>
            <startup>
                <page>cms/page</page><!--修改这里,由dashboard改为cms/page-->
            </startup>
            <url>
                <use_custom>0</use_custom>
                <custom></custom>
            </url>
            <security>
                <use_form_key>1</use_form_key>
            </security>
        </admin>

方法二:
执行下面的sql:

INSERT INTO `core_config_data` (
`config_id` ,
`scope` ,
`scope_id` ,
`path` ,
`value`
)
VALUES (
NULL , 'default', '0', 'admin/startup/page', 'cms/page'
);

同时可以看下数据表,完美的51张表。

到此,我们已经剥离了Magento的系统核心和CMS模块,使Magento作为CMS使用,或者说作为我的开发框架使用。
当然你也可以删除你没用到的模块文件。
如果有其他问题可以留言给我。

类别 :  magento(258)  |  浏览(5868)  |  评论(0)
发表评论(评论将通过邮件发给作者):

Email: