Guest User

Untitled

a guest
Jan 19th, 2018
75
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 6.83 KB | None | 0 0
  1. <?php
  2. defined('C5_EXECUTE') or die(_("Access Denied."));
  3. $aBlocks = $controller->generateNav();
  4. global $c;
  5.  
  6. $cellWidth=(intval($controller->cellWidth))?intval($controller->cellWidth):'135';
  7. ?>
  8. <style>
  9. #page #header #headerNav, #page #header ul.nav-header { z-index:5 !important }
  10. ul.sf-menu, ul.sf-menu li, ul.sf-menu ul { z-index: 5 !important }
  11.  
  12. <?php if( $controller->layout=='vertical' && $b->getAreaHandle()=='Sidebar' ){ ?>
  13. #page #central #sidebar { overflow:visible !important }
  14. <?php } ?>
  15.  
  16. #sf-menu<?php echo $bID?> .sf-menu { float:<?php echo $controller->floatNav ?> }
  17. <?php if(strlen($controller->menuColor)){ ?>
  18. /* #sf-menu<?php echo $bID?> .sf-menu li{background-color:<?php echo $controller->menuColor ?> !important} */
  19. <?php } ?>
  20. <?php if(strlen($controller->menuColorHover)){ ?>
  21. #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 }*/
  22. <?php } ?>
  23. <?php if(strlen($controller->menuColorTxt)){ ?>
  24. /*#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 }*/
  25. #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 }
  26. <?php } ?>
  27.  
  28. #sf-menu<?php echo $bID?> .sf-menu ul.sf-submenu { width:auto !important; min-width:<?php echo $cellWidth?>px !important; float:left; }
  29. #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;}
  30. #sf-menu<?php echo $bID?> .sf-menu ul.sf-submenu li ul { left:100%; position:absolute; top:0px; height:auto; }
  31.  
  32. /*IE6 needs a border for some reason to calculate width for submenu positioning. replace with your own color */
  33. /* #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; } */
  34.  
  35. <?php if( intval($controller->autoWidthMode) ){ ?>
  36. /* IE6 Hack #sf-menu<?php echo $bID?> .sf-menu ul.sf-submenu li{ -border: 1px solid #fff; } */
  37.  
  38. #sf-menu<?php echo $bID?> .sf-vertical, #sf-menu<?php echo $bID?> .sf-vertical li { width:100%; display:block }
  39. #sf-menu<?php echo $bID?> .sf-vertical li:hover ul.sf-submenu,
  40. #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; }
  41. <?php }else{ ?>
  42. #sf-menu<?php echo $bID?> .sf-menu { width:auto; }
  43. #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; }
  44. #sf-menu<?php echo $bID?> .sf-menu ul.sf-submenu { width:100%; }
  45. #sf-menu<?php echo $bID?> .sf-menu ul.sf-submenu li ul { position:absolute; left:<?php echo $cellWidth?>px !important; top:0px; }
  46.  
  47. autoArrows :false,
  48.  
  49. #sf-menu<?php echo $bID?> .sf-vertical li { width:<?php echo $cellWidth?>px !important; display:block; clear:left; }
  50. #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 }
  51. <?php } ?>
  52. </style>
  53.  
  54. <?php
  55.  
  56. //this will create an array of parent cIDs
  57. $c = Page::getCurrentPage();
  58. $inspectC=$c;
  59. $selectedPathCIDs=array( $inspectC->getCollectionID() );
  60. $parentCIDnotZero=true;
  61. while($parentCIDnotZero){
  62. $cParentID=$inspectC->cParentID;
  63. if(!intval($cParentID)){
  64. $parentCIDnotZero=false;
  65. }else{
  66. $selectedPathCIDs[]=$cParentID;
  67. $inspectC=Page::getById($cParentID);
  68. }
  69. }
  70.  
  71. $verticalClass=($controller->layout=='vertical')?'sf-vertical':'';
  72. echo("<div id='sf-menu".$bID."'><ul class=\"sf-menu ".$verticalClass."\" >");
  73.  
  74. $nh = Loader::helper('navigation');
  75.  
  76. $baseLevelBlocks=0;
  77. $baseLevel=-1;
  78.  
  79. $excludeChildrenCIDs=array();
  80.  
  81. foreach($aBlocks as $ni) {
  82. $_c = $ni->getCollectionObject();
  83.  
  84. //should the child pages be excluded, based on the 'hide_children_from_superfish' page attribute
  85. $excludeChildren = $_c->getCollectionAttributeValue('hide_children_from_superfish');
  86. if($excludeChildren || in_array($_c->getCollectionParentID(),$excludeChildrenCIDs)){
  87. $excludeChildrenCIDs[]=intval($_c->getCollectionID());
  88. }
  89.  
  90. if ( !$_c->getCollectionAttributeValue('exclude_nav') && !in_array($_c->getCollectionParentID(),$excludeChildrenCIDs) ) {
  91.  
  92. $thisLevel = $ni->getLevel();
  93. if($baseLevel==-1)$baseLevel=$thisLevel;
  94. if ($thisLevel > $lastLevel) {
  95.  
  96. echo("<ul class='sf-submenu'>");
  97.  
  98. } else if ($thisLevel < $lastLevel) {
  99. for ($j = $thisLevel; $j < $lastLevel; $j++) {
  100. if ($lastLevel - $j > 1) {
  101. echo("</li></ul>");
  102. } else {
  103. echo("</li></ul></li>");
  104. }
  105. }
  106. } else if ($i > 0) {
  107. echo("</li>");
  108. }
  109.  
  110.  
  111. $pageLink = false;
  112.  
  113. if ($_c->getCollectionAttributeValue('replace_link_with_first_in_nav')) {
  114. $subPage = $_c->getFirstChild();
  115. if ($subPage instanceof Page) {
  116. $pageLink = $nh->getLinkToCollection($subPage);
  117. }
  118. }
  119.  
  120. if (!$pageLink) {
  121. $pageLink = $ni->getURL();
  122. }
  123.  
  124. if( $_c->getCollectionAttributeValue('dont_link') ){
  125. echo('<li><a>' . $ni->getName() . '</a>');
  126. }elseif ($c->getCollectionID() == $_c->getCollectionID()) {
  127. echo('<li class="nav-selected"><a class="nav-selected" href="' . $pageLink . '">' . $ni->getName() . '</a>');
  128. }elseif ( in_array($_c->getCollectionID(),$selectedPathCIDs) && $_c->getCollectionID() != 1 ) { //added css class for path selected, excluded home page
  129. echo('<li class="nav-path-selected"><a class="nav-path-selected" href="' . $pageLink . '">' . $ni->getName() . '</a>');
  130. } else {
  131. echo('<li><a href="' . $pageLink . '">' . $ni->getName() . '</a>');
  132. }
  133.  
  134. //ie min width hack
  135. if( $thisLevel>0 && intval($controller->autoWidthMode) )
  136. echo '<div class="ccm-spacer" style="width:'.$cellWidth.'px"></div>';
  137.  
  138. $lastLevel = $thisLevel;
  139. $i++;
  140.  
  141. if($thisLevel==$baseLevel) $baseLevelBlocks++;
  142.  
  143. }
  144. }
  145.  
  146. $thisLevel = 0;
  147. for ($i = $thisLevel; $i <= $lastLevel; $i++) {
  148. echo("</li></ul>");
  149. }
  150.  
  151. echo '</div>';
  152.  
  153. //float=='none' is treated as Full Width navigation
  154. if($controller->floatNav=='none'){ ?>
  155. <style>
  156. ul.sf-menu { width:<?php echo $baseLevelBlocks*$cellWidth?>px; margin:auto; float:none; }
  157. </style>
  158. <?php } ?>
  159.  
  160. <script type="text/javascript">
  161. // initialise plugins
  162. $(function(){
  163. jQuery('ul.sf-menu').superfish({delay:<?php echo (intval($controller->displayTime))?intval($controller->displayTime):800 ?>, autoArrows: false});
  164. });
  165. </script>
Add Comment
Please, Sign In to add comment