如何在寄存器中显示地址字段


16

我曾尝试在中执行此操作register.phtml,但对我没有用。我也找不到local.xml文件。

我如何启用它?这对我的店来说真的很重要。


在register.phtml找到了此代码<?php if($ this-> getShowAddressFields()):?>
阿米特·贝拉

我找到了,但是我该怎么办?
Yardi 2015年

只需删除它,如果条件if($ this-> getShowAddressFields()):现在编码,以格式显示所有地址字段
Amit Bera

@AmitBera我不鼓励这种方法,Reindex'EmAll的答案是一种更合适的方法。
达伦·费尔顿

@Yardi local.xml应该存在于中app/design/frontend/{PACKAGE_NAME}/{THEME_NAME}/layout/local.xml。根据您的Magento版本,软件包名称很可能是“默认”或“ rwd”。主题名称对于您的站点将是唯一的(“默认”以外的名称)。如果您尚未设置站点来扩展默认主题,那么您可能应该先阅读该主题,然后再进一步更改Magento的核心视图脚本。
达伦·费尔顿

Answers:


30

local.xml[your_package]/[your_theme]/layout/文件夹中创建文件(如果尚不存在)并添加以下代码:

<customer_account_create>
    <reference name="customer_form_register">
        <action method="setData"><key>show_address_fields</key><value>1</value></action>
    </reference>
</customer_account_create>

嘿,您有一个很棒的XML知识。休息
Amit Bera

这应该被标记为答案。
janw

我同意并对此投票。这是更快的解决方案。
KiD Cajes,2016年

哇,我+1了,它起作用了。很好,谢谢
Teja Bhagavan Kollepara'3

向我+1。我以为,这getShowAddressFields()是在检查后端的某些设置,但在任何地方都找不到。知道为什么它必须来自xml,而不是来自config吗?
Adarsh Khatri

2

步骤1

首先,从magento admin开发人员模式开启并从路径中找到注册,例如

/app/design/frontend/base/default/template/customer/form/register.phtml

第2步

 <?php if($this->getShowAddressFields()): ?>

在添加以下行之前

<?php $this->setShowAddressFields(true) ?>

步骤:最终

以下变化如下

<?php $this->setShowAddressFields(true) ?>

<?php if($this->getShowAddressFields()): ?>

1
我认为最好通过此处所述的布局文件添加该参数magento.stackexchange.com/a/25180/23264
electroid

0

在主题布局文件夹中创建local.xml文件,并将其放在下面的代码中。

<customer_account_create> 
<reference name="customer_form_register"> 
  <action method="setShowAddressFields">
  <param>true</param>
</action> 

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.