通过 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 1.9.2.4版本中,这个方法位于`app/code/core/Mage/Core/Model/Url.php`文件内。在这个方法中,添加逻辑来检查当前请求的URL是否包含语言代码。如果没有,我们可以手动设置默认商店代码,这样系统会自动跳...
插件需要设置自定义控制器和动作来处理这些静态URL,根据URL路径中的参数来执行相应的筛选查询。 3. **模板和皮肤**:文件夹`skin`可能包含了插件的CSS和JavaScript文件,用于与前端界面交互,确保筛选按钮和链接以...
对于文件替换补丁,例如压缩包中的“magento2.4覆盖文件”,你需要逐个将这些文件复制到你的Magento根目录相应的位置,覆盖原有的文件。务必谨慎操作,确保你了解每个文件的作用。 6. **运行命令行工具**:Magento ...
标题:“Magento数据结构分析” 描述:“Magento数据字典”提供了对Magento系统中各种数据库表的深入理解,这对于理解和优化Magento的性能至关重要。 一、Magento数据结构解析 Magento是一款功能强大的电子商务...
本文件是 Magento 数据库的建库文件,用于快速构建和初始化 Magento 系统所需的完整数据库结构。 SQL 文件是数据库结构和数据的脚本表示,通常包含创建表、索引、视图、触发器和存储过程等数据库对象的指令。在这个...
magento采用单入口文件模式,根据不同参数调用相应的模块。例如,http://127.0.0.1/index.php/customer/account/login地址将经过以下步骤: 1. 首先接收customer参数,根据该参数查找到app/code/core/mage/customer...
例如,检查URL中的`showConfig`参数是否存在,如果存在,则执行相应的操作。 #### 四、深入理解配置文件 - **`config.xml`**:此文件主要用于声明模块及其版本号。它还可以包含其他配置信息,如依赖关系等。 - **`...
NULL 博文链接:https://baisoo.iteye.com/blog/1225264
magento的二次开发文档 方便 快捷 省事 绝版推出哟
解压后,应仔细查看其中的文档或修改过的配置文件,以理解如何应用这些更改。同时,"redisԭʼmagento-1.zip" 很可能是针对将 Redis 集成到 Magento 作为 session 存储的实现或优化的资源包。同样,解压并分析其中的...
- 将线上Magento商店的文件打包下载到本地,然后解压缩到本地服务器的相应目录。 - 修改`app/etc/local.xml`文件,更新数据库连接信息以匹配本地环境。 3. **解决迁移后的问题** - 更新核心配置数据:在数据库中...
本文将深入探讨如何在Magento中实现订单号的自由修改,特别是通过自定义代码来改变订单号的生成逻辑,以满足特定的业务需求。 ### Magento订单号修改的核心逻辑 在Magento系统中,订单号的生成通常遵循一定的规则...
在Magento中,模板文件位于app/design目录下,它们根据控制器的指令呈现相应的界面。视图层的主要任务是将模型层的数据以用户友好的方式展现出来。 **Controller(控制器)**:控制器作为MVC架构的入口,接收用户...
2. **创建代码结构**:根据Magento的模块结构创建必要的目录和文件。 3. **配置文件设置**:编写配置文件,定义模块的元数据,如名称、版本和依赖关系。 4. **数据库准备**:如果插件需要数据库支持,需创建相应的...
**设计**:Magento采用了灵活的设计体系,允许开发者轻松更改主题和布局而无需修改核心代码。这使得网站能够快速适应各种视觉风格的需求。 **主题**:Magento支持多个主题,每个主题都包含了一系列的设计元素,如...
Turiknox URL重写导入器概述一个简单的Magento模块,将允许您使用CSV文件将自定义URL重写导入管理员。要求Magento 2.1.x安装n 将模块的内容复制到您的Magento根目录中。 通过命令行启用模块: / path / to / ...
适应于 magento1.9.x ================================== 分类的网址达到短路径: http://local.router-switch.com/Price-cisco-router-cisco-router-1900-series_c11 普通搜索 ... 高级搜索 ...对路径都做到短路径,对...
在Magento 1中,这通常涉及到修改或扩展核心代码,或者安装第三方模块。描述中提到的"禁止用作商业用途"可能是指这是一个免费的社区插件,不适用于商业环境,因此可能缺乏官方支持和更新。 在提供的文件列表中,`...
5. 主题和样式定制:指导开发者如何通过修改或创建新的主题来定制网站的外观和布局,包括CSS样式、模板文件和布局XML等。 6. 高级功能实现:提供对高级功能实现的指导,如如何集成第三方服务、创建自定义报告、添加...