Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- <?php
- defined('C5_EXECUTE') or die(_("Access Denied."));
- $aBlocks = $controller->generateNav();
- global $c;
- $cellWidth=(intval($controller->cellWidth))?intval($controller->cellWidth):'135';
- ?>
- <style>
- #page #header #headerNav, #page #header ul.nav-header { z-index:5 !important }
- ul.sf-menu, ul.sf-menu li, ul.sf-menu ul { z-index: 5 !important }
- <?php if( $controller->layout=='vertical' && $b->getAreaHandle()=='Sidebar' ){ ?>
- #page #central #sidebar { overflow:visible !important }
- <?php } ?>
- #sf-menu<?php echo $bID?> .sf-menu { float:<?php echo $controller->floatNav ?> }
- <?php if(strlen($controller->menuColor)){ ?>
- /* #sf-menu<?php echo $bID?> .sf-menu li{background-color:<?php echo $controller->menuColor ?> !important} */
- <?php } ?>
- <?php if(strlen($controller->menuColorHover)){ ?>
- #sf-menu<?php echo $bID?> /*.sf-menu a:focus, #sf-menu<?php echo $bID?> .sf-menu a:hover, #sf-menu<?php echo $bID?> a:active{background-color:<?php echo $controller->menuColorHover ?> !important }*/
- <?php } ?>
- <?php if(strlen($controller->menuColorTxt)){ ?>
- /*#sf-menu<?php echo $bID?> .sf-menu a, #sf-menu<?php echo $bID?> .sf-menu a:visited, #sf-menu<?php echo $bID?> .sf-menu a:link, #sf-menu<?php echo $bID?> .sf-menu a:hover{ color:<?php echo $controller->menuColorTxt ?> !important }*/
- #sf-menu<?php echo $bID?>, #sf-menu<?php echo $bID?>, #sf-menu<?php echo $bID?>, #sf-menu<?php echo $bID?>{ color:<?php echo $controller->menuColorTxt ?> !important }
- <?php } ?>
- #sf-menu<?php echo $bID?> .sf-menu ul.sf-submenu { width:auto !important; min-width:<?php echo $cellWidth?>px !important; float:left; }
- #sf-menu<?php echo $bID?> .sf-menu ul.sf-submenu li{ width:auto !important; min-width:<?php echo $cellWidth?>px !important; display:block; float:none; position:relative; left:0px; top:0px; height:auto;}
- #sf-menu<?php echo $bID?> .sf-menu ul.sf-submenu li ul { left:100%; position:absolute; top:0px; height:auto; }
- /*IE6 needs a border for some reason to calculate width for submenu positioning. replace with your own color */
- /* #sf-menu<?php echo $bID?> .sf-menu li { border:1px solid <?php echo ($controller->menuColor)?$controller->menuColor:'#fff'?>; border-top:1px solid #fff; border-left:1px solid #fff; } */
- <?php if( intval($controller->autoWidthMode) ){ ?>
- /* IE6 Hack #sf-menu<?php echo $bID?> .sf-menu ul.sf-submenu li{ -border: 1px solid #fff; } */
- #sf-menu<?php echo $bID?> .sf-vertical, #sf-menu<?php echo $bID?> .sf-vertical li { width:100%; display:block }
- #sf-menu<?php echo $bID?> .sf-vertical li:hover ul.sf-submenu,
- #sf-menu<?php echo $bID?> .sf-vertical li.sfHover ul.sf-submenu{ left:100%; display:block; position:absolute; top:0px; width:<?php echo $cellWidth?>px; }
- <?php }else{ ?>
- #sf-menu<?php echo $bID?> .sf-menu { width:auto; }
- #sf-menu<?php echo $bID?> .sf-menu li, #sf-menu<?php echo $bID?> .sf-menu ul.sf-submenu li { width:<?php echo $cellWidth?>px !important; float:left !important; }
- #sf-menu<?php echo $bID?> .sf-menu ul.sf-submenu { width:100%; }
- #sf-menu<?php echo $bID?> .sf-menu ul.sf-submenu li ul { position:absolute; left:<?php echo $cellWidth?>px !important; top:0px; }
- autoArrows :false,
- #sf-menu<?php echo $bID?> .sf-vertical li { width:<?php echo $cellWidth?>px !important; display:block; clear:left; }
- #sf-menu<?php echo $bID?> .sf-vertical li:hover ul, #sf-menu<?php echo $bID?> .sf-vertical li.sfHover ul{ left:<?php echo $cellWidth?>px; display:block }
- <?php } ?>
- </style>
- <?php
- //this will create an array of parent cIDs
- $c = Page::getCurrentPage();
- $inspectC=$c;
- $selectedPathCIDs=array( $inspectC->getCollectionID() );
- $parentCIDnotZero=true;
- while($parentCIDnotZero){
- $cParentID=$inspectC->cParentID;
- if(!intval($cParentID)){
- $parentCIDnotZero=false;
- }else{
- $selectedPathCIDs[]=$cParentID;
- $inspectC=Page::getById($cParentID);
- }
- }
- $verticalClass=($controller->layout=='vertical')?'sf-vertical':'';
- echo("<div id='sf-menu".$bID."'><ul class=\"sf-menu ".$verticalClass."\" >");
- $nh = Loader::helper('navigation');
- $baseLevelBlocks=0;
- $baseLevel=-1;
- $excludeChildrenCIDs=array();
- foreach($aBlocks as $ni) {
- $_c = $ni->getCollectionObject();
- //should the child pages be excluded, based on the 'hide_children_from_superfish' page attribute
- $excludeChildren = $_c->getCollectionAttributeValue('hide_children_from_superfish');
- if($excludeChildren || in_array($_c->getCollectionParentID(),$excludeChildrenCIDs)){
- $excludeChildrenCIDs[]=intval($_c->getCollectionID());
- }
- if ( !$_c->getCollectionAttributeValue('exclude_nav') && !in_array($_c->getCollectionParentID(),$excludeChildrenCIDs) ) {
- $thisLevel = $ni->getLevel();
- if($baseLevel==-1)$baseLevel=$thisLevel;
- if ($thisLevel > $lastLevel) {
- echo("<ul class='sf-submenu'>");
- } else if ($thisLevel < $lastLevel) {
- for ($j = $thisLevel; $j < $lastLevel; $j++) {
- if ($lastLevel - $j > 1) {
- echo("</li></ul>");
- } else {
- echo("</li></ul></li>");
- }
- }
- } else if ($i > 0) {
- echo("</li>");
- }
- $pageLink = false;
- if ($_c->getCollectionAttributeValue('replace_link_with_first_in_nav')) {
- $subPage = $_c->getFirstChild();
- if ($subPage instanceof Page) {
- $pageLink = $nh->getLinkToCollection($subPage);
- }
- }
- if (!$pageLink) {
- $pageLink = $ni->getURL();
- }
- if( $_c->getCollectionAttributeValue('dont_link') ){
- echo('<li><a>' . $ni->getName() . '</a>');
- }elseif ($c->getCollectionID() == $_c->getCollectionID()) {
- echo('<li class="nav-selected"><a class="nav-selected" href="' . $pageLink . '">' . $ni->getName() . '</a>');
- }elseif ( in_array($_c->getCollectionID(),$selectedPathCIDs) && $_c->getCollectionID() != 1 ) { //added css class for path selected, excluded home page
- echo('<li class="nav-path-selected"><a class="nav-path-selected" href="' . $pageLink . '">' . $ni->getName() . '</a>');
- } else {
- echo('<li><a href="' . $pageLink . '">' . $ni->getName() . '</a>');
- }
- //ie min width hack
- if( $thisLevel>0 && intval($controller->autoWidthMode) )
- echo '<div class="ccm-spacer" style="width:'.$cellWidth.'px"></div>';
- $lastLevel = $thisLevel;
- $i++;
- if($thisLevel==$baseLevel) $baseLevelBlocks++;
- }
- }
- $thisLevel = 0;
- for ($i = $thisLevel; $i <= $lastLevel; $i++) {
- echo("</li></ul>");
- }
- echo '</div>';
- //float=='none' is treated as Full Width navigation
- if($controller->floatNav=='none'){ ?>
- <style>
- ul.sf-menu { width:<?php echo $baseLevelBlocks*$cellWidth?>px; margin:auto; float:none; }
- </style>
- <?php } ?>
- <script type="text/javascript">
- // initialise plugins
- $(function(){
- jQuery('ul.sf-menu').superfish({delay:<?php echo (intval($controller->displayTime))?intval($controller->displayTime):800 ?>, autoArrows: false});
- });
- </script>
Add Comment
Please, Sign In to add comment