Мы создали новое действие, похожее на 'hold', 'ship' и другие, в разделе администратора 'sales_order / view', которое можно запустить, нажав на кнопку. После этого мы добавили наше новое действие в ACL со следующим кодом в config.xml:
<acl>
<resources>
<admin>
<children>
<sales>
<children>
<order>
<children>
<actions translate="title">
<title>Actions</title>
<children>
<shipNew translate="title"><title>Ship Ups</title></shipNew>
</children>
</actions>
</children>
<sort_order>10</sort_order>
</order>
</children>
</sales>
</children>
</admin>
</resources>
</acl>
Функциональность ACL работает, однако, в «Дереве ресурсов ролей» (Система / Разрешения / Роли / Ресурсы ролей) наше новое действие никогда не отображается как выбранное (отмеченное), даже если оно разрешено для конкретной роли. Я могу видеть, что из таблицы 'admin_rule' с идентификатором ресурса для нашего нового действия разрешено, поэтому оно должно отображаться выбранным, но это не так.
Когда я пытался решить эту проблему, я изучил шаблон (permissions / rolesedit.phtml) и обнаружил, что «дерево ресурсов роли» нарисовано с помощью Javascript ... вот где я застрял из-за моих ограниченных знаний в JavaScript
Почему дерево ресурсов ролей не отображает нашу новую запись ACL правильно, то есть флажок никогда не устанавливается?
Спасибо за помощь
margots