2015-11-12 5 views
0

Я просмотрел множество сайтов и статей о добавлении элементов в меню администратора в magento, некоторые примеры я скопировал один к одному, и я не получил никакого результата. Пожалуйста, скажите мне, что я сделал не так?Magento admin menu item

У меня есть модуль SmartLetter, который отображается в списке модулей.

Magento ver. 1.9.2.2

Путь к папке модуля является - app ▸ code ▸ local ▸ Chu ▸ SmartLetter

config.xml:

<?xml version="1.0"?> 
<config> 
    <modules> 
     <Chu_SmartLetter> 
      <version>0.0.1</version> 
     </Chu_SmartLetter> 
    </modules> 
    <global> 

    </global> 
</config> 

adminhtml.xml:

<?xml version="1.0"?> 
<config> 
    <menu> 
     <smartletter translate="title" module="smartletter"> 
      <title>Smart Letter</title> 
      <sort_order>40</sort_order> 
     </smartletter> 
    </menu> 
     <acl> 
     <resources> 
      <admin> 
       <children> 
        <system> 
         <children> 
          <config> 
           <children> 
            <smartletter translate="title" module="smartletter"> 
             <title>SmartLetter Section</title> 
            </smartletter> 
           </children> 
          </config> 
         </children> 
        </system> 
       </children> 
      </admin> 
     </resources> 
    </acl> 
</config> 

ответ

1

У вас не хватает помощника для вашего модуля , делает полезные вещи, такие как переводы, которые требуется меню.

Создать помощника под app/code/local/Chu/SmartLetter/Helper/Data.php:

<?php 

class Chu_SmartLetter_Helper_Data extends Mage_Core_Helper_Abstract { 

} 

Добавьте его в глобальное определение config.xml:

<global> 
    <helpers> 
     <chu_smartletter> 
      <class>Chu_SmartLetter_Helper</class> 
     </chu_smartletter> 
    </helpers> 
</global> 

Update ваш adminhtml.xml использовать module="chu_smartletter"

На стороне примечание Я бы рекомендовал не загромождать меню верхнего уровня, это ваш модуль , что importan т? Я бы вложил его в один из существующих пунктов меню.

+0

Thanx это работает, но когда я копирую этот модуль в magento (1.7.0.2), меню не показывалось. И почему я могу использовать тег , если имя модуля chu_smartletter, я видел модули, где имя модуля и теги в конфигурации абсолютно разные, но работающие. – Ilya

+0

Вы можете использовать имя модуля smartlatter или любое другое, что вы хотите, если оно определено в глобальном хелпере xml, но лучше всего включить пространство имен модулей 'chu', поэтому его легче найти в будущее. – input