如何删除Magento Admin表单元素?

tra*_*nal 2 magento

我想在Magento Admin Customer Edit表单中删除Password表单元素.

我改写Mage_Adminhtml_Block_Customer_Edit_Tab_Account如下.但即使从表单中删除元素,它仍然在客户信息选项卡中显示密码字段.

<?php

require 'Mage/Adminhtml/Block/Customer/Edit/Tab/Account.php';

class Mycompany_Mymodule_Block_Adminhtml_Customer_Edit_Tab_Account
    extends Mage_Adminhtml_Block_Customer_Edit_Tab_Account
{

    public function initForm()
    {
        $customer = parent::initForm();

        $customer->getForm()->removeField('password_fieldset');
        $customer->getForm()->removeField('new_password');

        return $customer;
    }
}
Run Code Online (Sandbox Code Playgroud)

任何帮助非常感谢.

编辑:令人讨厌的是,如果我更改任何表单字段值,例如更改应用于字段的标签.例如,更改密码表单的标签,实际上会更改标签.:○

public function initForm()
{
    $customer = parent::initForm();

    $customer->getForm()->getElement('new_password')->setLabel('Test Label');

    return $customer;
}
Run Code Online (Sandbox Code Playgroud)

小智 5

您需要对父元素执行removeField(),如下所示:

foreach($this->getForm()->getElements() as $fieldset){
        $fieldset->removeField('id_of_desired_element');  
    }
Run Code Online (Sandbox Code Playgroud)