通过 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分析,查找修改相应文件相关推荐

  1. linux查找最近访问的文件,教您在Linux系统中查找最近修改的文件/文件夹

    如果您使用Linux系统进行日常操作,则主目录文件将随时间急剧增加.如果您有成千上万个文件,很可能不记得最近更改的文件名,本文将教您在Linux系统中查找最近修改的文件/文件夹.另外,如果要检查出于任 ...

  2. linux改变时间 find,Find命令查找最近几天修改的文件

    导读 find 是一个方便的工具,可以在系统上查找文件.可以找到最近几天更改过的文件.这将是本教程的重点. 文件的时间戳类型 中文件带有以下时间戳: atime: 显示上一次读取或访问文件的时间. a ...

  3. 0464-如何离线分析HDFS的FsImage查找集群小文件

    Fayson的github: https://github.com/fayson/cdhproject 推荐关注微信公众号:"Hadoop实操",ID:gh_c4c535955d0 ...

  4. 小白的MatSWMM使用心路(二)——用matlab修改INP文件参数/使用matlab查找txt内容并修改多行内容

    书接上文 小白的MatSWMM使用心路(一)--安装试运行过程与可能常见问题的解决_叶不伤的博客-CSDN博客上一篇中成功运行了MatSWMM,这一篇中来尝试自动率定最关键的一步,修改INP文件. 目 ...

  5. 记csdn打不开或打开缓慢后的修复--如何查找dns并修改hosts文件

    记csdn打开缓慢后的修复–如何查找dns并修改hosts文件 问题: CSDN文章打开的十分缓慢,经常出现无法打开页面的错误提示 (以前用的好好的,现在不知道公司局域网改了什么东西,导致我的电脑打开 ...

  6. dts文件分析---以ov5640为例,修改dts文件使ov5640使用第二个IPU

    在ARMlinux中,每一个.dts文件都对应一个ARM的machine,这些文件都放在arch/arm/boot/dts文件夹中.同时,对于每一个SoC可能对应多个machine,这些dts文件中会 ...

  7. Windows用WinDbg分析蓝屏dump文件查找原因(转)

    WinDbg官方下载: http://msdl.microsoft.com/download/symbols/debuggers/dbg_x86_6.11.1.404.msi http://msdl. ...

  8. Django源码分析4:staticfiles静态文件处理中间件分析

    django源码分析 本文环境python3.5.2,django1.10.x系列1.在上一篇文章中已经分析过handler的处理过程,其中load_middleware就是将配置的中间件进行初始化, ...

  9. 【Android 逆向】修改运行中的 Android 进程的内存数据 ( 使用 IDA 分析要修改的内存特征 | 根据内存特征搜索修改点 | 修改进程内存 )

    文章目录 一.使用 IDA 分析要修改的内存特征 二.根据内存特征搜索修改点 三.修改进程内存 一.使用 IDA 分析要修改的内存特征 在前的博客 [Android 逆向]逆向修改游戏应用 ( 分析应 ...

最新文章

  1. 不满你说,我最近跟Java源码杠上了...
  2. ffmpeg:Codec for stream 0 does not use global headers but container format requires global headers
  3. Android中对话框的工具类
  4. 企业网站前端制作实战教程 JQuery CSS JS HTML 登录表单验证
  5. Hbase2修复 - HBCK2
  6. linux进程的创建、执行和消亡
  7. SQL外键主键脚本查询
  8. Tensorflow官方文档学习理解 (三)-MNIST
  9. error: ‘VPX_IMG_FMT_RGB32’ undeclared (first use in this function); did you mean ‘VPX_IMG_FMT_NV12’?
  10. Atiitt 流水线停顿问题与解决方法 1. 流水线技术方式分类 1 2. 但在实际中,会出现2种情况使流水线停顿下来或不能启动: 2 2.1. 1、多个任务在同一时间周期内争用同一个流水段 2 2
  11. 学前端整理的前端常用代码,希望会对大家有用
  12. 2021暗月web渗透测试攻防全栈红队视频教程网络安全程师培训全系列学习心得分享
  13. ADSL(中国电信\电信)常见故障代码…
  14. vue3兄弟之间传值兄弟之间方法怎么调用?保姆级讲解
  15. 如何用墨刀画出iPhone灵动岛?
  16. 目标检测——RCNN与YOLO系列
  17. 学无人机需要精通计算机吗,无人机航测没有那么难,掌握软件应用及流程就可以上路了...
  18. Qt与脚本初探:QtScript, PyQt, PythonQt, Qt Jambi
  19. 康耐视智能相机Insight全部函数介绍
  20. JS导出html的table表格

热门文章

  1. flac3d命令流实例大全_Activiti6.0工作流引擎深度解析
  2. 自编码器(Auto-encoder) (上) – 基本概念
  3. 3-4numpy聚合操作和arg(索引)运算和排序
  4. jquery-选择器
  5. [Unity] GameFramework 学习记录 4:第三人称控制器
  6. Linux定时任务:crontab安装与检查
  7. vue-cli如何创建项目到计算机指定位置(如何自定义选择磁盘?)
  8. phpcmsV9-本地项目上线 - 踩坑篇
  9. python函数调用键盘热键_如何使用Python控制键盘和鼠标
  10. THINKPHP聊天软件H5实时聊天室自动分配账户全开源商业源码