magento 根据url寻找要修改的文件

来源:互联网 发布:昆山cnc编程招聘信息 编辑:程序博客网 时间:2024/05/01 21:13

通过 http://localhost/magento/index.php /customer/account/create/ 分析Magento调用该页面的过程

 

1. URL中的customer表明当前访问的模块 是customer ,自动定位到: app/code/core/Mage/Customer

 

2. URL中的account 表明当前访问的控制器文件 为 AccountController.php app/code/core/Mage/Customer/controllers/AccountController.php

 

3.URL中的create表明当前访问的php方法是createAction(),该方法在文件app/code/core/Mage/Customer/controllers/AccountController.php

 

4. createAction()装载目录/app/design/frontend/default/default/layout/下名字和模块名相同的 layout文件,名字为customer.xml。然后寻找名字为<customer_account_create>的标签,Xml代码:

Xml代码  收藏代码
  1. <customer_account_create>   
  2.     <!– Mage_Customer –>   
  3.     <remove name=”right”/>   
  4.     <remove name=”left”/>   
  5.     <reference name=”root”>   
  6.         <action method=”setTemplate”>   
  7.             <template>/page/1column.phtml</template>   
  8.         </action>   
  9.     </reference>   
  10.     <reference name=”content”>   
  11.         <block type=”customer/form_register” name=”customer_form_register” template=”customer/form/register.phtml”/>   
  12.     </reference>   
  13. </customer_account_create>   
 

<reference name=”root”> 用来说明你要使用的布局文件。

<reference name=”content”>下的block就是你定义的block

 

上面的block是默认定义,block类文件可以由customer/form_register推测出来:app/code/core/Mage/Customer/Block /Form/Register.php

 

template 属推导出相应的模板文件为: app/design/frontend/default/default/template/customer/form/register.phtml

 

template之于block犹如jsp之于javabean. 通过这样的配置block和template就联系起来了。可以在template文件中使用$this来访问block类的方法。

 

下面我们实现一个新的block应用

 

1. 定义一个新的block文件:app/code/core/Mage/Customer/Block/Form/Register1.php

Java代码  收藏代码
  1. class Mage_Customer_Block_Form_Register1 extends Mage_Directory_Block_Data{   
  2.     public function getHello(){   
  3.         return "Hello Block";   
  4.     }   
  5. }   
  

2. 定义template文件:app\design\frontend\default\default\template\customer\form\register1.phtml

Php代码  收藏代码
  1. <?php echo $this->getHello(); ?>  
  

3. 修改customer.xml配置将Xml代码  

Xml代码  收藏代码
  1. <block type="customer/form_register" name="customer_form_register" template="customer/form/register.phtml"/>    
  

修改为Xml代码  

Xml代码  收藏代码
  1. <block type="customer/form_register1" name="customer_form_register1" template="customer/form/register1.phtml"/>    
  

重新访问该url,不出意外你应该可以看到下面的结果

 

 

 

转载:http://www.beijibear.com/index.php?aid=546

0 0
原创粉丝点击