magento URL分析,查找修改相应文件

系统 2370 0

通过 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代码:

    <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.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

    class Mage_Customer_Block_Form_Register1 extends Mage_Directory_Block_Data{ 
    public function getHello(){ 
        return "Hello Block"; 
    } 
} 
  
  

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

    <?php echo $this->getHello(); ?>
  
  

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

    <block type="customer/form_register" name="customer_form_register" template="customer/form/register.phtml"/>  
  
  

修改为Xml代码  

    <block type="customer/form_register1" name="customer_form_register1" template="customer/form/register1.phtml"/>  
  
  

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

 

 

 

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

magento URL分析,查找修改相应文件


更多文章、技术交流、商务合作、联系博主

微信扫码或搜索:z360901061

微信扫一扫加我为好友

QQ号联系: 360901061

您的支持是博主写作最大的动力,如果您喜欢我的文章,感觉我的文章对您有帮助,请用微信扫描下面二维码支持博主2元、5元、10元、20元等您想捐的金额吧,狠狠点击下面给点支持吧,站长非常感激您!手机微信长按不能支付解决办法:请将微信支付二维码保存到相册,切换到微信,然后点击微信右上角扫一扫功能,选择支付二维码完成支付。

【本文对您有帮助就好】

您的支持是博主写作最大的动力,如果您喜欢我的文章,感觉我的文章对您有帮助,请用微信扫描上面二维码支持博主2元、5元、10元、自定义金额等您想捐的金额吧,站长会非常 感谢您的哦!!!

发表我的评论
最新评论 总共0条评论