1

我们为 Enterprise 创建了一个具有 2 个控制器操作的模块,一个是索引,另一个是从批量操作中保存。我们使用以下 logging.xml 记录到管理操作日志:

<?xml version="1.0" encoding="UTF-8"?>
<logging>
    <acme_productlabels translate="label">
        <label>Acme Product Labels</label>
        <actions>
            <productlabels_productlabels_print>
                <action>save</action>
                <post_dispatch>postDispatchGeneric</post_dispatch>
            </productlabels_productlabels_print>
            <productlabels_productlabels_index>
                <action>view</action>
                <post_dispatch>postDispatchSimpleSave</post_dispatch>
            </productlabels_productlabels_index>
        </actions>
    </acme_productlabels>
</logging>

这使用了自定义路由,因此我们在 config.xml 中添加了一个观察者来完成此操作:

<config>
    <adminhtml>
        <events>
            <controller_action_postdispatch_productlabels>
                <observers>
                    <enterprise_logging>
                        <class>enterprise_logging/observer</class>
                        <method>controllerPostdispatch</method>
                    </enterprise_logging>
                </observers>
            </controller_action_postdispatch_productlabels>
        </events>
    </adminhtml>
</config>

这适用于索引,但对于保存操作,它会失败。当我们将 postDispatchSimpleSave 用于保存操作时,它会记录该操作但没有完整的详细信息。

我们需要保存操作,在记录时,还包括提交给保存操作的参数。目前这包括选择的产品、数量和布尔值,作为网格中的批量提交。

所以我们的基本问题是,我们如何在 Magento 的管理操作日志中记录保存操作的完整细节?

4

0 回答 0