1

我正在创建 magento 管理模块。基本上我想在该模块的标题之前显示一个图像(图标)。

我想实现这样 在此处输入图像描述

我试过以下代码但没有运气:(

<title><![CDATA[<img src="media/icon.png"/>]]>Title</title>

像这样输出 在此处输入图像描述

- - - - - 编辑 - - -

我试图重写 Adminhtml_Block_Page_Menu 但没有成功

public function getMenuLevel($menu, $level = 0)
    {
        $html = '<ul ' . (!$level ? 'id="nav"' : '') . '>' . PHP_EOL;
        foreach ($menu as $index => $item) {
            $html .= '<li ' . (!empty($item['children']) ? 'onmouseover="Element.addClassName(this,\'over\')" '
                . 'onmouseout="Element.removeClassName(this,\'over\')"' : '') . ' class="'
                . (!$level && !empty($item['active']) ? ' active' : '') . ' '
                . (!empty($item['children']) ? ' parent' : '')
                . (!empty($level) && !empty($item['last']) ? ' last' : '')
                . ' level' . $level . '"> <a href="' . $item['url'] . '" '
                . (!empty($item['title']) ? 'title="' . $item['title'] . '"' : '') . ' '
                . (!empty($item['click']) ? 'onclick="' . $item['click'] . '"' : '') . ' class="'
                . ($level === 0 && !empty($item['active']) ? 'active' : '') . '">'

                ////////////edits

                . ($index == 'modulename' ? $item['label'] : '<span>' 
                . $this->escapeHtml($item['label']) . '</span></a>' . PHP_EOL;

            if (!empty($item['children'])) {
                $html .= $this->getMenuLevel($item['children'], $level + 1);
            }
            $html .= '</li>' . PHP_EOL;
        }
        $html .= '</ul>' . PHP_EOL;

        return $html;
    }

这是 config.xml 菜单部分

 <adminhtml>
        <menu>
            <company module="modulename" translate="title">
                <title><![CDATA[<span class="module-icon">Company</span>]]></title>
                <sort_order>71</sort_order>               
                <children>
                    <modulename translate="title" module="modulename">
                        <title>Theme Options</title>
                        <sort_order>0</sort_order>
                        <children>
                            <configuration>
                                <title>Configuration</title>
                                <sort_order>1</sort_order>
                                <action>adminhtml/system_config/edit/section/modulename</action>
                            </configuration>
                        </children>
                    </modulename>
                </children>
            </company>
        </menu>
</adminhtml>
4

1 回答 1

1

管理菜单由Mage_Adminhtml_Block_Page_Menu块生成,它从标题中转义 HTML(请参阅 参考资料getMenuLevel())。如果要在标题中添加图像,则需要重写此块以删除此行为。

于 2013-08-08T08:22:01.813 回答