Author Topic: Showmenu2 parent item niet klikbaar  (Read 1016 times)

Offline mgeene

  • Posts: 146
Showmenu2 parent item niet klikbaar
« on: October 16, 2017, 10:55:03 AM »
Hallo,

Ik heb een menu met submenu gemaakt maar ik wil dat het parent menu niet klikbaar is, dus wel dat het submenu zichtbaar wordt als je er met de cursor overheen gaat. Is dit mogelijk? Ik heb de parent link aangemaakt met "menu_link", alleen zo blijft de knop klikbaar.

Alvast bedankt voor je reactie.

Offline jacobi22

  • Posts: 5843
  • Gender: Male
  • Support also via PM or EMail
    • Jacobi22
Re: Showmenu2 parent item niet klikbaar
« Reply #1 on: October 16, 2017, 02:18:13 PM »
you need a solution like this here -> https://forum.WebsiteBaker.org/index.php/topic,26238.msg202469.html#msg202469

the important part is the first definition of $open. for a better view and understanding, i split this code in lines
Quote
$open = '<li class="[if(class=menu-current||class=menu-parent){active}] [if(class==menu-expand){dropdown}]">
[if(class==menu-expand&&level==1)
{<a href="[url]" class="dropdown-toggle" data-toggle="dropdown">[menu_title] <b class="caret"></b></a>}
else
{<a href="[url]">[menu_title]</a>}

]';

purple: set the css-class "active" for the current and his parent menu-item (maybe important for a arrow-icon)
brown: set the css-class "dropdown", if this item has childs - needed in the example for bootstrap
red: condition for the A-links in level 1, here only, if class "menu-expand" and also level 1
green:  build the link for this condition, thats the point to changed for you
blue:    solution, if the condition (red) not work - means: in all other levels

