Magento如何创建静态区块
通过使用Magento的静态区块(Static Blocks)能够为分类页面创建内容类网页,展示项目和促销活动,而不是只显示一个网格的产品清单。要创建一个静态块,到CMS > Static Blocks并点击Add New Block按钮
1. 输入Block Title。
2. Block Identifier中不能包含任何空格。当您想在着陆页或newsletter中建立一个区块(见着陆页和创建和发送Newsletter),您通过下面的代码可以使用此标识: {{block type=”cms/block” block_id=”block-id”}}
3. 选择此block适用的Store View。你也可以适用于All Store Views。
4. 通过Status你可以激活(Enabled)或关闭(Disabled)此block。
5. 输入HTML格式的内容。
6. 当完成,点击Save Block按钮。
你可以在Catalog > Manage Categories 中的CMS Block下拉菜单中选择要在分类页面中使用的block。
静态模块有令人难以置信的灵活性,使您可以创建一个简单的文本类别的说明,或某种复杂的多种影像地图,如我们所展示的电子类网页。您还可以通过下面的代买在着陆页中添加区块:
{{block type=”cms/block” block_id=”block-id”}}
magento如何添加自定义插件(模块)
大多数Magento的系统模块的结构和我们将要构建的插件的结构是一样的。Magento的系统模块在以下目录
app/code/core/Mage
每一个子目录都是一个单独的模块。这些模块是由Magento官方开发的。我们安装完Magento以后,所使用的功能就是来自这些模块。我们自己创建的 模块应该放在如下目录
app/code/local/Packagename
“Packagename”应该是一个唯一的字符串,用来标识你的代码。通常人们使用公司名字作为Packagename,这个是随便起的,只要不与别的模块名字相同就可以了(注:相同的话会覆盖)
比如我将使用域名“Bmagentodotcom”。 然后,我们要创建以下目录结构(注:本例是一个用来查看系统config.xml合集的模块,为了开发方便,最好是都做个这个模块)
你的插件并不一定需要包含以上所有的目录,但是为了以后开发方便,我们还是在一开始就把目录创建好。接下来我们要创建两个文件,一个是 config.xml,放在etc目录下面
app/code/local/Bmagentodotcom/Configviewer/etc/config.xml
文件内容如下
第二个文件需要在如下位置创建(注:这个文件是用来注册该模块的)
app/etc/modules/Bmagentodotcom_Configviewer.xml
第二个文件应该遵循如下命名规则“Packagename_Modulename.xml”,文件内容如下
建立好这两个文件以后,你的模块的骨架就已经完成了。Magento已经知道你的模块存在,但是现在你的模块 不会做任何事情。我们来确认一下Magento确实装载了你的模块
清空Magento缓存
在后台管理界面,进入 System->Configuration->Advanced
展开“Disable Modules Output”
确认“Bmagentodotcom_Configviewer”显示出来了
如果你看到“Bmagentodotcom_Configviewer”,那么恭喜你,你已经成功创建了你第一个Magento模块!
创建模块逻辑
我们之前创建的模块不会做任何事情,下面我们来为这个模块加入一个查看系统config.xml合集的逻辑:
1. 检查“showConfig”查询字符串是否存在
2. 如果“showConfig”存在,那么检查“showConfigFormat”查询字符串是否存在
3. 如果“showConfigFormat”存在,那么输出指定格式的配置信息,否则输出默认格式的配置信息
4. 终止执行流程
首先更改我们的config.xml文件
然后创建如下文件
Bmagentodotcom/Configviewer/Model/Observer.php
输入以下内容
好了,代码编辑结束。清空你的Magento缓存,输入如下URL
http://www.bmagento.com/?showConfig=true
(注: 根据文中的配置,不难看出任何指向Magento的URL加了“?showConfig=true”以后,都会输出同样的内容,正常的执行流程会被终 止。)
配置文件分析
打开上述URL,你应该看到一个巨大的XML文件。这个文件描述了当前Magento系统的状态。它列出了所有的模块,数据模型,类,事件,监听器 等等。举个例子,如果你搜索如下字符串
Configviewer_Model_Observer
你会发现刚刚你创建的那个类被列出来了。Magento会解析每个模块的config.xml,并把它们包含在这个全局配置中。
这个配置文件有啥用?
到目前为止,我们所作的事情似乎没什么意义,但是这个配置文件却是理解Magento的关键因素。你创建的每一个模块都会被加到这个配置文件中,任 何时候,你需要调用一个系统功能的时候,Magento都会通过这个配置文件来查询相应的模块和功能。举个简单的例子,如果你懂MVC的话,你应该和 “helper class”之类概念的打过交道
$helper_salesrule = new Mage_SalesRule_Helper();
Magento抽象了PHP的类声明方式。在Magento系统中,上面的代码等同于
$helper_salesrule = Mage::helper(’salesrule’);
Magento将通过以下逻辑来处理这行代码
在配置文件中查找标签
在里面查找 标签
在里面查找 标签
实例化从#3找到的类(Mage_SalesRule_Helper)
Magento总是通过配置文件来获得类名,这个逻辑看起来有些复杂,但这样做的优点也很明显,我们可以不需要更改Magento的代码就能更改 Magento的核心功能。这种高度抽象的编程方式在php中并不常见,但 是它可以让你清晰的扩展或者替换系统的某一部分。
Magento的系统需求
下面是Magento的运行环境最低需求配置:
• Linux, Windows, 或其他 UNIX兼容操作系统
• Apache Web Server (1.x or 2.x)
• PHP 5.2.0 以上, 并且包含下列扩展(Extensions/Addons):
☉ PDO/MySQL
☉ MySQLi
☉ mcrypt
☉ mhash
☉ simplexml
☉ DOM
☉ curl
☉ gd
☉ soap
• MySQL 4.1.20 或更新版本
• Sendmail兼容的 Mail Transfer Agent (MTA)
• 如果没有MTA,Magento 将直接连接一个 SMTP server
我们还建议使用APC作为一个字节码缓存,将会使Magento获得性能方面的改进。你可以在PECL中找到它:http://pecl.php.net/package/APC。其他字节码缓存系统暂时不支持。
如果您不确定您的服务器托管公司是否支持这些功能,请与联系他们。您还可以通过下面的链接查看这些规格:http://www.100magento.com/98。如果你的服务器支持上面提到的一些条件,那么你就可以下载并安装Magento了。
magento数据转移-换服务器后转移数据
1.进入原来的phymyadmin,选择magento的那个数据库,在右边的标签上点击导出。
2.全选所有的表,结构那儿都勾上:添加 DROP TABLE,如果不存在就增加,添加 AUTO_INCREMENT 值,请在表名及字段名使用引号;数据那儿选择完整插入;勾上另存为文件,点击执行,保存当前数据库 。
3.打开保存的数据库导出的文件
在头上添加
SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT; SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS; SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION; SET NAMES utf8; SET @OLD_UNIQUE_CHECKS=@@UNIQUE_CHECKS, UNIQUE_CHECKS=0; SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0; SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE=’NO_AUTO_VALUE_ON_ZERO’; SET @OLD_SQL_NOTES=@@SQL_NOTES, SQL_NOTES=0;
在结尾添加
SET SQL_MODE=@OLD_SQL_MODE; SET FOREIGN_KEY_CHECKS=@OLD_FOREIGN_KEY_CHECKS; SET UNIQUE_CHECKS=@OLD_UNIQUE_CHECKS; SET CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT; SET CHARACTER_SET_RESULTS=@OLD_CHARACTER_SET_RESULTS; SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION; SET SQL_NOTES=@OLD_SQL_NOTES;
然后查找并且替换所有的 原来的主路径 到 现在的主路径(比如原来是www.bmagento.com,现在是www.100magento.com,必须要全部替换掉),不然数据转移后的Magento将仍然不能使用。
4.在新的地方重新安装MAGENTO,再将app和skin文件全部覆盖去,访问新的地方的phpmyadmin,点击导入,将上面的那个文件选择进去,如果太大,压缩为ZIP格式,点击执行。
5.完成之后将新的magento文件夹下面var/ session,和var/cache下面的缓存文件全部清空。
到此,Magento数据转移全部完成,换服务器或主机转移magento是件比较麻烦的事情,100magento希望这篇文章可以减少正在转移magento数据的人的烦恼与痛苦。