![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
magento
只要开心就好
这个作者很懒,什么都没留下…
展开
-
第一章 – Magento强大的配置系统
<br />Magento的配置系统就像是Magento的心脏,支撑着Magento的运行。这套配置系统掌管着几乎所有 “module/model/class/template/etc”。它把整个Magento系统抽象出来,用一个配置文件来描述。这里的“配置文件” 并不是一个物理上存在的文件,而是Magento根据当前的系统状态动态生成的一段XML。大多数的PHP开发者并不习惯于这样抽象层,因为它增加的编程 的复杂性。但是这样的抽象提供了无与伦比的灵活性,允许你覆盖几乎任何系统的默认行为。<转载 2011-03-31 11:07:00 · 984 阅读 · 0 评论 -
第七章 – 自定义Magento系统配置2
添加组<br />【译者注:按照逻辑,这里应该讲的内容是添加选项。Mageto中,选项是按照组(Group)来划分的,所以我们在添加选项之前得先添加组。】修改system.xmlLocation: app/code/local/Zhlmmc/Helloworld/etc/system.xml<br /><config><br /><tabs><br /><helloconfig translate="label" module="helloworld"><br /转载 2011-03-31 11:23:00 · 940 阅读 · 0 评论 -
第七章 – 自定义Magento系统配置1
<br />Magento拥有十分强大的后台管理系统。作为一名开发人员,这套后台管理系统可以让你的用户简单直接的配置Magento系统或 者你创建的模块。和Magento的其他功能一样,你第一次使用这套管理系统的时候可能觉得很麻烦,但是一旦你上手了,你会发现它强大的功能是那么吸引 人。那么让我们开始吧。我们这一章的例子依然是基于Helloworld模块。<br /> 添加系统配置文件<br />首先我们要为模块添加一个系统配置文件。这个文件和“config.xml”是不搭界的app/code/转载 2011-03-31 11:22:00 · 1000 阅读 · 0 评论 -
第六章 – 高级Magento模型1
<br />我们讲过Magento有两种模型,简单模型和EAV(Entity Attribute Value)模型。上一章我们讲过所有的Magento模型都是继承自Mage_Core_Model_Abstract / Varien_Object。简单模型和EAV模型的区别在于资源模型(Model Resource)。虽然所有的资源模型都最终继承“Mage_Core_Model_Resrouce_Abstract”,但是简单模型是直接继承 “Mage_Core_Model_Mysql4_转载 2011-03-31 11:19:00 · 778 阅读 · 0 评论 -
第五章 – Magento资源配置2
解剖配置脚本<br />让我们来分析一下上面的代码。【译者注:作者在文中混用了“install script”,“upgrade script”和“setup script”。我在翻译的时候尽量分清。配置脚本包含了安装脚本和升级脚本。】先看第一行$installer=$this;<br /> 这个“$this”是什么呢?每一个配置脚本都是属于某个资源配置类(Setup Resource class),比如上面我们创建的“Zhlmmc_Helloworld_Model_Setup_Mysql4_Setu转载 2011-03-31 11:19:00 · 843 阅读 · 0 评论 -
第五章 – Magento资源配置1
<br />对于任何一个更新频繁的项目来说,保持开发环境和生产环境的数据库同步是件很头疼的事情。Magento提供了一套系统,用版本化的资源迁移脚本来解决这个问题。<br /> 上一章,我们为 Helloworld Blogpost 创建了一个模型。我们直接通过SQL语句“CREATE TABLE”来创建数据表。在这一章,我们将为Helloworld模块创建一个资源配置(Setup Resource)用于创建数据表。我们也会创建一个模块升级脚本,用来升级已经安装的模块。下面是我们要做的步骤在转载 2011-03-31 11:15:00 · 807 阅读 · 0 评论 -
第三章 – Magento的布局(Layout),块(Block)和模板(Template)2
block和reference的区别<br />我们上面提到block和reference都会实例化块对象,那么它们究竟有什么区别呢? reference在布局文件中是用来表示替换一个已经存在的块,举个例子<block type="page/html" name="root" output="toHtml" template="page/2columns-left.phtml"><br /><!-- ... sub blocks ... --><br /></block><br /><!--转载 2011-03-31 11:12:00 · 3188 阅读 · 0 评论 -
第三章 – Magento的布局(Layout),块(Block)和模板(Template)1
<br />我们接着研究Magento。根据我们第二章讲的Magento MVC的架构,我们接下来应该讲模型(Model),但是我们跳过模型先来看布局和块。和一些流行的PHP MVC架构不同的是,Magento的执行控制器不直接将数据传给试图,相反的视图将直接引用模型,从模型取数据。这样的设计就导致了视图被拆分成两部 分,块(Block)和模板(Template)。块是PHP对象,而模板是原始PHP文件,混合了XHTML和PHP代码(也就是把PHP作为模板语言 来使用了)。每一个块都和一转载 2011-03-31 11:11:00 · 1691 阅读 · 0 评论 -
第二章 – Magento请求分发与控制器
<br />Model-View-Controller (MVC) ,模型-视图-控制器,源于Smalltalk编程语言和Xerox Parc。现在有很多系统是基于MVC架构的,不同的系统MVC的实现也略有不同,但都体现了MVC的精髓,分离数据,业务逻辑和显示逻辑。最常见的 PHP MVC框架是这样的<br />URL请求被一个PHP文件拦截,通常称为前端控制器(Front Controller)这个PHP文件分析这个URL,获得一个执行控制器(Action Controller)的名字和一个转载 2011-03-31 11:08:00 · 815 阅读 · 0 评论 -
第六章 – 高级Magento模型2
添加实体类型<br />首先我们修改安装脚本如下$installer=$this;<br />$installer->addEntityType('helloworld_eavblogpost',Array(<br />//entity_mode is the URL you'd pass into a Mage::getModel() call <br />'entity_model'=>'helloworld-eav/eavblogpost',<br />//blank for now <br />'a转载 2011-03-31 11:21:00 · 926 阅读 · 0 评论 -
第四章 – 模型和ORM基础2
设置读写适配器<br />在上面的例子中,我们已经可以从数据库中取数据了,但是我们却没有为资源模型设置读写适配器,怎么回事呢?原因很简单,那就是因为Magento会为没有适配器的资源模型启用默认适配器。我们也可以显式的配置默认的适配器<global><br /><!--...--><br /><resources><br /><helloworld_write><br /><connection><br /><use>default_write</use><br /></co转载 2011-03-31 11:14:00 · 697 阅读 · 0 评论 -
第四章 – 模型和ORM基础1
<br />对于任何一个MVC架构,模型(Model)层的实现都是占据了很大一部分。对于Magento来说,模型占据了一个更加重要的位置,因为它常常包含了一部分商业逻辑代码(可以说它对,也可以说它错)。这些代码在其他的MVC框架中往往出现在控制器或者帮助函数中。传统的PHP MVC架构中的模型<br />本来MVC的定义就不是很清晰,不同的人有不同的看法,而对于模型的定义争议就更多了。在MVC模式被广泛采用之前,PHP程序员往往通过SQL语 句直接操作数据库。也有些程序员通过一个SQL抽象层来操作数转载 2011-03-31 11:13:00 · 823 阅读 · 0 评论 -
Magento - 模型类如何获得资源模型得实例
1. etc/config.xml有如下配置<br /> <global><br /> <models><br /> <hotel><br /> <class>Cartz_Hotel_Model</class><br /> <resourceModel>hotel_mysql4</resourceModel><br />转载 2011-03-31 11:24:00 · 852 阅读 · 0 评论