i'm not sure, what you need, but if i understand your post correct, change the red condition nearly to
[if(level==1)  or [if(level==0) - dont know, where your start level is

and the green line to the code, that you need for the items in level 1 or level 0, maybe a simple
<span>[menu_title</span>

thats the way

Wer nicht will, findet Gründe, wer will, findet Wege.

Offline mgeene

  • Posts: 146
Re: Showmenu2 parent item niet klikbaar
« Reply #2 on: October 17, 2017, 04:51:32 PM »
Thanks for your reply, but it doesn't work, the menu item is still clickable.

Offline jacobi22

  • Posts: 5843
  • Gender: Male
  • Support also via PM or EMail
    • Jacobi22
Re: Showmenu2 parent item niet klikbaar
« Reply #3 on: October 17, 2017, 05:36:36 PM »
is it possible, to show us the actual show_menu2-call and some details about the page structure?
Wer nicht will, findet Gründe, wer will, findet Wege.

Offline mgeene

  • Posts: 146
Re: Showmenu2 parent item niet klikbaar
« Reply #4 on: October 23, 2017, 04:40:16 PM »
Here is the call of show_menu2:

Code: [Select]

<?php       
$open '<li class="[if(class=menu-current||class=menu-parent){active}] [if(class==menu-expand){dropdown}]">
[if(class==menu-expand&&level==1)
{<a href="[url]" class="dropdown-toggle" data-toggle="dropdown">[menu_title] <b class="caret"></b></a>}
else
{<a href="[url]">[menu_title]</a>}
]'
;

ob_start(); 
show_menu2(
$aMenu          1,
$aStart         SM2_ROOT
$aMaxLevel      SM2_ALL,
$aOptions       SM2_ALL,
$aItemOpen      $open,
$aItemClose     '</li>',
$aMenuOpen      '<ul>',
$aMenuClose     '<li class="ulend"></li></ul>',
$aTopItemOpen   true,
$aTopMenuOpen   '<ul id="mobile" class="navmenu">'
);
$topmenu ob_get_contents();
        
ob_end_clean();

?>



And the page structure is that i have some the parent menu-items and under some parent menu-items i have 4 or 5 sub pages and where i have sub pages i want that the parent menu-item not clickable is. The page structure is verry simple.


Offline mgeene

  • Posts: 146
Re: Showmenu2 parent item niet klikbaar
« Reply #5 on: October 23, 2017, 04:43:40 PM »
The output of the navigation is:

Code: [Select]

 <nav class="navmenu center">
     <ul id="mobile" class="navmenu">
          <li class="active "><a href="#">home</a></li>
          <li class=" dropdown"><a href="#">de kliniek</a>
               <ul>
                    <li class=" "><a href="#">Over ons</a></li>
                   <li class=" "><a href="#">Onderwijs</a></li>
                   <li class=" "><a href="#">toegankelijkheid voor honden</a></li>
                  <li class="ulend"></li>
               </ul>
          </li>
         <li class=" dropdown"><a href="#">behandelingen</a></li>
         <li class=" dropdown"><a href="#">tarieven</a></li>
         <li class=" "><a href="#">nieuws</a></li>
         <li class=" dropdown"><a href="#">Contact</a>
              <ul>
                   <li class=" "><a href="#">Afspraak maken</a></li>
                   <li class=" "><a href="#">Contact</a></li>
                   <li class=" "><a href="#">Route</a></li>
                   <li class=" "><a href="#">Vacatures </a></li>
                   <li class="ulend"></li>
              </ul>
           </li>
           <li class="ulend"></li>
       </ul>
</nav>



Offline nibz

  • Posts: 683
  • Gender: Male
Re: Showmenu2 parent item niet klikbaar
« Reply #6 on: October 23, 2017, 11:26:36 PM »
Code: [Select]
<?php       
$open '<li class="[if(class=menu-current||class=menu-parent){active}] [if(class==menu-expand){dropdown}]">
[if(class==menu-expand&&level==1)
{<a href="#" class="dropdown-toggle" data-toggle="dropdown">[menu_title] <b class="caret"></b></a>}
else
{<a href="[url]">[menu_title]</a>}
]'
;

ob_start(); 
show_menu2(
$aMenu          1,
$aStart         SM2_ROOT
$aMaxLevel      SM2_ALL,
$aOptions       SM2_ALL,
$aItemOpen      $open,
$aItemClose     '</li>',
$aMenuOpen      '<ul>',
$aMenuClose     '<li class="ulend"></li></ul>',
$aTopItemOpen   true,
$aTopMenuOpen   '<ul id="mobile" class="navmenu">'
);
$topmenu ob_get_contents();
        
ob_end_clean();

?>


ik heb: {<a href="[url]" class="dropdown-toggle" data-toggle="dropdown">[menu_title] <b class="caret"></b></a>}
aangepast naar: {<a href="#" class="dropdown-toggle" data-toggle="dropdown">[menu_title] <b class="caret"></b></a>}

De omliggende conditional statement if(class==menu-expand&&level==1) kijkt of het "hoofdmenu-item" dochterpagina's heeft.
Ik heb dus simpelweg de WebsiteBaker link [url] weggehaald en verplaatst door een lege url #.
Ik heb een lege url gebruikt omdat het kan zijn dat je in jouw CSS gebruik maakt van styling van de <a> selector.

Probeer dit maar even en koppel terug wanneer iets niet werkt, ik help je graag :).

Offline mgeene

  • Posts: 146
Re: Showmenu2 parent item niet klikbaar
« Reply #7 on: October 24, 2017, 07:00:28 PM »
Super dat je wil helpen, ik heb het geprobeerd, maar het geeft geen resultaat, als ik if(class==menu-expand&&level==1) aanpas naar if(class==menu-expand&&level==0) zie ik wel de pijltjes verschijnen, maar de parent-menu item blijft klikbaar.

Offline nibz

  • Posts: 683
  • Gender: Male
Re: Showmenu2 parent item niet klikbaar
« Reply #8 on: October 24, 2017, 07:43:06 PM »
Ik stuur je een PM

Offline nibz

  • Posts: 683
  • Gender: Male
Re: Showmenu2 parent item niet klikbaar
« Reply #9 on: October 31, 2017, 07:34:34 PM »
Code: [Select]
<?php       
$open '<li class="[if(class=menu-current||class=menu-parent){active}] [if(class==menu-expand){dropdown}]">
[if(class==menu-expand&&level==0)
{<a href="#" class="dropdown-toggle" data-toggle="dropdown">[menu_title] <b class="caret"></b></a>}
else
{<a href="[url]">[menu_title]</a>}
]'
;

ob_start(); 
show_menu2(
$aMenu          1,
$aStart         SM2_ROOT
$aMaxLevel      SM2_ALL,
$aOptions       SM2_ALL,
$aItemOpen      $open,
$aItemClose     '</li>',
$aMenuOpen      '<ul>',
$aMenuClose     '<li class="ulend"></li></ul>',
$aTopItemOpen   true,
$aTopMenuOpen   '<ul id="mobile" class="navmenu">'
);
$topmenu ob_get_contents();
        
ob_end_clean();

?>


Hallo mgeene,

Alleen het level moest naar 0 gezet worden omdat jij het menu op root displayt.
Hierboven de gewijzigde code.

 

postern-length