Я бы использовал для этого admin/system/config
Magento.
Добавьте соответствующий etc/system.xml
к вашему модулю, например ::
<config>
<!-- : -->
<tabs>
<!-- : -->
<mycompany>
<label>My Company Tab</label>
<sort_order>99</sort_order>
</mycompany>
<!-- : -->
</tabs>
<!-- : -->
<sections>
<!-- : -->
<mymodule>
<label>My Module</label>
<tab>mycompany</tab>
<frontend_type>text</frontend_type>
<sort_order>99</sort_order>
<show_in_default>1</show_in_default>
<show_in_website>1</show_in_website>
<show_in_store>1</show_in_store>
<groups>
<mygroup>
<label>My Group</label>
<frontend_type>text</frontend_type>
<sort_order>99</sort_order>
<show_in_default>1</show_in_default>
<show_in_website>1</show_in_website>
<show_in_store>1</show_in_store>
<fields>
<debug>
<label>Debug</label>
<frontend_type>select</frontend_type>
<source_model>adminhtml/system_config_source_yesno</source_model>
<sort_order>99</sort_order>
<show_in_default>1</show_in_default>
<show_in_website>1</show_in_website>
<show_in_store>1</show_in_store>
</debug>
</fields>
</mygroup>
</groups>
</mymodule>
<!-- : -->
</sections>
</config>
Если секция mymodule
еще не существовала ранее, вам также необходимо сначала определить контроль доступа для модуля (необходимо поместить в etc/config.xml
вашего модуля):
</config>
<!-- : -->
<adminhtml>
<!-- : -->
<acl>
<resources>
<admin>
<children>
<system>
<children>
<config>
<children>
<mymodule >
<title>My Module</title>
</mymodule>
</children>
</config>
</children>
</system>
</children>
</admin>
</resources>
</acl>
<!-- : -->
</adminhtml>
<!-- : -->
</config>
Теперь администраторы могут изменять определенный флаг отладки через бэкэнд Magento, выбрав
System -> Configuration
- My Module
- My Group
- Debug
- Yes|No
Чтобы получить текущее значение вашего флага отладки программно, вы можете использовать:
$sFlag = Mage::getStoreConfig('mymodule/mygroup/debug'); // null | '0' | '1'
$bFlag = Mage::getStoreConfigFlag('mymodule/mygroup/debug'); // true | false