2014-02-04 5 views
0

Мне нужно знать самый простой способ добавить меню в меню magento nav. Есть ли ane СВОБОДНО расширение, которое может предоставить функциональность для добавления пользовательских ссылок в навигационное меню без каких-либо перезаписи с Magento?Magento Добавить пользовательские ссылки в навигационное меню

Я уже сделал исследование, но безуспешно. Кто-нибудь может мне помочь?

ответ

1

Вы пробовали мастер MegaMenu? Это бесплатное расширение и может быть найдено на GitHub.

+1

Это хорошее расширение, но, к сожалению, они не предоставляют настройки администратора magento. Поэтому вам нужно отредактировать код, чтобы добавить новые ссылки. В любом случае, спасибо – WPguy

1

Если вы работаете с Magento ce 1.7+, вы можете использовать событие page_block_html_topmenu_gethtml_before.
В версии 1.7+ верхнее меню рассматривается как контейнер, в котором вы можете разместить любую нужную ссылку.
Вот небольшой пример. Ваш наблюдатель может выглядеть следующим образом:

class [Namespace]_[Module]_Model_Observer { 
    public function addItemsToTopmenuItems($observer) { 
     $menu = $observer->getMenu(); 
     $tree = $menu->getTree(); 
     $action = Mage::app()->getFrontController()->getAction()->getFullActionName(); 

     $nodeId = 'some-node-id'; 
     $data = array(
      'name' => Mage::helper('[module]')->__('Title goes here'), 
      'id' => $nodeId, 
      'url' => Mage::getUrl('module/controller/action'), 
      'is_active' => ($action == 'module_controller_action') 
     ); 
     $node = new Varien_Data_Tree_Node($data, 'id', $tree, $menu); 
     $menu->addChild($node); 
     return $this; 
    } 
} 

и объявление события в config.xml

<frontend> 
    <events> 
     <page_block_html_topmenu_gethtml_before> 
      <observers> 
       <[module]> 
        <class>[module]/observer</class> 
        <method>addItemsToTopmenuItems</method> 
       </[module]> 
      </observers> 
     </page_block_html_topmenu_gethtml_before> 
    </events> 
</frontend> 

Это добавит элемент после того, как категории.
Чтобы добавить элементы в начале или в середине меню check this

Примечание: Конечно, это пример. Вы можете заставить свой модуль поддерживать добавление ссылок через панель настроек или что-нибудь еще, что вы можете.

Смежные вопросы