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 に答える