system.xml에서 작동하지 않습니다
-
12-12-2019 - |
문제
다음과 같은 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가있는 소스에서 입력 필드가있는 경우에만 사용할 수 있습니다.
제휴하지 않습니다 magento.stackexchange