2011-09-23 23 views
0

我在我的magento平台上运行了2个站点。在magento多层设置中自定义注册字段的问题

对于site2,我添加了新的字段到注册页面,它工作正常。

现在,我注意到,当我尝试在site1注册时,在提交时显示一条验证消息,表明我为site2添加的其他字段是必需的。

如何确保为site2添加的其他字段仅被询问为site2而不是site1?

我对site1和site2都有单独的主题,它们都有单独的register.phtml文件。

在用于添加自定义注册字段config.xml文件,我已经此补充:

<customer_account> 
    <employee_id> 
     <create>1</create> 
     <update>1</update> 
    </employee_id> 
    <doj> 
     <create>1</create> 
     <update>1</update> 
    </doj> 
    <mobile_number> 
     <create>1</create> 
     <update>1</update> 
    </mobile_number> 
    <alternate_mail> 
     <create>1</create> 
     <update>1</update> 
    </alternate_mail> 
</customer_account> 

其是下<global>标签。我假设Magento正在阅读此内容。我如何确保magento读取特定网站/商店的此配置文件?谢谢。

回答

1

如果你想看到整个XML树的Magento已经从所有的XML配置文件编译:

header("Content-Type: text/xml"); 
die(Mage::app()->getConfig()->getNode()->asXML()); 

将为您呈现他们的整个树的单个编译的XML,这可能会在确定是否更改帮助正在被添加。

此外,请确保和结帐Alan Storms CommerceBug,因为它具有内置的此功能。

+0

对不起,如果没有正确框架我的问题。我跟着他的教程,并能够看到整个XML树。但我正在寻找一个建议,只有当我的配置XML加载时,特定的网站/商店加载,而不是我的多站点设置中的所有网站。更具体地说,我已经添加了一些自定义注册字段到我的网站之一。就目前而言,虽然这些字段不会出现在前端,但当用户尝试在其他站点注册时,它们会根据需要显示。有没有办法将自定义注册字段添加到我的一个网站,而不是所有的网站? – Nithin

+0

我相信你会想要在第二个网站的app/design/frontend/design/view/layout .xml中设置你的字段,而不是在你的模块config.xml中,所以Magento知道只应用这些字段到第二个商店视图而不是第一个。 – B00MER

+0

是否可以通过layout.xml设置字段?你能不能指出我的一些文章或文章显示这一点?会有很大的帮助,谢谢。 – Nithin

1

我如何解决类似的情况是我添加了系统配置选项,以允许我设置哪个自定义字段一直启用到存储视图范围。这意味着我不需要为不同的商店分开使用phtml,但可以使用相同的。

我还创建了自定义的phtml'小部件' - 模仿Magento DOB​​,Gender和Name小部件。自定义小部件块代码具有检查配置标志的'isEnabled()'方法。在,比方说,我结账/ onepage/billing.phtml我可以说:

<?php $_mywidget = $this->getLayout()->createBlock('mycompany/customer_widget_mywidget') ?> 
<?php if ($_mywidget->isEnabled()): ?> 
.... 
<?php endif ?> 

希望这有助于。