Magento入门开发教程

前端之家收集整理的这篇文章主要介绍了Magento入门开发教程前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

Modules->模块

Controller->控制器

Model->模型

是这个星球上最强大的购物车网店平台。当然,你应该已经对此毫无疑问了。不过,你可能还不知道,Magento同样是一个面向对象的PHP框架。你可以配合Magento购物车程序强大的功能,开发动态WEB应用程序。

  • Modules)代码组织形式

Magento的代码:

你的代码:

/

<>Packagename_Modulename_Model>

 

.是Magento的核心文件。

中的任何代码。在MVC系统中,index.的左右大概有以下几项:

://example.com/catalog/category/view/id/25

URL地址可以被分拆为以下几个部分。

Front Name – catalog

Controller Name – Category

文件夹,用来存放该模块下的所有控制器。上述URL地址,匹配了下面这个控制器文件

Mage_Catalog_CategoryController }

 

Action Name – view

Mage_Catalog_CategoryController }

 

Paramater/Value – id/25

<>standard> Mage_Catalog catalog

 

catalog。这是用来关联模块与URL地址中frontname的。Magento核心代码选择将一个模块的名字与frontname一致,但这不是强制规定的。

Mage::getModel('catalog/product' Mage::helper('catalog/product');

 

Mage::getModel('catalog/product' Mage::helper('catalog/product' Mage_Catalog_Helper_Product;

 

= Mage::getModel('catalog/product')->load(27 = -> += 5 ->setPrice()->setSku('SK1231414' ->save();

 

getPrice()会获取模型属性price,而调用$product->setPrice()会设置price属性。当然,所有的这些都假设模型类没有getPrice和setPrice方法。如果它们存在于模型类中,PHP魔术方法会被忽略。如果你有兴趣知道这是如何实现的,可以参考Varien_Object类,所有的模型类都继承自该类。

getData()方法,它会返回包含所有字段的一个数组。

符号链接的形式:

->setPrice()->setSku(‘SK12312542′);

能够使用这种方式调用方法,最主要的原因是所有的set方法都会返回一个模型的实例。 你会经常在Magento的核心代码中看到此类调用方法的形式。

= Mage::getModel('catalog/product' -> ->addAttributeToSelect('*' ->addFieldToFilter('price','5.00');

 

( -> }

 

= Mage::helper('catalog');

 

= Mage::helper('catalog/data');

 

= ->__('Magento is Great' (-> }

 

(!-> ((['store']) && !->getResponse()-> ->redirect('' } (!->getResponse()-> ->_forward('noRoute' -> -> }

 

使用与其对应的page/html/head.phtml模板文件

文件就是视图文件

调用,

-> ->renderLayout();

输出head,body以及设定单栏或多栏的布局。另外,还有一些内容Blocks负责实际输出像导航,产品分类等。

内容”Blocks在布局系统中是随意设置的。一般不会在代码中刻意添加代码,从而区分一个Block是结构还是内容,但是Blocks要么属于“结构”,要么属于“内容”。

添加一个内容Blocks到布局中,你需要告诉Magento系统

添加到内容Block 里”

代码进行控制,

= ->getLayout()->createBlock('adminhtml/system_account_edit' ->getLayout()->getBlock('content')->append( }

 

前台购物车应用中)是使用基于XML文件的布局系统。

文件的布局 允许你删除正常输出的Blocks或者添加默认的skeleton区域(即Structure Blocks)。例如下面这个XML布局文件

 

代码的作用是,在catalog模块的category控制器的默认动作方法中,将catalog/navigation Block插入到左边栏结构Block中,并使用catalog/navigation/left.phtml模板文件

文件中,你会看到很多类似下面的代码

->getChildHtml('order_items')

输出套嵌Block的方式。但是,只有在XML布局文件中明确声明一个Block包含另一个子Block时,才能在模板文件中通过getChildHtml()方法调用子Block的模板文件

文件中,

 

getChildHtml(‘foobar’);

用户作为钩子。对于在页面请求时(模型存储,用户登录等)调用的特定动作方法,Magento会生成一个事件信号。

特定用户登录商店的时候发一封邮件管理员信箱里,可以通过“监听”customer_login事件做到。

singleton <>mymodule/observer> iSpyWithMyLittleEye

 

用户登录时应该运行的代码

iSpyWithMyLittleEye( = -> }

 

功能,你可以通过自己的代码覆盖核心代码里的模型,助手,和Blocks类。

功能。产品的模型类是Mage_Catalog_Model_Product.无论何时,下面的代码调用时,就会生成一个Mage_Catalog_Model_Product对象。

= Mage::getModel('catalog/product');

Packagename_Modulename_Model_Foobazproduct }

 

父类中方法的行为,并且完全继承父类的所有功能

Packagename_Modulename_Model_Foobazproduct 添加一些自定义的验证功能 }

 

配置文件中进行配置。

<>Packagename_Modulename_Model> Packagename_Modulename_Model_Foobazproduct

 

原文链接:https://www.f2er.com/php/403004.html

猜你在找的PHP相关文章