在magento的多线程设置中自定义注册字段出现问题

时间:2011-09-23 07:15:24

标签: magento-1.5 magento

我在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读取特定站点/商店的此配置文件?感谢。

2 个答案:

答案 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 ?>

希望这有帮助。