문제

다음과 같은 system.xml 파일을 만들고 generacodicicetagcode 필드에 의존하지만 일부는 작동하지 않고 active 필드가 disabled

에 표시됩니다.

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>
    ....
. 위의 파일의

active가 작동하지 않지만 get_settings 작업도 작동합니다! 그들 사이에는 무엇이 다른 것입니까?

및 settings.php in title

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;
    }
}
.

코드에서 module/adminhtml_settings를 사용하지 않았습니다!

도움이 되었습니까?

해결책

방금 코드를 테스트했으며 title 구성에서 잘 작동하는 것 같습니다.장면 뒤에있는 JavaScript가 올바른 ID가있는 입력 필드가있는 JavaScript가 필요하기 때문에 get_settings 구성에서는 작동하지 않습니다.

이 기능을 수행하려면 숨겨진 입력 필드를 추가해야하며 원하는 경우 더미 입력 필드가 될 수 있습니다. 이드는 구성 설정을 따라야하므로 요소를 검사하는 것이 좋습니다.기타 입력 필드 및 후속

다음과 같은 Settings.php만이 작업을 수행합니다.

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;
}
.

.의존 태그는 올바른 ID가있는 소스에서 입력 필드가있는 경우에만 사용할 수 있습니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 magento.stackexchange
scroll top