2

Magento 1.7.0.2 を使用していますが、管理パネルで顧客アカウントを編集しようとすると、次のエラーが表示されます: 致命的なエラー: /home/techspec/public_html/magento/ の非オブジェクトでメンバー関数 setRenderer() を呼び出しますincludes/src/Mage_Adminhtml_Block_Customer_Edit_Tab_Account.php 行 77

 $attributes = $customerForm->getAttributes();
    foreach ($attributes as $attribute) {
        /* @var $attribute Mage_Eav_Model_Entity_Attribute */
        $attribute->setFrontendLabel(Mage::helper('customer')->__($attribute->getFrontend()->getLabel()));
        $attribute->unsIsVisible();
    }

    $disableAutoGroupChangeAttributeName = 'disable_auto_group_change';
    $this->_setFieldset($attributes, $fieldset, array($disableAutoGroupChangeAttributeName));

    $form->getElement('group_id')->setRenderer($this->getLayout()
        ->createBlock('adminhtml/customer_edit_renderer_attribute_group')
        ->setDisableAutoGroupChangeAttribute($customerForm->getAttribute($disableAutoGroupChangeAttributeName))
        ->setDisableAutoGroupChangeAttributeValue($customer->getData($disableAutoGroupChangeAttributeName)));

    if ($customer->getId()) {
        $form->getElement('website_id')->setDisabled('disabled');
        $form->getElement('created_in')->setDisabled('disabled');
    } else {
        $fieldset->removeField('created_in');
        $form->getElement('website_id')->addClass('validate-website-has-store');

参照ファイルの 67 行目から 87 行目です。どんな助けも大好きです。ありがとう。

4

1 に答える 1

5

group_id属性が編集可能な属性のリストにないようです。属性が表示されていることを確認してください。この選択を使用して確認します。

SELECT * FROM `eav_attribute` e 
LEFT JOIN `customer_eav_attribute` ce ON e.attribute_id = ce.attribute_id 
WHERE e.attribute_code = 'group_id'

field の値を参照してくださいis_visible

上記のクエリから結果が得られない場合は、問題が発生しています。

それが 1 の場合、属性が管理フォームに表示されるように設定されていない可能性があります。attribute_id前のクエリで返された を取得して、これを行います。値が であるとしましょう10

select * from customer_form_attribute where attribute_id = 10;

form_code=のレコードがない場合は、adminhtml_customer追加する必要があります。

于 2013-11-06T09:27:16.793 に答える