步骤 I. 加一个occupation/title字段到用户注册页,差不多在register.html的54行,在email下方加一个Occupation显示代码
<!--[if !supportLineBreakNewLine]-->
<!--[endif]-->
代码:
<li>
<div class="input-box">
<label for="email_address"><?php echo $this->__('Email
Address') ?> <span
class="required">*</span></label><br/>
<input type="text" name="email"
id="email_address" value="<?php echo
$this->htmlEscape($this->getFormData()->getEmail()) ?>"
title="<?php echo $this->__('Email Address') ?>" class="validate-email
required-entry input-text" />
</div>
<div class="input-box">
<label for="occupation"><?php echo
$this->__('Occupation/Title') ?></label><br/>
<input type="text" name="occupation"
id="occupation" value="<?php echo $this->htmlEscape($this->getFormData()->getOccupation())
?>" title="<?php echo $this->__('Occupation') ?>"
class="input-text" />
</div>
</li>
这是,如果进入用户注册页, 就会看到新增的字段。
步骤 2 同样在edit.phtml中,加入Occupation显示块
代码:
<li>
<div class="input-box">
<label for="email"><?php echo $this->__('Email Address')
?> <span class="required">*</span></label><br
/>
<input type="text" name="email" id="email"
value="<?php echo
$this->htmlEscape($this->getCustomer()->getEmail()) ?>"
title="<?php echo $this->__('Email Address') ?>" class="required-entry
validate-email input-text" />
</div>
</li>
<li>
<div class="input-box">
<label for="occupation"><?php echo
$this->__('Occupation') ?> </label><br/>
<input type="text" name="occupation"
id="occupation" value="<?php echo
$this->htmlEscape($this->getCustomer()->getOccupation()) ?>"
title="<?php echo $this->__('Occupation') ?>"
class="input-text" />
</div>
</li>
步骤 3, 打开Model/Entity/Setup.php差不多在93行,email的下方,加入occupation的相关代码:
代码:
'email' => array(
'type' => 'static',
'label' => 'Email',
'class' => 'validate-email',
'sort_order' => 60,
),
'occupation' => array(
'label' => 'Occupation',
'required' => false,
'sort_order' => 65,
),
步骤4: 现在,代码就基本写好了
, 但是我们仍然需要执行一个数据库操作将occupation这个属性加入到eav_attribute表,把下面的代码块:
代码:
<?php
$setup = new Mage_Eav_Model_Entity_Setup('core_setup');
$AttrCode = 'occupation';
$settings = array (
'position' => 1,
'is_required'=> 0
);
$setup->addAttribute('1', $AttrCode, $settings);
?>
放到合适的文件里执行一次。我建议把它放到register.html文件的顶部,然后重新访问register.html.查看数据库eav_attribute表就能看到新增的条目。然后把上面的代码从register.phtml中移除。
步骤 5:编辑app/code/core/Mage/Customer/etc/config.xml 的<fieldsets>标签下声明该字段如何处理插入和贵呢更新
代码:
<fieldsets>
<customer_account>
.....
<occupation><create>1</create><update>1</update></occupation>
</customer_account>
</fieldsets>
步骤 6: 最后需要在表customer_form_attribute表增加记录,将新增字段与customer的前台显示表格关联:
form code attribute_id
adminhtml_checkout 264
adminhtml_customer 264
checkout_register 264
customer_account_create 264
customer_account_edit 264
Attribute_id 是指该属性在eav_attribute表的attribute_id。
分享到:
相关推荐
Magento是一款强大的开源电子商务平台,以其高度可定制性和灵活性著称。作为一款基于PHP开发的系统,它为商家提供了丰富的功能,包括商品管理、订单处理、客户管理、营销工具等。以下将详细介绍`magento入门学习资料...
当用户访问一个页面时,Magento会根据请求的URL找到对应的Layout文件,并解析该文件来生成页面布局。 **3.8 输出和getChildHtml方法** Block对象提供了许多方法来帮助输出HTML代码,其中`getChildHtml`方法用于...
Magento是一套功能强大的开源电子商务平台,它为商家提供了一个灵活且可定制的在线商店解决方案。"Magento一步支付插件(1.6、1.7)"是针对Magento 1.6和1.7版本设计的一个扩展,旨在优化购物流程,使用户能够更快捷...
为此,你需要创建一个新的数据模型,扩展Magento的基础数据模型类,例如`Mage::getModel('modulename/entityname')`。 2. **定义资源模型**: - 数据模型需要与资源模型关联,以便执行数据库操作。资源模型定义了...
Magento是一款强大的开源电子商务平台,以其高度可定制性和丰富的功能特性深受开发者喜爱。本文将深入探讨在Magento中开发、升级和部署插件的相关知识点。 一、Magento插件系统 Magento的插件系统,也称为事件监听...
标题中的 "Herve_DependBlock" 是一个示例模块,专门用于演示如何在 Magento 管理表单中实现这种字段依赖性。这个模块提供了一种方法,通过编程方式控制表单元素的可见性,使得当特定条件满足时,相关的字段才会展示...
通过这个扩展,开发者提供了一个解决方案,让用户可以灵活地编辑和调整他们的地址字段,确保数据的准确性和个性化。 在技术层面,这个模块可能涉及到以下几个关键知识点: 1. **Magento模块结构**:每个Magento...
对于"Quafzi_CustomerTypes",开发者可能通过扩展Magento的顾客模型,添加新的字段来存储客户类型,并在后台界面提供一个友好的界面供管理员分配和管理这些类型。 文件列表中的"magento-customer-types-master"可能...
本项目“custompaymentmodule”正是针对Magento的自定义付款方式的一个模块,旨在为商家提供一种简单且灵活的支付选项。 首先,我们来了解一下PHP。PHP是一种广泛使用的服务器端脚本语言,尤其在Web开发领域占据着...
"Magento Customer Custom Icon" 是一个针对Magento系统的扩展,旨在增强用户体验,允许客户上传他们自己的头像,以此来个性化他们的账户。 首先,我们要理解Magento的扩展机制。Magento采用模块化设计,允许开发者...
本文将深入探讨如何在Magento中创建一个基本的自定义支付方式。 首先,我们需要理解Magento支付模块的基本结构。每个支付方法在Magento中都是一个独立的模块,包含以下关键组件: 1. **配置文件** (config.xml):...
Magento 是一个功能强大的开源电子商务平台,它允许商家创建和管理在线商店。"Category Review" 是一个针对 Magento 平台的扩展,旨在增强其产品评价功能,让顾客不仅可以对具体产品发表评论,还能对商品分类和整个...
基于ECShop构建牛奶销售电子商务网站 ...涵盖了电子商务的概念、知名电子商务网站、开源网店系统分析、ECShop系统架构、数据库设计、前台和后台功能模块等方面的知识点,为读者提供了一个全面的电子商务解决方案。
"JAVA网上商城系统课设报告.doc" 这份文档是关于一个基于Java技术的网上商城系统的课程设计报告。通常这样的报告会详细阐述项目的背景、目标、需求分析、系统设计和实现等多个方面,旨在展示学生对Java编程以及电子...
总的来说,“拍卖网网站源码”是一个集成了用户管理、商品发布、出价机制、数据库操作、安全防护等多个技术领域的综合性项目。理解和掌握这个源码,不仅可以帮助开发者了解拍卖网站的运作原理,也能为构建类似的在线...
- 上述配置中,`upstream` 定义了一个名为 `backend` 的服务器组。 - `proxy_pass` 指令将请求代理到这个服务器组。 - Nginx 默认采用轮询的方式进行负载均衡。 #### 十二、查询MySQL从库状态 **查询MySQL从库状态...