Exemple #1
0
 /**
  * Get sidebar menu html
  *
  * @param string $outermostClass
  * @param string $childrenWrapClass
  * @return string
  */
 public function getSidebarHtml($outermostClass = '', $childrenWrapClass = '')
 {
     Mage::dispatchEvent('page_block_html_topmenu_gethtml_before', array('menu' => $this->_menu, 'block' => $this));
     $this->_menu->setOutermostClass($outermostClass);
     $this->_menu->setChildrenWrapClass($childrenWrapClass);
     $html = parent::_getHtml($this->_menu, $childrenWrapClass);
     Mage::dispatchEvent('page_block_html_topmenu_gethtml_after', array('menu' => $this->_menu, 'html' => $html));
     return $html;
 }
 /**
  * include submenu items inside a div container with the possibility to add a static block there
  *
  * @param Varien_Data_Tree_Node $menuTree
  * @param string $childrenWrapClass
  * @return string
  */
 protected function _getHtml(Varien_Data_Tree_Node $menuTree, $childrenWrapClass)
 {
     if (!Mage::helper('megamenu')->isMegaMenuEnabled()) {
         return parent::_getHtml($menuTree, $childrenWrapClass);
     }
     $html = '';
     $children = $menuTree->getChildren();
     $parentLevel = $menuTree->getLevel();
     $childLevel = is_null($parentLevel) ? 0 : $parentLevel + 1;
     $counter = 1;
     $childrenCount = $children->count();
     $parentPositionClass = $menuTree->getPositionClass();
     $itemPositionClassPrefix = $parentPositionClass ? $parentPositionClass . '-' : 'nav-';
     foreach ($children as $child) {
         $child->setLevel($childLevel);
         $child->setIsFirst($counter == 1);
         $child->setIsLast($counter == $childrenCount);
         $child->setPositionClass($itemPositionClassPrefix . $counter);
         $outermostClassCode = '';
         $outermostClass = $menuTree->getOutermostClass();
         if ($childLevel == 0 && $outermostClass) {
             $outermostClassCode = ' class="' . $outermostClass . '" ';
             $child->setClass($outermostClass);
         }
         $html .= '<li ' . $this->_getRenderedMenuItemAttributes($child) . '>';
         $html .= '<a href="' . $child->getUrl() . '" ' . $outermostClassCode . '><span>' . $this->escapeHtml($child->getName()) . '</span></a>';
         if ($child->hasChildren()) {
             if (!empty($childrenWrapClass)) {
                 $html .= '<div class="' . $childrenWrapClass . '">';
             }
             if ($childLevel == 0) {
                 $html .= '<div class="submenu-container"><div class="container">';
             }
             $grandChildren = $child->getChildren();
             $grandChildrenCount = $grandChildren->count();
             $columns = ceil($grandChildrenCount / 8);
             $columnsClass = 'columns' . $columns;
             $html .= '<ul class="level' . $childLevel . ' ' . $columnsClass . '">';
             $html .= $this->_getHtml($child, $childrenWrapClass);
             $html .= '</ul>';
             if ($childLevel == 0) {
                 $staticBlock = $this->_getStaticBlockHtml($child);
                 $html .= '<div class="static-container">' . $staticBlock . '</div>';
                 $html .= '</div></div>';
             }
             $html .= '<div class="see-all"><a href="' . $child->getUrl() . '">All ' . $this->escapeHtml($child->getName()) . '</a></div>';
             if (!empty($childrenWrapClass)) {
                 $html .= '</div>';
             }
         }
         $html .= '</li>';
         $counter++;
     }
     return $html;
 }
Exemple #3
0
 protected function _getHtml(Varien_Data_Tree_Node $menuTree, $childrenWrapClass)
 {
     if (!Mage::helper('nav')->getIsActive()) {
         return parent::_getHtml($menuTree, $childrenWrapClass);
     }
     $html = '';
     $children = $menuTree->getChildren();
     $parentLevel = $menuTree->getLevel();
     $childLevel = is_null($parentLevel) ? 0 : $parentLevel + 1;
     $counter = 1;
     $childrenCount = $children->count();
     $parentPositionClass = $menuTree->getPositionClass();
     $itemPositionClassPrefix = $parentPositionClass ? $parentPositionClass . '-' : 'nav-';
     foreach ($children as $child) {
         if ($child->getId() != "category-node-131") {
             $child->setLevel($childLevel);
             $child->setIsFirst($counter == 1);
             $child->setIsLast($counter == $childrenCount);
             $child->setPositionClass($itemPositionClassPrefix . $counter);
             $outermostClassCode = '';
             $outermostClass = $menuTree->getOutermostClass();
             if ($childLevel == 0 && $outermostClass) {
                 $outermostClassCode = ' class="' . $outermostClass . '" ';
                 $child->setClass($outermostClass);
             }
             $html .= '<li ' . $this->_getRenderedMenuItemAttributes($child, 'hide-for-medium-up') . ' >';
             $html .= '<a href="' . $child->getUrl() . '" ' . $outermostClassCode . '>';
             $html .= '' . $this->escapeHtml($child->getName()) . '</a>' . $this->getHaseDropdown($child);
             if ($child->hasChildren()) {
                 if (!empty($childrenWrapClass)) {
                     $html .= '<div class="' . $childrenWrapClass . '">';
                 }
                 $html .= '<ul class="level' . $childLevel . ' dropdown' . '">';
                 $html .= $this->_getHtml($child, $childrenWrapClass);
                 $html .= '</ul>';
                 if (!empty($childrenWrapClass)) {
                     $html .= '</div>';
                 }
             }
             $html .= '</li>';
             //show-for-large-up
             $html .= '<li ' . $this->_getRenderedMenuItemAttributes($child, 'show-for-medium-up') . ' >';
             $html .= '<a href="' . $child->getUrl() . '" ' . $outermostClassCode . ' data-dropdown="' . $child->getId() . '" data-options="is_hover:true">';
             $html .= '' . $this->escapeHtml($child->getName()) . '</a>';
             $html .= '</li>';
             $counter++;
         }
     }
     return $html;
 }