我在magento平台上运行了2个站点。
对于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读取特定站点/商店的此配置文件?感谢。
答案 0 :(得分:1)
如果要查看整个XML树magento已从所有XML配置文件中编译:
header("Content-Type: text/xml");
die(Mage::app()->getConfig()->getNode()->asXML());
将为您呈现整个树的单个编译XML,这可能有助于确定您的更改是否正在添加。
另外请确保并结帐Alan Storms CommerceBug,因为它内置了此功能。
答案 1 :(得分: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 ?>
希望这有帮助。