Pergunta

Eu gostaria de saber a opinião das pessoas sobre a melhor maneira de corrigir/reescrever arquivos lib Varien.Especificamente, whey está analisando alguns problemas, um deles caixas de seleção e um com imagem type inputs descobri que ambos os elementos Varien têm o que eu consideraria bugs.

Então, qual é a maneira segura de atualizar os seguintes arquivos?

  1. Varien_Data_Form_Element_Image
  2. Varien_Data_Form_Element_Checkboxes
Foi útil?

Solução

Infelizmente não há como substituir essas classes.
O que você pode fazer é tratá-los como classes básicas abstratas.
Copie-os para o local pasta e faça suas alterações lá.
Há também a longa e dolorosa opção de criar suas próprias classes e alterar o código que as utiliza para usar suas classes.
Mas isso pode acabar mal.Pode até não ser possível.

Outras dicas

Portanto, se você estiver criando seu próprio formulário ou reescrevendo um formulário atual e sua classe se estender Mage_Adminhtml_Block_Widget_Form então você pode usar a função _getAdditionalElementTypes para especificar quais tipos de formulário usam qual classe renderizar.

Com esta função você pode substituir quais elementos de formulário padrão são usados ​​e também definir os seus próprios, se for isso que você precisa.

Um ótimo exemplo disso pode ser encontrado no módulo cliente da classe Mage_Adminhtml_Block_Customer_Edit_Tab_Account.Aqui você pode descobrir que as classes para imagem, arquivo e booleano são elementos de formulário definidos.

/**
 * Return predefined additional element types
 *
 * @return array
 */
protected function _getAdditionalElementTypes()
{
    return array(
        'file'      => Mage::getConfig()->getBlockClassName('adminhtml/customer_form_element_file'),
        'image'     => Mage::getConfig()->getBlockClassName('adminhtml/customer_form_element_image'),
        'boolean'   => Mage::getConfig()->getBlockClassName('adminhtml/customer_form_element_boolean'),
    );
}

Se você examinar esses elementos do formulário, poderá ver exemplos de alterações no código para atender às suas próprias necessidades.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a magento.stackexchange
scroll top