Magento在客户信息中添加客户选择

时间:2014-04-14 13:05:35

标签: magento attributes

我需要创建一个客户属性callend" parent_id"。 顾客"孩子"需要有一个"客户父母",所以,我想在客户信息中选择一个客户来选择客户父母给客户孩子。 OMG

我试过了:

在Xkey / Usuarios / sql / mysql4-install-0.1.0.php

$setup = Mage::getModel('customer/entity_setup', 'core_setup');
    $setup->addAttribute('customer', 'parent_id', array(
        'type' => 'int',
    'input' => 'select',
    'label' => 'Customer Parent Id',
    'global' => 1,
    'visible' => 1,
    'required' => 1,
    'user_defined' => 1,
    'default' => '',
    'visible_on_front' => 1,
    'source' => 'usuarios/entity_parent_id',
));

if (version_compare(Mage::getVersion(), '1.4.2', '>='))
{
    Mage::getSingleton('eav/config')
    ->getAttribute('customer', 'parent_id')
    ->setData('used_in_forms', array('adminhtml_customer','customer_account_create','customer_account_edit','checkout_register','adminhtml_customer_address','customer_address_edit','customer_register_address'))
    ->save();
    }

在Xkey / Usuarios / etc / config.xml

<?xml version="1.0"?><config>
    <modules>
        <Xkey_Usuarios>
            <version>0.1.0</version>
        </Xkey_Usuarios>
    </modules>
    <global>
        <fieldsets>
            <customer_account>
                <parent_id>
                    <create>1</create>
                    <update>1</update>
                    <name>1</name>
                </parent_id>
            </customer_account>
        </fieldsets>
        <helpers>
            <usuarios>
                <class>Xkey_Usuarios_Helper</class>
            </usuarios>
        </helpers>
        <resources>
            <usuarios_setup>
                <setup>
                    <module>Xkey_Usuarios</module>
                    <class>Mage_Customer_Model_Entity_Setup</class>
                </setup>
                <connection>
                    <use>core_setup</use>
                </connection>
            </usuarios_setup>
            <usuarios_write>
                <connection>
                    <use>core_write</use>
                </connection>
            </usuarios_write>
            <usuarios_read>
                <connection>
                    <use>core_read</use>
                </connection>
            </usuarios_read>
        </resources>
        <models>
            <sales>
                <rewrite>
                    <order>Xkey_Usuarios_Model_Order</order>
                </rewrite>
            </sales>
        </models>   
    </global>
</config>

在Xkey / Usuarios / Model / Entity / Parent_Id.php

<?php 
    class Xkey_Usuarios_Model_Entity_Parent_Id extends Mage_Eav_Model_Entity_Attribute_Source_Abstract {

        public function getAllOptions() {
            if($this->_options === null) {
                $this->_options = array();
                $this->_options[] = array (
                    'value' => '1,',
                    'label' => 'Test 1'
                );
            }

            return $this->_options;
        }
    }

我收到了这个错误:

&#34;模型 - 源&#34; usuarios / entity_parent_id&#34;找不到属性&#34; parent_id&#34;&#34;

:/

1 个答案:

答案 0 :(得分:0)

Kin,你没有在config.xml中定义模型类

<models>
<usuarios>
<class>Xkey_Usuarios_Model</class>

</usuarios>

        <sales>
            <rewrite>
                <order>Xkey_Usuarios_Model_Order</order>
            </rewrite>
        </sales>
    </models> 

Parent_Id.php中的don't used "underscore" in类名,change it to ParentId.php Magento is sperating th课程由&#34; _&#34;