magento中block应用.doc
文本预览下载声明
Magento中Block的应用(2009-06-08 23:49:51)
标签:magento设计?magento开发?it? 分类:Magento template之于block犹如jsp之于javabean.如果你在本机的虚拟目录magento下建立了magento.那么访问:
引用
? http://localhost/magento/index.php/customer/account/create/
将进入用户注册界面。下面就从URL尝试分析Magento调用该页面的过程1. URL中的customer表明当前访问的模块是customer,自动定位到:?? app\code\core\Mage\Customer2. URL中的account表明当前访问的控制器文件为AccountController.phpapp\code\core\Mage\Customer\controllers\AccountController.php3.URL中的create表明当前访问的php方法是createAction(),该方法在文件app\code\core\Mage\Customer\controllers\AccountController.php4. createAction()装载目录\app\design\frontend\default\default\layout\下名字和模块名相同的 layout文件,名字为customer.xml。然后寻找名字为customer_account_create的标签,
Xml代码
customer_account_create??
??!--?Mage_Customer?--??
??remove?name=right/??
??remove?name=left/??
??
??reference?name=root??
????action?method=setTemplate??
????????template/page/1column.phtml/template牋 u
牋牋?/action牋 late
牋/reference牋 te
牋reference爊ame=content牋 umn
牋牋block爐ype=customer/form_register爊ame=customer_form_register爐emplate=customer/form/register.phtml/牋 omer2
牋/reference牋 us
/customer_account_create牋 r
customer_account_create !-- Mage_Customer -- remove name=right/ remove name=left/ reference name=root action method=setTemplate template/page/1column.phtml/template /action /reference reference name=content block type=customer/form_register name=customer_form_register template=customer/form/register.phtml/ /reference /customer_account_create
reference name=root 用来说明你要使用的布局文件。这个顺带提起,不是本文讨论的范畴。reference name=content下的block就是你定义的block上面的block是默认定义,block类文件可以由customer/form_register推测出来:?? app\code\core\Mage\Customer\Block\Form\Register.phptemplate属性推导出相应的模板文件为?? app\design\frontend\default\default\template\customer\form\register.phtmltemplate之于block犹如jsp之于javabean. 通过这样的配置block和template就联系起来了。可以在template文件中使用$this来访问block类的方法。下面我们实现一个新的block应用1. 定义一个新的block文件: app\code\core\Mage\Customer\Block\Form\Register1.php
Java代码
class?Mage_Customer_Block_Form_Register1?exte
显示全部