Как добавить в раздел администравных настроек (System -> Configuration) собственный подраздел для модуля?

[10 ноября 2016 г.]    Российская сборка Magento 2.49.12
Magento 2: модули и услуги
#1 Ярослав Богуцкий 2
  • Группа: Пользователь
  • Сообщений: 75
  • Регистрация: 07.07.2011

08.07.2011 16:17

Возникла необходимость некоторым образом настраивать модуль, т.е. сделать страницу настройки, ссылку на которую разместить в System -> Configuration в секции Customers. Было найдено несколько решений, а точнее код, который нужно вставить в файл system.xml
<?xml version="1.0" ?>
<config>
    <tabs>
        <mycustom_tab module="[module_name]" translate="label">
            <label>My Configuration Tab</label>
            <sort_order>100</sort_order>
        </mycustom_tab>
    </tabs>
    <sections>
        <mycustom_section module="[module_name]" translate="label">
            <label>My Custom Section</label>
            <sort_order>200</sort_order>
            <show_in_default>1</show_in_default>
            <show_in_website>1</show_in_website>
            <show_in_store>1</show_in_store>
            <tab>mycustom_tab</tab>
            <groups>
                <mycustom_group translate="label">
                    <label>My Custom Group</label>
                    <comment>Some comment about my group</comment>
                    <sort_order>10</sort_order>
                    <show_in_default>1</show_in_default>
                    <show_in_website>1</show_in_website>
                    <show_in_store>1</show_in_store>
                    <fields>
                        <mycustom_field translate="label tooltip comment">
                            <label>My Custom Field</label>
                            <comment>Some comment about my field</comment>
                            <tooltip>Field ToolTip</tooltip>
                            <show_in_default>1</show_in_default>
                            <show_in_website>1</show_in_website>
                            <show_in_store>1</show_in_store>
                            <frontend_input>text</frontend_input>
                        </mycustom_field>
                    </fields>
                </mycustom_group>
            </groups>
        </mycustom_section>
    </sections>
</config>

В этом примере кода добавляется новый раздел My Configuration Tab и в него секция My Custom Section. Проблема в том, что при переходе по этой новой ссылке magento выдает ошибку 404. В чем проблема? Буду благодарен за любые подсказки.

#2 Дмитрий Федюк
  • Администратор
  • Иконка
  • Группа: Администратор
  • Сообщений: 8885
  • Регистрация: 20.02.2010

08.07.2011 16:40

Вам нужно добавить соответствующие разделы в ACL в config.xml или adminhtml.xml (смотрите синтаксис тегов acl).

#3 Ярослав Богуцкий 2
  • Группа: Пользователь
  • Сообщений: 75
  • Регистрация: 07.07.2011

08.07.2011 18:33

Спасибо. Но даже с ACL не сразу заработало. При создании таких страниц, после добавления разделов ACL нужно перезайти в систему. Я тыркался как слепой котенок, пока на одном сайте не увидел этот совет.

#4 Дмитрий Федюк
  • Администратор
  • Иконка
  • Группа: Администратор
  • Сообщений: 8885
  • Регистрация: 20.02.2010

10.07.2011 18:04

Да, правила доступа кешируются системой, это была тема №7 на этом форуме.

Поделиться темой: