Impossibile salvare il ruolo per il modulo personalizzato con ACL?
-
16-10-2019 - |
Domanda
Gli spettacoli di menu modulo personalizzato in Risorse di ruolo. In Ruolo Risorse clicco sul check-box e risparmiare. Ho quindi ricaricare il ruolo e la casella di controllo non è più controllato. Io fondamentalmente copiato le voci di menu per l'elemento XML ACL. Perché sta succedendo?
config.xml
<?xml version="1.0"?>
<config>
...
<adminhtml>
<menu>
<customModuleHeader translate="title" module="custommodule">
<title>customModule</title>
<sort_order>60</sort_order>
<children>
<custommodule_configform translate="title" module="custommodule">
<title>custommodule Configuration</title>
<sort_order>50</sort_order>
<children>
<custommodule_configform translate="title" module="custommodule">
<title>Settings</title>
<action>custommodule/adminhtml_configuration</action>
<sort_order>10</sort_order>
</custommodule_configform>
</children>
</custommodule_configform>
</children>
</customModuleHeader>
</menu>
<layout>
...
admin.html
<?xml version="1.0"?>
<config>
<acl>
<resources>
<admin>
<children>
<customModuleHeader translate="title" module="custommodule">
<title>customModule</title>
<sort_order>60</sort_order>
<children>
<custommodule_configform translate="title" module="custommodule">
<title>custommodule Configuration</title>
<sort_order>50</sort_order>
<children>
<custommodule_configform translate="title" module="custommodule">
<title>Settings</title>
<sort_order>10</sort_order>
</custommodule_configform>
</children>
</custommodule_configform>
</children>
</customModuleHeader>
</children>
</admin>
</resources>
</acl>
</config>
Soluzione
Questa è la sintassi come creare il menu in Magento pannello di amministrazione è possibile seguire questa ??p>
/ app / code / local /// etc / adminhtml.xml
<?xml version="1.0"?>
<config>
<menu>
<[module] module="[module]">
<title>[Module]</title>
<sort_order>71</sort_order>
<children>
<items module="[module]">
<title>Manage Items</title>
<sort_order>0</sort_order>
<action>[module]/adminhtml_[module]</action>
</items>
</children>
</[module]>
</menu>
<acl>
<resources>
<all>
<title>Allow Everything</title>
</all>
<admin>
<children>
<[module]>
<title>[Module] Module</title>
<sort_order>200</sort_order>
</[module]>
</children>
</admin>
</resources>
</acl>
<layout>
<updates>
<[module]>
<file>[module].xml</file>
</[module]>
</updates>
</layout>
Altri suggerimenti
Questo accade a causa del menu di tag di sezione non sono simili ai tag ACL. Ho controllato i frammenti di codice da voi forniti. Ma non ci sono stati errori. Vi suggerisco di controllare questi entrambe le sezioni (dichiarazione menu e ACL) accuratamente.
(Allo stesso tempo, assicurarsi di avere non definiti ACL all'interno admin.html secondo nella tua domanda )
È possibile inserire sia la dichiarazione di menu e ACL all'interno adminhtml.xml
Di seguito è riportato un codice di esempio che è possibile seguire.
<?xml version="1.0" ?>
<config>
<menu>
<mycustom_menu translate="title" module="YOUR_MODULE_NAME">
<title>My Menu</title>
<sort_order>100</sort_order>
<children>
<!-- children -->
<subitem translate="title" module="YOUR_MODULE_NAME">
<title>Subitem</title>
<sort_order>10</sort_order>
<action>adminhtml/mycustom_controller/</action>
</subitem>
</children>
</mycustom_menu>
</menu>
<acl>
<resources>
<admin>
<children>
<mycustom_menu translate="title" module="YOUR_MODULE_NAME">
<title>My Menu</title>
<sort_order>300</sort_order>
<children>
<!-- children -->
<subitem translate="title" module="YOUR_MODULE_NAME">
<title>Subitem</title>
<sort_order>10</sort_order>
</subitem>
</children>
</mycustom_menu>
</children>
</admin>
</resources>
</acl>
</config>