質問

私は以下のようなsystem.xmlファイルを作成し、すべてのフィールドをactiveフィールドに依存しますが、それらの一部が機能しないため、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>
    ....
.

上記のファイルにget_settingsが機能しませんが、titleが機能します。 それらの間で何が異なりますか?

とsettings.php in 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;
    }
}
.

コードで$elementを使用していませんでした!

役に立ちましたか?

解決

コードをテストしたばかりで、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;
}
.

それは。require descentsタグは、正しいIDのソースで利用可能な入力フィールドがある場合にのみ機能します。

ライセンス: CC-BY-SA帰属
所属していません magento.stackexchange
scroll top