Pregunta

He creado system.xml archivo como el de abajo, y el conjunto de todos los campos dependen de active campo, pero algunos de ellos no funciona y la pantalla active campo movilidad

system.xml

<fields>
    <active translate="label">
        <label>Enabled</label>
        <frontend_type>select</frontend_type>
        <source_model>adminhtml/system_config_source_yesno</source_model>
        <sort_order>2</sort_order>
        <show_in_default>1</show_in_default>
        <show_in_website>1</show_in_website>
        <show_in_store>1</show_in_store>
    </active>
    <get_settings translate="label">
        <label>Account Info</label>
        <frontend_type>label</frontend_type>
        <frontend_model>module/adminhtml_settings</frontend_model>
        <sort_order>3</sort_order>
        <show_in_default>1</show_in_default>
        <depends><active>1</active></depends>
    </get_settings>
    <title translate="label">
        <label>Title</label>
        <frontend_type>text</frontend_type>
        <sort_order>4</sort_order>
        <show_in_default>1</show_in_default>
        <depends><active>1</active></depends>
    </title>
    ....

en el archivo de arriba get_settings no funciona, pero title trabajar así !Lo que es diferente entre ellos?

y Settings.php en module/adminhtml_settings

class Name_Module_Block_Adminhtml_Settings extends Mage_Adminhtml_Block_System_Config_Form_Field
{
    protected function _getElementHtml(Varien_Data_Form_Element_Abstract $element)
    {
    ....
    ....
    return $html;
    }
}

pero no los uso $element en los códigos!

¿Fue útil?

Solución

Sólo probado el código y parece que funciona bien en el title config.No funciona en el get_settings config porque el Javascript que hace el detrás de las escenas de trabajo requiere que usted tenga un campo de entrada con el ID correcto.

Así que para conseguir que esto funcione, habría que añadir un oculto campo de entrada, puede ser un maniquí de campo de entrada, si te gusta, pero el id debe seguir su configuración, por lo que sugiero que inspeccionar elemento en uno de los otros campos de entrada y seguir su ejemplo

Para ello, basta con que su Settings.php con la siguiente:

protected function _getElementHtml(Varien_Data_Form_Element_Abstract $element)
{
    $html = $element->getElementHtml();
    $html .= '<input id="name_module_get_settings" name="groups[module_name][fields][titles][value]" value="" class=" input-text" type="hidden">';

    /** do what ever you want here **/

    return $html;
}

Eso es todo.Recuerda, el que depende de la etiqueta sólo funciona cuando hay un campo de entrada disponible en la fuente con la correcta identificación.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a magento.stackexchange
scroll top