Seite 3 von 5

Re: BC 1.3 Frage zu Menü Syntax

Verfasst: Fr 27. Mär 2020, 14:53
von shadowcat
Falls Du mit mehreren Menüs arbeitest und daher die MenüID mit angeben mußt, änder die erste Zeile:

Code: Alles auswählen

<?php $this->scope["pages"] = CAT_Helper_Page::getPagesForMenu($menu_number); ?>
$menu_number durch die Nummer des Menüs ersetzen, also z.B. 1.

Re: BC 1.3 Frage zu Menü Syntax

Verfasst: Mo 30. Mär 2020, 16:28
von DG70
Soo ... hab Deine Zeilen mal eben in meine header.tpl kopiert und einmal ohne Unterseite, einmal mit Unterseite "gestartet.
Das Dropdown selbst funktioniert, allerdings ohne "aktive" Seite (kein nav-item active) ...

Standard ohne Dropdown:
2020-03-29_ohne_Untermenu-c.png
2020-03-29_ohne_Untermenu-c.png (9.84 KiB) 5343 mal betrachtet

Und hier mit Dropdown:
2020-03-29_mit_Untermenu-c.png
2020-03-29_mit_Untermenu-c.png (22.94 KiB) 5343 mal betrachtet

Das die Ebenen im Bootstrap eingeschränkt sind wusste ich gar nicht, ist erstmal kein "Show-Stopper" :D

Re: BC 1.3 Frage zu Menü Syntax

Verfasst: Mo 30. Mär 2020, 16:40
von shadowcat
Naja, dafür gibt's Lösungen, nur halt nicht out-of-the-box.

Re: BC 1.3 Frage zu Menü Syntax

Verfasst: Mo 30. Mär 2020, 16:51
von shadowcat
active - hab ich beim subitem vergessen. :oops: Steht auch im Beispiel in den Bootstrap Docs nicht drin, daher weiß ich nicht, ob der im <a> richtig ist.

Code: Alles auswählen

<?php $this->scope["pages"] = CAT_Helper_Page::getPages(); ?>

{template pagetree pages}
  {foreach $pages item}
    {if $item.level==0}
    <li class="nav-item{if $item.is_current} active{/if}{if $item.children} dropdown{/if}">
      <a class="nav-link{if $item.children} dropdown-toggle" id="navbarDropdown" role="button" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false"{else}"{/if} href="{$item.href}">{$item.menu_title}{if $item.current} <span class="sr-only">(current)</span>{/if}</a>
      {if $item.children}
      <div class="dropdown-menu" aria-labelledby="navbarDropdown">
          {foreach $pages subitem}{if $subitem.parent==$item.page_id}
          <a class="dropdown-item{if $subitem.is_current} active{/if}" href="{$subitem.href}">{$subitem.menu_title}</a>
          {/if}{/foreach}
      </div>
      {/if}
    </li>
    {/if}
  {/foreach}
{/template}

<nav class="navbar navbar-expand-lg navbar-light bg-light">
  <a class="navbar-brand" href="#">Navbar</a>
  <button class="navbar-toggler" type="button" data-toggle="collapse" data-target="#navbarSupportedContent" aria-controls="navbarSupportedContent" aria-expanded="false" aria-label="Toggle navigation">
    <span class="navbar-toggler-icon"></span>
  </button>

  <div class="collapse navbar-collapse" id="navbarSupportedContent">
    <ul class="navbar-nav mr-auto">
{pagetree $pages}
    </ul>
  </div>
</nav>

Ist ansonsten diese Bedingung:

{if $item.is_current} active{/if}
bzw.
{if $subitem.is_current} active{/if}

Ich hatte nur current geschrieben, is_current sollte richtig sein. Sorry.

Re: BC 1.3 Frage zu Menü Syntax

Verfasst: Mo 30. Mär 2020, 18:33
von DG70
Bin sprachlos ... sieht für mich alles richtig aus :daumen:

Vielen Dank!!

Re: BC 1.3 Frage zu Menü Syntax

Verfasst: Di 31. Mär 2020, 08:31
von shadowcat
JIPPIEH!!! :daumen:

Re: BC 1.3 Frage zu Menü Syntax

Verfasst: Di 14. Apr 2020, 15:38
von creativecat
Jetzt ist mir noch was aufgefallen. Wenn eine Seite nur versteckte Unterseiten hat, dann bekommt die parent trotzdem "has_child", obwohl ja eigentlich keine Unterseiten im Menü angezeigt wird.... ich bin mit der wbList bissl auf Kriegsfuß, aber gib mir vielleicht mal nen Tipp, wo ich das wie anpassen kann ;-)

Re: BC 1.3 Frage zu Menü Syntax

Verfasst: Di 14. Apr 2020, 15:41
von shadowcat
Oh, hm, eigentlich gar nicht... das wäre eher eine Anpassung im Page Helper. Der sollte das Attribut nicht auf true setzen wenn die Unterseiten nicht sichtbar sind.

Edit: Wobei es je nach Kontext ja unterschiedlich ist, ob eine Seite sichtbar ist oder nicht. Es gibt Seiten, die sind nie sichtbar, und solche, die sind nur für bestimmte Besucher sichtbar. Puh...

Ansonsten bei der Variante mit dem HTML-Template die Bedingung entsprechend ändern.

Re: BC 1.3 Frage zu Menü Syntax

Verfasst: Mi 15. Apr 2020, 07:56
von creativecat
Ich hab es jetzt rein mit CSS gelöst - darf man nur nichts am Menü ändern ;-)
Ich glaube für 1.3.x ist das nichts wichtiges mehr, oder?

Re: BC 1.3 Frage zu Menü Syntax

Verfasst: Mi 15. Apr 2020, 08:04
von shadowcat
Ginge zur Not auch mit JavaScript bzw. jQuery, ist zwar unelegant, aber machbar. Ich kann nicht beurteilen, wie viele Seiten von diesem "Bug" betroffen sind, vermutlich nicht sehr viele. Halt nur die, die diese Informationen auch wirklich benutzen, um Seiten, die Kindelemente haben, zu "markieren". Und davon dann wiederum auch nur die, bei denen es dann nur nicht sichtbare Unterseiten gibt.